Title: Installation et gestion de paquets
1Installation et gestion de paquets
- Les méthodes d'installation
- Les applications ou logiciels peuvent être
installés de deux manières - 1- par la compilation des programmes sources
- 2- par l'installation de paquetages.
2Installation à partir des sources
- La première et la plus ancienne méthode
d'installation d'applications sur un système
d'exploitation Linux est l'installation en
utilisant les sources de programme. Les
sources sont composées d'un ou plusieurs fichiers
archivés et compressés pour faciliter leur
distribution. Leur forme est souvent
nom-du-programme-et-sa-version.tar.gz.
3Installation à partir des sources (suite)
- Pour pouvoir installer de telles applications, il
est nécessaire de disposer des outils de
décompression, de désarchivage et de compilation
installés sur le système.
4Installation à partir des sources (suite)
- Désarchivage, décompression
- La première étape de l'installation consiste
alors à la décompression puis au désarchivage du
fichier source. - La commande de décompression dépend de l'outil de
compression avec laquelle la compression a été
effectuée. Il existe actuellement trois outils de
compression courants
5Installation à partir des sources (suite)
- Désarchivage, décompression (suite)
Outils de compression Commande de décompression Extension du fichier
compress uncompress .Z
gzip gunzip .gz
bzip bunzip .bz
bzip2 bunzip2 .bz2
6Installation à partir des sources (suite)
- Désarchivage, décompression (suite)
- Ex gunzip nom-du-programme.tar.gz
- Une fois décompressé, le programme peut être
désarchivé. - L'outil d'archivage/désarchivage classique des
systèmes Linux s'appelle tar (tape archive). Tar
est à la fois une commande d'archivage et de
désarchivage.
7Installation à partir des sources (suite)
- Désarchivage, décompression (suite)
- Les options principales de la commande tar sont
les suivantes - -c pour créer l'archive
- -x pour désarchiver
- -f pour indiquer un fichier
- -v pour donner des indications sur le
déroulement du programme. - Ex tar -xvf nom-du-programme.tar
8Installation à partir des sources (suite)
- Désarchivage, décompression (suite)
- Si l'archive originale était un répertoire
entier, toute la structure de son arborescence
sera recréée. - Notons aussi que les versions récentes de la
commande tar permettent la décompression et le
désarchivage avec une seule commande avec les
options supplémentaires suivantes - -z pour la compression à partir de gzip
- -j pour la compression à partir de bzip2.
9Installation à partir des sources (suite)
- Désarchivage, décompression (suite)
- Ex tar -xzvf nom-du-programme.tar.gz
- Ex tar -xjvf nom-du-programme.tar.bz2
10Installation à partir des sources (suite)
- b) Configuration
- L'étape suivante consiste à explorer le
programme. Il est recommandé de toujours lire les
instructions relatives à l'installation de ce
programme. Ces instructions d'installation se
trouvent souvent dans le fichier README ou
INSTALL. - D'autres fichiers du type README.plateforme ou
INSTALL.plateforme, qui correspondent à la
distribution Linux utilisée ou au système
d'exploitation utilisé, peuvent exister en
fonction des programmes.
11Installation à partir des sources (suite)
- b) Configuration (suite)
- La plupart des programmes peuvent générer
automatiquement des fichiers qui facilitent la
compilation du programme. - Ces fichiers sont communément appelés les
makefile dont la génération nécessite l'existence
des outils autoconf sur le système. Les
programmes autoconf inspectent le système ainsi
que les applications déjà installées pour générer
les fichiers makefile.
12Installation à partir des sources (suite)
- b) Configuration (suite)
- Souvent un script nommé configure existe à la
racine du répertoire de votre application. La
commande ./configure lancée à la racine du
répertoire de votre application permet de lancer
les outils autoconf. Afin de bien utiliser ce
script, il est conseillé de connaître les options
qui peuvent être utilisées avec la commande
./configure --help. Notez en particulier l'option
--prefix qui permet de définir où l'application
sera installée (la plupart des programmes utilise
/usr/local comme préfixe par défaut).
13Installation à partir des sources (suite)
- b) Configuration (suite)
- Enfin si le script configure est absent,
l'application peut s'installer avec un fichier
makefile standard.
14Installation à partir des sources (suite)
- c) Compilation, installation
- La procédure d'installation est décrite dans un
des fichiers d'instructions de l'installation du
programme. Néanmoins, la suite la plus courante
de commandes est la suivante - - make ou make all commande à lancer dans la
- racine du répertoire du programme (remarque il
est recommandé de lancer toujours les commandes
./configure et make avec un utilisateur normal - sans être superutilisateur)
15Installation à partir des sources (suite)
- c) Compilation, installation (suite)
- make install permet d'installer les programmes
- compilés sur votre système. Cette commande
nécessited'être superutilisateur si les binaires
sont installés dans /bin, /sbin, /usr ou
/usr/local.
16Installation à partir des sources (suite)
- c) Compilation, installation (suite)
- Si les commandes précédentes se sont déroulées
sans erreurs, l'application est maintenant
installée et prête à être exécutée. - Pour refaire le processus, par exemple en cas de
modification du source du programme, il faut
auparavant faire make clean pour supprimer les
fichiers précédemment générés par la compilation. -
17Installation avec les paquetages
- La deuxième méthode d'installation d'applications
sur un système Linux est l'installation avec les
paquetages (packages) précompilés pour une
architecture. - La plupart des distributions utilisent un système
de gestion de paquetages pour installer,
désinstaller ou mettre à jour ses applications.
18Installation avec les paquetages (suite)
- Pour aller jusqu'à éviter de chercher soi-même
les paquets, certaines distributions linux ont
pris la peine de développer des outils de gestion
des paquets. - Les deux grandes familles d'outils de gestion de
paquetages sont RPM (Red Hat package manager) et
DPKG (Debian packages). - Les paquets sont à linux ce que sont les .exe à
Windows.
19RPM
- Système utilisé originellement par la
distribution Red Hat mais actuellement employé
par bon nombre de distributions (Mandrake, Fedora
Core et Suse). - La gestion des paquetages est principalement
réalisée par la commande rpm. - RPM stocke sa base de données dans le répertoire
/var/lib/rpm.
20RPM (suite)
- Les programmes en format rpm portent souvent la
structure du nom de fichier suivant - nom-version-release.architecture.rpm
- Ex dhcp-3. opl1-23.i386.rpm
21RPM (suite)
- Voici les options courantes de la commande RPM
- -i (ou --install) installe un paquetage
- -U (ou --update) met à jour un paquetage déjà
installé ou installe si ceci n'est pas encore
présent dans le système - -e (ou --erase) désinstalle un paquetage
- -q (ou --query) envoie une requête sur un
paquetage afin d'afficher des informations - -V (ou --verify) vérifie un paquetage
- -F (ou --freshen) met à jour un paquetage déjà
installé - --version affiche la version de la commande rpm
- --help affiche les options de la commande rpm.
22RPM (suite)
- Options à utiliser avec l'option -q (ou --query)
- c affiche la liste des fichiers de configuration
d'un paquetage donné - f affiche le nom du paquetage auquel appartient
un fichier donné - i affiche les informations relatives à un
paquetage - l affiche tous les fichiers et répertoires
relatifs à un paquetage - p spécifie que la requête est spécifique au
fichier du paquetage - b pour créer un paquetage rpm à partir d'un
répertoire contenant les fichiers sources
23RPM (suite)
- répertoire contenant les fichiers sources
- --rebuild pour créer un paquetage à partir d'un
fichier de source rpm - --requires PACKAGE pour connaître la liste des
paquetages dépendants dun paquetage - --whatrequires CAPABILITY pour rechercher les
paquetages qui nécessitent la capacité pour
fonctionner.
24RPM (suite)
- Les options spéciales
- --nodeps pour installer un paquetage sans se
soucier des dépendances - --force pour forcer la mise à jour
- --import pour importer le fichier de signature
d'un paquetage - --checksig vérifie l'authenticité du paquet par
sa signature - h ajoute l'état d'avancement d'un processus en
cours - v mode bavard
- a appliquer l'option à tous les paquets
installés.
25DPKG
- Il s'agit de l'outil de gestion de paquetage pour
la distribution Debian. Il permet d'installer, de
désinstaller, de visualiser, de configurer, de
construire des paquetages Debian.
26DPKG (suite)
- Les options courantes de la commande dpkg sont
- -i nom-application.deb installe l'application
nom-application.deb - -r monsoft.deb désinstalle l'application
nom-application.deb - -l grep appli cherche si le paquetage appli
est installé. Sans le grep, liste tous les
paquetages - -L nom-application liste les fichiers du
paquetage nom-application (s'il est installé) et
leur emplacement - --unpack permet de désarchiver mais de ne pas
effectuer lopération de configuration du
paquetage.
27DPKG (suite)
- La commande dpkg-reconfigure permet de
reconfigurer un paquetage déjà installé. - Les options contrôlant le comportement de la
commande dpkg sont décrites dans le fichier
/etc/dpkg/dpkg.cfg - Les fichiers contenant les informations des bases
de données de paquetages Debian se trouvent dans
larborescence /var/lib/dpkg
28Autres outils Debian
- Il existe d'autres outils Debian permettant la
gestion de paquets. On peut citer principalement
APT, dselect et aptitude - pour les installer
- apt-get install apt ou apt-get install aptitude
- On les lance grâce à Aptitude ou dselect ou
encore apt - aptitude Il permet de faire des recherches sur
une partie du nom du paquet, de voir pour chaque
paquet ceux dont il dépend, ceux qui dépendent de
lui, les paquets qui sont utilisés en association
avec lui, etc.
29Autres outils Debian (suite)
- DPKG est doté d'un autre outil de gestion avancé
appelé APT (Advanced package tool). APT utilise
toujours la commande dpkg mais ajoute des
fonctionnalités supplémentaires la définition de
la source des applications à installer (disques
locaux, CD-ROM ou sur Internet par le protocole
HTTP ou FTP) et la gestion des dépendances. - La définition des sources des applications à
installer s'effectue dans le fichier
/etc/apt/sources.list
30DPKG (suite)
- Les sources définies dans le fichier
/etc/apt/sources.list, se présentent sous la
forme d'une ligne comprenant - type adresse version nom1 nom2 ...
- type peut être "deb" pour les paquets ou
"deb-src" pour les sources de programmes - adresse adresse vers le dossier de la
distribution - version version de la distribution stable,
testing ou unstable - noms nom des sous répertoires de
adresse/dists/version/ Exemple si l'on
possède la version testing de Debian une ligne
comme ceci - deb http//security.debian.org lenny/updates main
contrib non-free
31DPKG (suite)
- dans le fichier /etc/apt/sources.list on peut
ajouter pour les paquets labellé "non US, et pour
les paquet-source de programme - deb ftp.fr.debian.org/debian-non-US testing main
contrib non-free - deb-src ftp.fr.debian.org/debian/ testing main
contrib non-free - Le fichier /etc/apt/sources.list est à éditer "à
la main" en tant que super-utilisateur
32DPKG (suite)
- Les options de fonctionnement générales de la
commande apt sont décrites dans le fichier
apt.conf Le fichier de configuration principal se
trouve dans /etc/apt/apt.conf.d (ou parfois
/etc/apt.conf), les options personnelles peuvent
être modifiées dans un fichier apt.conf se
trouvant dans le répertoire home de
lutilisateur. - apt-get va se connecter à tous les sites indiqués
dans /etc/apt/sources.list, et va rechercher la
liste de programmes disponibles.
33DPKG (suite)
- Les options de base de la commande apt sont
- apt-get install prog installe le paquetage prog
- apt-get remove prog désinstalle le paquetage
prog - apt-get --purge remove prog désinstalle prog et
ses fichiers de configuration - apt-get install prog1 prog2- installe prog1 et
désinstalle prog2 - apt-get remove prog1 prog2 désinstalle prog1 et
installe prog2 - apt-get --reinstall prog1 réinstalle le
paquetage prog1 - apt-get update met à jour la liste des
paquetages disponibles
34DPKG (suite)
- Les options de base de la commande apt (suite)
- apt-get upgrade met à jour tous les paquetages
pouvant être mis à jour - apt-get -u upgrade affiche en plus la liste des
paquetages qui vont être mis à jour - apt-get dist-upgrade met à jour le système tout
entier (nouvelle version de la Debian) - apt-get source ltproggt télécharge la source de
prog - apt-get -b source ltproggt télécharge le
paquetage source de ltproggt et le compile ensuite
- apt-get build-dep ltproggt télécharge les
dépendances du paquetage source ltproggt qui va
être compilé. - apt-get install prog/unstable installe prog
depuis la branche unstable.
35DPKG (suite)
- D'autres commandes de la famille apt existent.
Elles permettent d'avoir des informations sur les
paquetages. Voici les options courantes de ces
commandes - apt-cache search foobar recherche dans la liste
des paquetages disponibles les occurrences de
ltfoobargt - apt-cache show package affiche la description
de ltpackagegt - apt-cache depends package montre les
dépendances de ltpackagegt - apt-file search fichier affiche le nom du
paquetage qui fournit ltfichiergt - apt-file list package affiche le contenu de
ltpackagegt.
36DPKG (suite)
- apt-file maintient une base de données qui est
mise à jour par apt-file update. - Il existe une autre commande de gestion avancée
des paquetages qui apporte quelques améliorations
par rapport à apt - cest loutil dselect. Par exemple, dselect
installe les paquetages recommandés en plus des
paquetages dépendants. - dselect a tendance à laisser sa place à aptitude.
37L'outil ALIEN
- Le programme alien permet de changer un paquetage
en format rpm vers un format dpkg et vice-versa.
- Il peut gérer les paquets rpm, deb. Cependant il
reste et restera sans doute toujours un programme
"de test" qui ne sera jamais efficace a 100 - Pour l'installer, apt-get devrait faire l'affaire
ensuite alien --to-deb paquet.rpm - créera le fichier paquet.deb que vous pourrez
installer par - dpkg -i paquet.deb
38La notion de dépendance des paquets
- Lors de linstallation dun paquet plusieurs
problèmes peuvent avoir lieu le paquet que l'on
souhaite installer (programme_A) nécessite
l'installation d'un autre programme (programme_B)
avant notre programme_A il faut alors aller
chercher le paquet du programme_B pour
l'installer, mais à nouveau celui-ci peut
nécessiter la présence d'un programme_C, et ainsi
de suite... C'est ce que l'on appelle les
dépendances, et cela peut devenir très vite
compliqué si programme_A dépend de prog_a,
prog_b, prog_c et prog_d et que chacun d'eux
dépend également d'une dizaine de programmes...
39La notion de dépendance des paquets (suite)
- Pour simplifier la vie de l'utilisateur, la
plupart des grandes distributions modernes
intègrent un système de gestion des paquets, qui
va avoir pour rôle (entre autres) de gérer les
dépendances à la place de l'utilisateur. Ainsi,
l'installation de programme_A se fera par l'appel
d'une commande et l'outil de gestion ira chercher
sur des sites préalablement définis programme_A,
vérifiera si programme_A dépend d'autres paquets,
et si c'est le cas, il les téléchargera et les
installera dans le bon ordre programme_C, puis
programme_B qui dépend de C, puis programme_A qui
dépendait de B.