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

1. Généralités
2. Dpkg
3. apt-get
4. Avant d'aller plus loin

1. Généralités

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

1.2. Les trois acteurs de la gestion des paquets

Deux programmes s'occupent de la gestion des paquets Debian : dpkg et apt-get :

Tableau 18.1. Les 3 acteurs de la gestion des paquets

Couche Programme Fonction
supérieure apt-get Gestion intelligente des paquets : sources, versions, dépendances et conflits
inférieure dpkg Installation et retrait de paquets

2. Dpkg

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

2.2. Utilisation

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

3. apt-get

3.1. 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. Pour cela, on définit les sources des paquets dans un fichier de configuration. apt-get 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.

apt-get est donc utilisé pour installer et retirer les paquets.

3.2. 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 et non libres

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/ wheezy main [contrib] [non-free]
deb http://security.debian.org/ wheezy/updates main [contrib] [non-free]
...
[Note] Note

Le projet Debian maintient également des dépôts pour des paquets propriétaires, qui sont fournis à titre pratique. Certains périphériques, tels que des cartes wifi ou des cartes graphiques AMD, nécessitent des paquets contenant un micro-programme propriétaire pour fonctionner. Si vous utilisez de tels périphériques, vous devrez (à regret) utilisez ces dépôts non libres.

3.3. 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, sauf ceux qui nécessitent d'en désinstaller d'autres :

    # apt-get 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) :

    # 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 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, consultez le manuel d'apt-get :

% man apt-get

3.4. Rechercher un paquet et afficher sa description

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 :

% apt-cache show paquet1

Par exemple :

% apt-cache 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

4. Avant d'aller plus loin

Mettre à jour son système

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 :

# apt-get update
# apt-get upgrade

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

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 :

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