Table des matières, Menu Principal

Maintenance des paquets

Ce chapitre traite de l'installation et de la maintenance des paquets sous Debian GNU/Linux. La première partie de ce chapitre contient un tutorial, destiné aux utilisateurs qui viennent de terminer le chapitre précédent et qui possède le système de base sur leur machine. La seconde partie est une référence, destinée aux utilisateurs de Debian GNU/Linux qui souhaitent installer, manipuler, effacer, et mettre à jour des paquets.

Qu'est qu'un paquet?

Après avoir installé le système de base (voir chapitre précédent), il y a de grandes chances pour que vous souhaitiez installer un certain nombre de paquets disponibles pour Debian GNU/Linux.

Un paquet contient tout ce qui peut être installé sur le système --documentation, logiciel, etc-- accompagné d'un certain nombre d'informations sur son contenu (description, version, nom des fichiers, comportement par rapport au reste du système, fichiers de configuration, précautions à prendre avant d'installer ou retirer le paquet, ...). Lorsque les paquets sont installés, le système de maintenance des paquets récolte un certain nombre d'information dans sa base de données dans le but de faciliter la manipulation, la suppression, et la mise à jour de chacun d'entre eux. Il permet aussi de vérifier la configuration des paquets.

Concepts de base

Cette section introduit un certain nombre de concepts de base. Il est obligatoire de se familiariser avec ces concepts, vous y serez régulierement confrontés dans les chapitres suivants.

Conflits et dépendances

Comme mentioné dans la section précédente, chaque paquet contient des informations sur son comportement avec le reste du système. Ces informations sont fournies sous la forme de règles de conflits et dépendances.

Un conflit apparait lorsque deux paquets (ou plus) ne peuvent pas être installés sur le système au même moment. Les programmes chargés du transfert du courrier électronique etc... (Mail Transfer Agent) provoquent souvent des conflits avec d'autres paquets. Un seul programme de transfert de mails peut être installé sur le système, puisque ceux-ci effectuent les mêmes fonctions. Debian GNU/Linux inclus cependant deux programmes de transfert de mails : `sendmail' et `smail'. Si les deux programmes sont installés, `sendmail' rentrera en conflits avec `smail', et inversement. Dans tous les cas, si vous essayez d'installer `sendmail' et que `smail' est déja installé sur le système, le système de maintenance des paquets vous empêchera d'installer `sendmail', tant que `smail' ne sera pas retiré du système. L'inverse est bien évidemment vrai.

Une dépendance apparait, lorsqu'un paquet dépend d'un autre paquet pour fonctionner. Exemple : pour lire ses mails, un utilisateur utilise un programme appelé Mail User Agent lecteur de courrier (MUA). Cette catégorie de programme contient `elm', `pine', et Emacs RMAIL. Par contre, ces MUA ne savent pas comment les mails sont delivrés, c'est le rôle du programme de transfert de mails (Mail Transfer Agent). Le rôle de ces programmes est seulement de faciliter la consultation et l'envoi de mails. Pour fonctionner correctement, ils dépendent donc d'un programme de transfert de mail.

Debian GNU/Linux supporte la notion de paquets optionnels et recommendés. Les paquets optionnels sont utiles mais non obligatoires. Les paquets recommandés sont générallement installés même si eux aussi ne sont pas obligatoires.

Classe et Section

Chaque paquet inclus dans la distribution est classifié. Deux classifications de bases sont disponibles : classe et section.

La `classe' d'un paquet indique sa priorité. Il existe quatre classes différentes pour les paquets Debian GNU/Linux.

`Base'
Ces paquets sont inclus dans le système de base.
`Standard'
Ces paquets font partie d'un systeme Linux "standard". Les paquets `Standard' sont installés sur la plupart des systèmes Debian GNU/Linux.
`Recommendé'
Ces paquets ne sont pas considérés comme des paquets standards mais seront très utiles pour la plupart des utilisateurs.
`Optionnel'
Ces paquets ont des usages spécifiques et ne sont destinés qu'à un certain nombre d'utilisateurs. Exemple : paquets d'applications électroniques et mathématiques.

La `section' d'un paquet decrit sa fonctionnalité. Elle indique aussi la situation du paquet sur le CD-ROM et sur les archives FTP. Ils existent plusieurs sections pour les paquets Debian GNU/Linux, et de nouvelles sont fréquemment ajoutées : elles ne seront donc pas décrites ici. La fonctionnalité est souvent évidente à la lecture de la section du paquet. La section `admin' contient des paquets relatifs à l'administration du système, la section `devel' contient des paquets relatifs à la programmation et au développement.

Sélection des Paquets

Avant d'installer les paquets, vous devez dans un premier temps sélectionner ceux que vous souhaitez installer. Pour cela, utilisez le programme `dselect'. Si vous avez terminé d'installer le système de base, `dselect' est automatiquement exécuté. Si ce n'est pas le cas, exécutez `dselect' à partir d'un shell `root'.

La procédure de sélection est nécessaire lorsque vous souhaitez installer un certain nombre de paquets à partir d'une archive. Exemple : le CD-ROM contient l'ensemble des paquets disponibles pour le système, un serveur NFs peut aussi proposer un grand nombre de paquets. Cette procédure permet de définir les paquets à installer ou à ne pas installer. `dselect' offre une sécurité suplémentaire qui évite les conflits et les problèmes de dépendances.

Il est aussi possible d'installer les paquets à partir du shell, sans les avoir au préalable sélectionné. La procédure est décrite dans la section Manipulation de Paquets. Si vous n'avez pas besoin de sélectionner les paquets, rendez-vous directement à cette section.

Debian GNU/Linux `dselect' package handling frontend.

 * 0. [S]etup       Choose the installation method to use.                     
   1. [U]pdate      Update list of available packages, if possible.
   2. [L]ist        Select which packages to install (or deinstall).
   3. [U]npack      Unpack selected software.
   4. [C]onfig      Configure packages that have been unpacked.
   5. [R]emove      Remove software selected for deinstallation.
   6. [Q]uit        Quit dselect.

Use ^P and ^N, cursor keys, initial letters, or digits to select;
Press ENTER to confirm selection.   ^L to redraw screen.

Version 0.93.42.3.  Copyright (C) 1994,1995 Ian Jackson.
This is free software; see the GNU General Public Licence version 2
or later for copying conditions.  There is NO warranty.

Choisir une méthode d'installation

La Debian GNU/Linux peut être installée à partir de plusieurs supports : CD-ROM, disquette, et disque dur. De plus, il existe pour chacun de nombreuses méthodes d'installation. Vous pouvez effectuer une installation disque dur à partir système de fichiers déjà monté, d'un système de fichiers local non monté, ou d'un système de fichiers distant non monté.

Vous devez dans un premier temps préciser à `dselect' comment les paquets seront installés, en choisissant une méthode d'installation. A partir du menu principal, choisissez l'option `[S]etup', en utilisant les flèches ou en appuyant sur la lettre situéé entre crochets (`[ ]'). Lorsque le curseur se trouve sur `[S]etup', appuyez sur ENTER, les différentes méthodes d'installation disponibles seront affichées. Le nombre de méthode peut varier suivant le système.

dselect - list of installation methods
  Abbrev.        Description
* mounted        Install from a directory mounted on your filesystem
  hdnomounted    Install from a hard drive which is not yet mounted
  cdnomounted    Install from a CD-Rom which is not yet mounted
  nfsnomounted   Install over an NFS drive which is not yet mounted

Installation method `mounted'.
This is dselect's installation method selection screen.

Pour choisir une méthode d'installation, utilisez le curseur et appuyez sur enter. Un certain nombre de questions concernant le support d'installation vous seront posées. Vous devrez indiquer le chemin contenant la base de données sur les paquets installés. Si vous possédez une version plus récente, précisez sa localisation et lisez la section suivante. Si ce n'est pas le cas, vous pouvez sauter la section suivante.

Mise à jour de la base de données des paquets disponibles

`dselect' utilise une base de données des paquets disponibles. Cette base de données est utilisée pour renseigner l'utilisateur sur les conflits, les dépendances, les classes, les sections, ... Le système de base contient une copie de cette base de données dans `/var/lib/dpkg/available'. Les paquets évoluent à grande vitesse, il est donc possible que la base de données ne soit pas à jour. Si vous disposez d'une nouvelle version, utilisez l'option `[U]pdate' à partir du menu principal.

Sélection des paquets pour l'installation ou la suppression

Pour choisir les paquets à installer, utilisez l'option `[L]ist'. La liste des paquets et un certain nombre de renseignements (catégorie et description) seront affichés.

Généralités

dselect - main package listing
HSOC Cls Section  Package      Description
 * * Bas base     adduser      Utilities to add users and groups to the system
 * * Bas base     bash         The GNU Bourne-Again SHell.
 * * Bas base     bsdutils     Utilities from 4.4BSD-Lite.
 * * Bas base     chfn         Utilities to change finger information or login
 * * Bas base     diff         GNU diffutils - file comparison utilities
 * * Bas base     dpkg         Package maintenance system for Debian GNU/Linux
 * * Bas base     e2fsprogs    The EXT2 file system utilities.
 * * Bas base     ed           The classic unix line editor
 * * Bas base     fdflush      A band-aid for floppy drives with bad disk-chan
 * * Bas base     fileutils    The GNU file management utilities.
All Base packages in section base.
This is dselect's main package listing screen.

Avant de commencer, il serait préférable d'expliquer le contenu de l'écran précédent :

`H'
???
`S'
???
`O'
???
`C'
???
`Cls'
Indique la classe du paquet (voir section Classe et Section, pour plus d'informations).
`Section'
Indique la section du paquet (voir section Classe et Section, pour plus d'informations).
`Package'
Indique le nom du paquet.
`Description'
Présente rapidement le paquet. Une description plus détaillée est disponible, consultez la section Obtenir une description détaillée pour plus d'informations.

Sélection par groupe ou individuelle

`dselect' permet de sélectionner les paquets individuellement ou par groupe. Après avoir sélectionné l'option `[L]ist', la barre d'état qui se trouve au milieu de l'écran affichera `All Base packages in section base', et tous les paquets de section "base" et de classe "Base" seront mis en surbrillance. Appuyez plusieurs fois sur la touche bas et vous vous appercevrez que de nouveaux paquets seront mis en surbrillance, la barre d'état affichera `All Standard packages in section admin'. Dans ce mode de sélection, il est possible de sélectionner les paquets, et ceux d'une certaine section et d'une certaine classe. (Pour plus d'informations, consultez la section Classe et section.)

Attention! Dans la nouvelle version de dpkd, dselect n'a plus aujourd'hui cette ergonomie.

Vous pouvez changer le mode de sélection en utilisant les touches gauche et droite. La touche gauche permet une sélection générale, et la touche droite un sélection plus spécifique. Exemple, appuyez une fois sur la touche gauche et vous verrez la barre d'état afficher `All Standard packages'. Cela signifie que tous les paquets de la classe "Standard" seront séletionnés, sans regarder leur section. Appuyez ensuite deux fois sur la touche droite, et la barre d'état affichera le nom d'un paquet spécifique, ainsi que des informations sur son état. Ce mode de sélection permet de sélectionner les paquets individuellement plutôt que par groupe.

Obtenir une description étendue

Chaque paquet contient une description étendue. En plus d'une description, vous trouverez des indications sur son utilisation. Notez que les descriptions sont issues du paquets, et non de `dselect' : il est donc possible que certains paquets n'en possèdent pas.

Pour obtenir une description étendue d'un paquet, choisissez le mode de sélection individuelle, positionnez le curseur sur le paquet en question et appuyez sur `i'. Exemple, pour le paquet `dpkg' :

dpkg - Package maintenance system for Debian GNU/Linux

This package contains the programs which handles the installation and      
removal of packages on your system.                                     
The primary interface for the dpkg suite is the `dselect' program; a more
low-level and less user-friendly interface is available in the form of the
`dpkg' command.                                                            

Sélection des paquets

Il est maintenant temps de sélectionner les paquets que vous souhaitez installer. Placez le sélecteur dans le mode approprié avec les touches gauche et droite et positionnez le curseur sur le paquet, ou le groupe de paquets, que vous voulez sélectionner. Utilisez ensuite les touches `+' pour sélectionner le paquet et `-' pour le déSélectionner. Utilisez les touches haut et bas pour faire défiler l'ensemble des packges. Pour plus de renseignements sur la suppression de paquets, consultez la section Supprimer et purger des paquets).

Résoudre les conflits et les dépendances

Il se peut que dans le choix des paquets à installer, des conflits ou des dépendances apparaissent. Si le cas se présente, un écran s'affiche.

Exemple, considérons que le paquet `emacs' vient d'être sélectionné. Deux paquets Emacs sont disponibles : le paquet `emacs-nox' (binaire Emacs sans le support X11) et le paquet `emacs-x' (binaire avec support X11).