compilation à partir du code source
DESCRIPTION
Compilation à partir du code source. Avantages. Pouvoir installer un logiciel avant qu’il ne soit packager Nouvelles fonctionnalités Failles de sécurité Meilleures performances Pouvoir ajouter des fonctionnalités soi-même. Plus de liberté et d’indépendance. - PowerPoint PPT PresentationTRANSCRIPT
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
11
Compilation à partir du code source
Compilation à partir du code source
Pouvoir installer un logiciel avant qu’il ne soit packager Nouvelles fonctionnalités Failles de sécurité Meilleures performances
Pouvoir ajouter des fonctionnalités soi-même.
Plus de liberté et d’indépendance
Pouvoir installer un logiciel avant qu’il ne soit packager Nouvelles fonctionnalités Failles de sécurité Meilleures performances
Pouvoir ajouter des fonctionnalités soi-même.
Plus de liberté et d’indépendance
Avantages
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
22
Compilation à partir du code source
Compilation à partir du code source
Effort supplémentaire pour produire le paquetage
Gestion de configuration
Effort d’intégration (tests et validations)
Effort supplémentaire pour produire le paquetage
Gestion de configuration
Effort d’intégration (tests et validations)
Inconvénients
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
33
Compilation à partir du code source
Compilation à partir du code source
Téléchargement du tar ball les sources sont pliés dans un fichier .tar.gz ou .tgz Télécharger le fichier et le déplier l’arborescence afin de
compiler
Configurer Par convention, un fichier README ou bien INSTALL
documente la procédure de compilation et d’installation Généralement on exécute le script configure fourni dans le tar
ball
Téléchargement du tar ball les sources sont pliés dans un fichier .tar.gz ou .tgz Télécharger le fichier et le déplier l’arborescence afin de
compiler
Configurer Par convention, un fichier README ou bien INSTALL
documente la procédure de compilation et d’installation Généralement on exécute le script configure fourni dans le tar
ball
Mise en oeuvre
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
44
Compilation à partir du code source
Compilation à partir du code source
Compilation (de la cible principale)
make
Installation
make install
Compilation (de la cible principale)
make
Installation
make install
Mise en oeuvre
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
55
Compilation à partir du code source
Compilation à partir du code source
La compilation des sources jabberd-2.0s10.tar.gz, jcr-0.2.4.tar.gz et mu-conference-0.6.0.tar.gz a permit de créer les binaires suivants:
jabberd script perl de lancement des 6 processus quicomposent le serveur jabber
c2s client to server process resolver resolver de nom router routeur des messages entre processus s2s server to server process sm storage manager process muc multi-user conference process
La compilation des sources jabberd-2.0s10.tar.gz, jcr-0.2.4.tar.gz et mu-conference-0.6.0.tar.gz a permit de créer les binaires suivants:
jabberd script perl de lancement des 6 processus quicomposent le serveur jabber
c2s client to server process resolver resolver de nom router routeur des messages entre processus s2s server to server process sm storage manager process muc multi-user conference process
Exemple
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
66
Compilation à partir du code source
Compilation à partir du code source
Le paquetage jabberd-2.0.10-3.i386.rpm produit comprend la distribution de fichiers suivante:
/etc/jabberd/c2s.xml/etc/jabberd/jabberd.cfg/etc/jabberd/muc.xml/etc/jabberd/resolver.xml/etc/jabberd/router-users.xml/etc/jabberd/router.xml/etc/jabberd/s2s.xml/etc/jabberd/sm.xml/etc/jabberd/templates/roster.xml/etc/rc.d/init.d/jabberd
Le paquetage jabberd-2.0.10-3.i386.rpm produit comprend la distribution de fichiers suivante:
/etc/jabberd/c2s.xml/etc/jabberd/jabberd.cfg/etc/jabberd/muc.xml/etc/jabberd/resolver.xml/etc/jabberd/router-users.xml/etc/jabberd/router.xml/etc/jabberd/s2s.xml/etc/jabberd/sm.xml/etc/jabberd/templates/roster.xml/etc/rc.d/init.d/jabberd
Exemple
/usr/share/jabberd/bin/c2s
/usr/share/jabberd/bin/jabberd
/usr/share/jabberd/bin/muc
/usr/share/jabberd/bin/resolver
/usr/share/jabberd/bin/router
/usr/share/jabberd/bin/s2s
/usr/share/jabberd/bin/sm
/usr/share/jabberd/doc/jabberd_guide.pdf
/usr/share/jabberd/man/man8/c2s.8
/usr/share/jabberd/man/man8/jabberd.8
/usr/share/jabberd/man/man8/resolver.8
/usr/share/jabberd/man/man8/router.8
/usr/share/jabberd/man/man8/s2s.8
/usr/share/jabberd/man/man8/sm.8/usr/share/jabberd/sql/db-setup.pgsql
/usr/share/jabberd/bin/c2s
/usr/share/jabberd/bin/jabberd
/usr/share/jabberd/bin/muc
/usr/share/jabberd/bin/resolver
/usr/share/jabberd/bin/router
/usr/share/jabberd/bin/s2s
/usr/share/jabberd/bin/sm
/usr/share/jabberd/doc/jabberd_guide.pdf
/usr/share/jabberd/man/man8/c2s.8
/usr/share/jabberd/man/man8/jabberd.8
/usr/share/jabberd/man/man8/resolver.8
/usr/share/jabberd/man/man8/router.8
/usr/share/jabberd/man/man8/s2s.8
/usr/share/jabberd/man/man8/sm.8/usr/share/jabberd/sql/db-setup.pgsql
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
77
Compilation à partir du code source
Compilation à partir du code source
InstallationCe paquetage s'installe à l'aide la commande
rpm -i /usr/src/redhat/RPMS/i386/jabberd-2.0-10.i386.rpm
InstallationCe paquetage s'installe à l'aide la commande
rpm -i /usr/src/redhat/RPMS/i386/jabberd-2.0-10.i386.rpm
Exemple
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
88
Compilation à partir du code source
Compilation à partir du code source
L’arborescence utilisée (par défaut) est
/usr/src/redhat/BUILD/ répertoire de construction
/usr/src/redhat/RPMS/ paquetages
/usr/src/redhat/SOURCES/ tarball installé par *.src.rpm
/usr/src/redhat/SPECS/ *.spec installé par *.src.rpm
/usr/src/redhat/SRPMS/ copie des *.src.rpm (convention)
L’arborescence utilisée (par défaut) est
/usr/src/redhat/BUILD/ répertoire de construction
/usr/src/redhat/RPMS/ paquetages
/usr/src/redhat/SOURCES/ tarball installé par *.src.rpm
/usr/src/redhat/SPECS/ *.spec installé par *.src.rpm
/usr/src/redhat/SRPMS/ copie des *.src.rpm (convention)
*.src.rpm
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
99
Compilation à partir du code source
Compilation à partir du code source
Exemple d’installation des sources
/# rpm -qpl /usr/src/redhat/SRPMS/jabber-1.4.2-3.src.rpmhowto-1.4.htmljabber-1.4.2.tar.gzjabber-FHS.patchjabber-ssl_dos_fix.patchjabber.specjabberd.initjabberd.sysconfig
# ls -l /usr/src/redhat/SPECS/ /usr/src/redhat/SOURCES//usr/src/redhat/SOURCES/:total 744-r--r--r-- 1 root users 39121 jui 25 2002 howto-1.4.html-rw-r--r-- 1 root users 691919 jui 25 2002 jabber-1.4.2.tar.gz-r--r--r-- 1 root users 4778 jui 25 2002 jabberd.init-r--r--r-- 1 root users 379 jui 25 2002 jabberd.sysconfig-r--r--r-- 1 root users 4940 jui 25 2002 jabber-FHS.patch-r--r--r-- 1 root users 1973 jui 25 2002 jabber-ssl_dos_fix.patch
/usr/src/redhat/SPECS/:total 8-r--r--r-- 1 root users 5314 nov 12 23:48 jabber.spec
Exemple d’installation des sources
/# rpm -qpl /usr/src/redhat/SRPMS/jabber-1.4.2-3.src.rpmhowto-1.4.htmljabber-1.4.2.tar.gzjabber-FHS.patchjabber-ssl_dos_fix.patchjabber.specjabberd.initjabberd.sysconfig
# ls -l /usr/src/redhat/SPECS/ /usr/src/redhat/SOURCES//usr/src/redhat/SOURCES/:total 744-r--r--r-- 1 root users 39121 jui 25 2002 howto-1.4.html-rw-r--r-- 1 root users 691919 jui 25 2002 jabber-1.4.2.tar.gz-r--r--r-- 1 root users 4778 jui 25 2002 jabberd.init-r--r--r-- 1 root users 379 jui 25 2002 jabberd.sysconfig-r--r--r-- 1 root users 4940 jui 25 2002 jabber-FHS.patch-r--r--r-- 1 root users 1973 jui 25 2002 jabber-ssl_dos_fix.patch
/usr/src/redhat/SPECS/:total 8-r--r--r-- 1 root users 5314 nov 12 23:48 jabber.spec
*.src.rpm
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
1010
Compilation à partir du code source
Compilation à partir du code source
Exemple de compilation
# rpmbuild -bb /usr/src/redhat/SPECS/jabber.spec…Vérification des fichiers non empaquetés: /usr/lib/rpm/check-files /%{tmpdir}/jabber-1.4.2-
root-rootEcrit: /usr/src/redhat/RPMS/i386/jabber-1.4.2-3.i386.rpmEcrit: /usr/src/redhat/RPMS/i386/jabber-devel-1.4.2-3.i386.rpmEcrit: /usr/src/redhat/RPMS/i386/jabber-debuginfo-1.4.2-3.i386.rpmExécution_de(%clean): /bin/sh -e /var/tmp/rpm-tmp.5033+ umask 022+ cd /usr/src/redhat/BUILD+ cd jabber-1.4.2+ rm -rf '/%{tmpdir}/jabber-1.4.2-root-root'+ exit 0
Exemple de compilation
# rpmbuild -bb /usr/src/redhat/SPECS/jabber.spec…Vérification des fichiers non empaquetés: /usr/lib/rpm/check-files /%{tmpdir}/jabber-1.4.2-
root-rootEcrit: /usr/src/redhat/RPMS/i386/jabber-1.4.2-3.i386.rpmEcrit: /usr/src/redhat/RPMS/i386/jabber-devel-1.4.2-3.i386.rpmEcrit: /usr/src/redhat/RPMS/i386/jabber-debuginfo-1.4.2-3.i386.rpmExécution_de(%clean): /bin/sh -e /var/tmp/rpm-tmp.5033+ umask 022+ cd /usr/src/redhat/BUILD+ cd jabber-1.4.2+ rm -rf '/%{tmpdir}/jabber-1.4.2-root-root'+ exit 0
*.src.rpm
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
1111
Compilation à partir du code source
Compilation à partir du code source
Nettoyage
# rpmbuild --clean /usr/src/redhat/SPECS/jabber.specExécution_de(--clean): /bin/sh -e /var/tmp/rpm-tmp.43406+ umask 022+ cd /usr/src/redhat/BUILD+ rm -rf jabber-1.4.2+ exit 0[root@siemens root]# ls -l /usr/src/redhat/BUILDtotal 0
Nettoyage
# rpmbuild --clean /usr/src/redhat/SPECS/jabber.specExécution_de(--clean): /bin/sh -e /var/tmp/rpm-tmp.43406+ umask 022+ cd /usr/src/redhat/BUILD+ rm -rf jabber-1.4.2+ exit 0[root@siemens root]# ls -l /usr/src/redhat/BUILDtotal 0
*.src.rpm
Master 1 ère année Sécurité des Systèmes
Informatique
Master 1 ère année Sécurité des Systèmes
Informatique
1212
Compilation à partir du code source
Compilation à partir du code source
PGCE (Procédé de Génération du Code Exécutable)
PGCE (Procédé de Génération du Code Exécutable)