Chapitre 5. Le système de gestion des paquets Debian

Généralités
Dpkg
Apt-get
Dselect
Avant d'aller plus loin...

Généralités

Qu'est-ce qu'un paquet ?

Ceci avait été abordé dans la première partie de cette formation à la section Qu'est-ce qu'un paquet ?.

Les trois acteurs de la gestion des paquets

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

Dpkg

Utilité

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.

Utilisation

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

Utilité

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.

Définir les sources des paquets

La théorie

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.

Ajouter les sources de contribution

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
...

Utilisation

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

Rechercher un paquet et afficher sa description

Pour chercher un paquet dans la base des paquets disponibles, utilisez la commande suivante :

% apt-cache search liste_de_mots_clés

Note

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

Note

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

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.

Avant d'aller plus loin...

Configurer... l'outil de configuration Debian !

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.

Compléter l'installation de vim

Note

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.

Installer un nouveau pager : most

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.

Installer quelques utilitaires

Nous allons installer quelques utilitaires qui nous serviront par la suite :

# apt-get install pciutils usbutils w3m