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, apt-get et dselect :
Tableau 5.1. Les 3 acteurs de la gestion des paquets
Couche | Programme | Fonction |
---|---|---|
supérieure | apt-get 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 à savoir sont les suivantes :
Installe 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ésinstalle le paquet paquet1
mais ne supprime pas ses fichiers de configuration :
#
dpkg -r paquet1
Désinstalle
le paquet paquet1
et supprime ses fichiers de
configuration :
#
dpkg -r --purge paquet1
Reconfigure le paquet paquet1
qui
est déjà installé :
#
dpkg-reconfigure paquet1
Donne 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
Affiche la liste des fichiers installés par le paquet vim :
%
dpkg -L vim
Affiche 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
Apt-get est la couche qui apporte une certaine intelligence et une grande facilité d'utilisation au système de gestion des paquets Debian. Avec apt-get, on définit les sources des paquets dans un fichier de configuration et il gère l'installation et le retrait des paquets en tenant compte des dépendances ainsi que le téléchargement des paquets s'ils sont sur une source réseau.
Apt-get est donc utilisé pour installer et retirer les paquets inclus dans la distribution ainsi que des paquets qui peuvent être inclus dans les sources.
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.
Les sources de paquets ont déja été définies lors de l'installation. Mais il ne s'agit que des sources officielles de Debian. Le projet Debian maintient également des dépots pour les paquets qui ne respecte pas strictement les principes du logiciel libre selon Debian. Il s'agit des dépôts contrib et non-free.
Si vous souhaitez bénéficier de ces paquets à « moitié libres » ou non libres, éditez votre fichier /etc/apt/sources.list
pour rajouter à la fin de chaque dépôt réseau les mots contrib non-free. Il doit ressembler à ceci (les dépôts utilisés peuvent être différents) :
deb http://ftp.fr.debian.org/debian/ etch main contrib non-free deb http://security.debian.org/ etch/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) :
#
apt-get update
Met à jour tous les paquets déjà installés à la dernière version disponibles dans les sources :
#
apt-get upgrade
Idem que la commande précédente, mais cette commande est optimisée pour les migrations vers une version supérieure de Debian (par exemple passer de la version stable à la version instable) :
#
apt-get dist-upgrade
Installe les paquets paquet1
et
paquet2
et tous les paquets dont ils dépendent
:
#
apt-get install paquet1 paquet2
Désinstalle le paquet paquet1
sans effacer ses fichiers de configuration :
#
apt-get remove paquet1
Idem que la commande précédente mais ses fichiers de configuration sont supprimés :
#
apt-get remove --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) :
#
apt-get clean
Pour plus d'informations ou pour avoir la liste complète des options disponibles, lisez le très complet APT HOWTO ou consultez le manuel d'apt-get :
%
man apt-get
Pour chercher un paquet dans la base des paquets disponibles, 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 :
g77 - The GNU Fortran 77 compiler.
Pour afficher les caractéristiques et la description du paquet paquet1, utilisez la commande suivante :
%
apt-cache show paquet1
Par exemple :
%
apt-cache show g77
Package: g77 Priority: optional Section: devel Installed-Size: 40 Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org> Architecture: i386 Source: gcc-defaults (0.21) Version: 2:2.95.4-14 Provides: fortran-compiler Depends: cpp (>= 2:2.95.4-14), g77-2.95, gcc-2.95 Suggests: g77-2.95-doc Filename: pool/main/g/gcc-defaults/g77_2.95.4-14_i386.deb Size: 1390 MD5Sum: cffe224f712694d8ef91eefdb983aec3 Description: The GNU Fortran 77 compiler. This is the GNU g77 Fortran compiler, which compiles Fortran 77 on platforms supported by the gcc compiler. It uses the gcc backend to generate optimized code. . This is a dependency paquet providing the default GNU Fortran 77 compiler for Debian GNU/Linux systems (version 2.95.4 for architecture i386). Task: fortran-dev
Dselect est une alternative à apt-get pour la gestion intelligente des paquets.
Il a un certain nombre d'avantages par rapport à apt-get, 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. J'ai donc décidé de ne pas expliquer dans ce chapitre l'utilisation de dselect ; vous trouverez une explication détaillée de son utilisation dans l'annexe Utiliser Dselect.
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.
Les utilisateurs de la méthode netinstall peuvent maintenant installer vim. Il suffit pour cela de taper la commande :
#
apt-get install vim
Vous pouvez maintenant procéder à la configuration de vim, en retournant au chapitre Installation du fichier de configuration.
Maintenant que, quelle que soit la méthode que vous avez utilisée, 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 :
#
apt-get 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.
#
apt-get 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.