Ceci avait été abordé dans la première partie de cette formation à la section Qu'est-ce qu'un paquet ?.
Trois programmes s'occupent de la gestion des paquets Debian : dpkg, aptitude et dselect :
Tableau 18.1. Les 3 acteurs de la gestion des paquets
Couche | Programme | Fonction |
---|---|---|
supérieure | aptitude ou dselect | Gestion intelligente des paquets : sources, versions, dépendances et conflits |
inférieure | dpkg | Installation et retrait de paquets |
Il faut éviter de l'utiliser en temps normal pour installer et désinstaller des paquets, puisqu'il ne gère pas les dépendances entre paquets.
Par contre, c'est souvent le seul moyen d'installer des paquets qui ne sont pas présents dans la distribution. Il faut alors télécharger les fichiers correspondant aux paquets et les installer avec la commande dpkg.
Les commandes à connaître sont les suivantes :
Installer les paquets paquet1
et
paquet2
(comme dpkg ne gère pas les dépendances,
il faut installer en même temps les paquets qui dépendent l'un de
l'autre ; si une ancienne version du paquet est déjà installée, elle
sera remplacée) :
#
dpkg -i paquet1_0.1_i386.deb paquet2_0.2_i386.deb
Désinstaller le paquet paquet1
mais ne supprime pas ses fichiers de configuration :
#
dpkg -r paquet1
Désinstaller
le paquet paquet1
et supprime ses fichiers de
configuration :
#
dpkg -r --purge paquet1
Reconfigurer le paquet paquet1
déjà installé :
#
dpkg-reconfigure paquet1
Indiquer le nom du paquet qui a installé le fichier
/usr/bin/vim
(la réponse est facile, c'est le
paquet vim !) :
%
dpkg -S /usr/bin/vim
Afficher la liste des fichiers installés par le paquet vim :
%
dpkg -L vim
Afficher la liste des paquets installés :
%
dpkg -l
Pour plus d'informations ou pour avoir la liste complète des options disponibles, consultez le manuel de dpkg :
%
man dpkg
aptitude est la couche qui apporte une certaine intelligence et une grande facilité d'utilisation au système de gestion des paquets Debian. Pour cela, on définit les sources des paquets dans un fichier de configuration. aptitude gère ensuite l'installation et le retrait des paquets, en tenant compte de leurs dépendances, et s'occupe d'aller chercher les paquets sur vos cd ou dvd, ou de les télécharger s'ils sont sur une source réseau.
aptitude est donc utilisé pour installer et retirer les paquets.
Les sources des paquets sont définies dans le fichier de configuration
/etc/apt/sources.list
. Une source doit tenir sur
une seule ligne (pas de retour à la ligne au milieu de la définition
d'une source) et commencer par un des deux mots clés suivants :
deb pour définir une source de paquets binaires ;
deb-src pour définir une source de paquets sources (cela n'intéressera que les développeurs qui veulent examiner le code source des programmes).
Pour ajouter ou retirer une source réseau ou fichier, il faut éditer le fichier « à la main ».
Pour ajouter comme source un cd ou dvd Debian, il faut exécuter la commande suivante :
#
apt-cdrom add
Pour enlever un cd ou dvd Debian de la liste des sources, il faut éditer le fichier et supprimer la ligne correspondant au cd ou au dvd.
Vous trouverez tous les détails sur la syntaxe dans man sources.list.
Si vous disposiez déja d'une connexion à Internet, vous avez déja dû définir les sources de paquets. Mais il ne s'agit que des sources officielles de Debian. Le projet Debian maintient également des dépots pour les paquets qui ne respectent pas strictement les principes du logiciel libre selon Debian. Il s'agit des dépôts contrib, contenant des logiciels libres mais basés sur d'autres non libres (c'est souvent le cas des programmes écrits en Java) et non-free, contenant des logiciels non libres.
Si vous n'avez pas défini les sources de paquets lors de l'installation,
ou si vous souhaitez bénéficier de ces paquets non libres, éditez votre
fichier /etc/apt/sources.list
. Pour définir les dépots
utilisés, ajoutez les lignes de définition suivantes. Pour utiliser
également les dépots non-libres, rajouter à la fin de chaque dépôt réseau
le mot non-free. Il doit ressembler à ceci (les dépôts
utilisés peuvent être différents) :
deb http://ftp.fr.debian.org/debian/ squeeze main [contrib] [non-free] deb http://security.debian.org/ squeeze/updates main [contrib] [non-free] ...
Les commandes à savoir sont les suivantes :
Met à jour la liste des paquets disponibles (pour les sources réseau ou fichier, il doit aller voir si elles ont été mises à jour, pour les sources cd, il ne fait rien de particulier) :
#
aptitude update
Met à jour tous les paquets déjà installés à la dernière version disponibles dans les sources, sauf ceux qui nécessitent d'en désinstaller d'autres :
#
aptitude safe-upgrade
Idem que la commande précédente, mais cette commande effectue également des désinstallations des dépendances qui ont pu changer (par exemple lors d'un passage de la version stable à la version instable de Debian) :
#
aptitude full-upgrade
Installe les paquets paquet1
et
paquet2
et tous les paquets dont ils dépendent
:
#
aptitude install paquet1 paquet2
Désinstalle le paquet paquet1
sans effacer ses fichiers de configuration :
#
aptitude remove paquet1
Idem que la commande précédente mais ses fichiers de configuration sont supprimés :
#
aptitude purge paquet1
Efface du disque dur les paquets téléchargés pour être installés (inutile quand la source est un cd ou un fichier du système de fichiers local) :
#
aptitude clean
Pour plus d'informations ou pour avoir la liste complète des options disponibles, consultez le manuel d'aptitude :
%
man aptitude
Pour chercher un paquet dont le nom ou la description contient certains mots, utilisez la commande suivante :
%
apt-cache search liste_de_mots_clés
Par exemple, pour chercher un compilateur Fortran, tapez :
%
apt-cache search fortran compiler
Il recherche alors les termes fortran et compiler dans la description de tous les paquets disponibles. Dans les réponses, vous obtenez notamment :
gfortran - The GNU Fortran 95 compiler.
Pour afficher les caractéristiques et la description du paquet paquet1, utilisez la commande suivante :
%
aptitude show paquet1
Par exemple :
%
aptitude show gfortran
Paquet : gfortran État: non installé Version : 4:4.3.1-2 Priorité : optionnel Section : devel Responsable : Debian GCC Maintainers <debian-gcc@lists.debian.org> Taille décompressée : 41,0k Dépend: cpp (>= 4:4.3.1-2), gcc (>= 4:4.3.1-2), gfortran-4.3 (>= 4.3.1-1) Suggère: gfortran-multilib, gfortran-doc Fournit: fortran-compiler Description : The GNU Fortran 95 compiler This is the GNU Fortran 95 compiler, which compiles Fortran 95 on platforms supported by the gcc compiler. It uses the gcc backend to generate optimized code. This is a dependency package providing the default GNU Fortran 95 compiler. Étiquettes: devel::compiler, devel::lang:fortran, role::dummy, suite::gnu
Dselect est une alternative à aptitude pour la gestion intelligente des paquets.
Il a un certain nombre d'avantages par rapport à aptitude, mais il a aussi de nombreux inconvénients, notamment la complexité d'utilisation pour un débutant ainsi que la difficulté de résoudre les problèmes de dépendance.
Des problèmes de sécurité sont régulièrement découverts dans les logiciels, et sont rapidement corrigés. Il est donc possible que des mises à jour importantes soient disponibles. Pour les installer, tapez :
#
aptitude update
#
aptitude safe-upgrade
Debconf est l'outil de configuration des paquets Debian. Quand vous installerez de nouveaux logiciels qui nécessitent une configuration, il vous posera quelques questions. Par défaut, Debconf est réglé pour un débutant qui ne souhaite pas se poser trop de questions. Nous allons donc le régler de façon un peu plus curieuse :
#
dpkg-reconfigure debconf
Il vous demande alors quelle interface vous souhaitez utiliser : conservez l'interface Dialogue. Quant à la priorité des questions, choisissez élevée.
Maintenant que, vous avez accès à l'intégralité des paquets, vous allez pouvoir compléter l'installation de Vim, en installant le programme par, qui permet de reformater du texte dans Vim :
#
aptitude install par
Ce programme apporte deux nouvelles fonctions à vim quand vous êtes en mode commande :
la touche # coupe les lignes d'un paragraphe à 72 caractères (on dit wrapper), ce qui est la norme pour les documents texte que vous envoyez (mail, post dans les news...) ;
la touche @ fait la même chose que # mais en justifiant le texte.
Le pager est un programme qui sert à afficher du texte. Vous avez le choix entre plusieurs programmes, grâce à un mécanisme d'alternatives. Je vous propose d'installer et d'utiliser most, un pager qui permet entre autres de colorer les pages de manuel.
#
aptitude install most
#
update-alternatives --config pager
La seconde commande vous demande de choisir le pager à utiliser. Répondez en donnant le numéro qui correspond à most. Maintenant, c'est ce programme qui sera utilisé pour afficher les manuels.