[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ suivant ]


APT HOWTO (Obsolete Documentation)
Chapitre 5 - Avoir des informations sur les paquets


Il y a quelques interfaces pour le système apt qui facilitent indubitablement l'obtention d'une liste de paquets qui sont disponibles pour l'installation ou qui sont déjà installés, de même que pour rechercher la section dans laquelle se trouve un paquet, sa priorité, sa description, etc.

Mais... notre but ici est d'apprendre comment utiliser le vrai apt. Donc comment pouvez-vous retrouver le nom d'un paquet que vous voulez installer ?

Nous avons un bon nombre de recours pour cette tâche. Nous commencerons avec apt-cache. Ce programme est utilisé par le système apt pour le maintien de sa base de données. Nous jetterons un bref coup d'oeil à ses applications les plus pratiques.


5.1 Recherche de noms de paquets

Supposons, par exemple, que vous voulez vous rappeler les bons vieux jours de l'Atari 2600. Vous voulez utiliser apt pour installer un émulateur Atari, puis télécharger quelques jeux. Vous pouvez faire :

     # apt-cache search atari
     atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
     circuslinux - The clowns are trying to pop balloons to score points!
     madbomber - A Kaboom! clone
     tcs - Character set translator.
     atari800 - Atari emulator for svgalib/X/curses
     stella - Atari 2600 Emulator for X windows
     xmess-x - X binaries for Multi-Emulator Super System

Nous trouvons différents paquets relatifs à ce que nous cherchons, accompagnés d'une brève description. Pour avoir des informations sur un paquet spécifique, je peux alors utiliser :

     # apt-cache show stella
     Package: stella
     Priority: extra
     Section: non-free/otherosfs
     Installed-Size: 830
     Maintainer: Tom Lear <tom@trap.mtview.ca.us>
     Architecture: i386
     Version: 1.1-2
     Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
     Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
     Size: 483430
     MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
     Description: Atari 2600 Emulator for X windows
      Stella is a portable emulator of the old Atari 2600 video-game console
      written in C++.  You can play most Atari 2600 games with it.  The latest
      news, code and binaries for Stella can be found at:
      http://www4.ncsu.edu/~bwmott/2600

Depuis cette sortie vous avez plein de détails sur le paquet que vous voulez (ou ne voulez pas) installer, accompagnés de la description complète du paquet. Si le paquet est déjà installé sur votre système et qu'il y a une nouvelle version, vous verrez les informations des deux versions. Par exemple :

     [root]@[/] # apt-cache show lilo
     Package: lilo
     Priority: important
     Section: base
     Installed-Size: 271
     Maintainer: Russell Coker <russell@coker.com.au>
     Architecture: i386
     Version: 1:21.7-3
     Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
     Suggests: lilo-doc
     Conflicts: manpages (<<1.29-3)
     Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
     Size: 143052
     MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text
      screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
     
     Package: lilo
     Status: install ok installed
     Priority: important
     Section: base
     Installed-Size: 190
     Maintainer: Vincent Renardias <vincent@debian.org>
     Version: 1:21.4.3-2
     Depends: libc6 (>= 2.1.2)
     Recommends: mbr
     Suggests: lilo-doc
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text
      screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Notez que le premier de la liste est le paquet disponible et le second est celui déjà installé. Pour plus d'informations générales sur un paquet, vous pouvez utiliser :

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions:
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_b
     inary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends:
     Dependencies:
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0)
      libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3)
     Provides:
     1.4.5-1 -
     Reverse Provides:

Et pour rechercher de quels paquets il dépend :

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

En résumé, nous avons une série d'armes que nous pouvons utiliser pour rechercher le nom d'un paquet que nous voulons.


5.2 Utilisation de dpkg pour trouver le nom des paquets

Une des solutions pour localiser le nom d'un paquet est de connaître le nom d'un fichier important trouvé dans le paquet. Par exemple, pour trouver le paquet qui fournit un fichier « .h » particulier dont vous avez besoin pour compiler, vous pouvez lancer :

     # dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

ou :

     # dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Pour trouver le nom de paquets installés sur votre système, ce qui est utile, par exemple, si vous prévoyez de nettoyer votre disque dur, vous pouvez lancer :

     # dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

Le problème avec cette commande est qu'elle peut « casser » le nom des paquets. Dans l'exemple ci-dessus, le nom complet du paquet est mozilla-browser. Pour arranger cela, vous pouvez utiliser la variable d'environnement COLUMNS comme ceci :

     [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

ou la description ou une partie de celle-ci comme cela :

     # apt-cache search "Mozilla Web Browser"
     mozilla-browser - Mozilla Web Browser

5.3 Comment installer des paquets « à la demande » ?

Vous compilez un programme et, tout à coup : patatras ! Il y a une erreur parce qu'il faut un fichier .h que vous n'avez pas. Le programme auto-apt peut vous sauver de ces scénarios. Il vous demande d'installer des paquets nécessaires, en stoppant le processus, et en continuant une fois que le paquet est installé.

Ce que vous avez simplement à faire est de lancer :

     # auto-apt run commande

Où « commande » est la commande à exécuter qui devrait nécessiter des fichiers qui ne sont pas disponibles. Par exemple :

     # auto-apt run ./configure

Il vous demandera d'installer les paquets nécessaires et appellera apt-get automatiquement. Si vous êtes sous X, une interface graphique remplacera l'interface texte par défaut.

Pour être efficace, auto-apt conserve des bases de données qui doivent être à jour. C'est fait en appelant les commandes auto-apt update, auto-apt updatedb et auto-apt update-locale.


5.4 Comment savoir à quel paquet appartient un fichier ?

Si vous voulez installer un paquet et que vous ne parvenez pas à découvrir quel est son nom en cherchant avec apt-cache, mais que vous connaissez le nom du programme lui-même, ou quelque autre fichier appartenant à ce paquet, vous pouvez alors utiliser apt-file pour retrouver le nom de ce paquet. Ceci est fait comme suit :

     $ apt-file search nomdufichier

Il fonctionne comme dpkg -S, mais il vous affichera aussi les paquets non installés qui contiennent ce fichier. Il peut aussi être utilisé pour trouver quel paquet contient les fichiers d'en-tête manquant à la compilation d'un programme, bien que auto-apt soit une meilleure solution pour résoudre ce problème, voir Comment installer des paquets « à la demande » ?, Section 5.3.

Vous pouvez lister le contenu d'un paquet en exécutant :

     $ apt-file list nomdupaquet

apt-file récupère une base de données des fichiers contenus dans tous les paquets, comme le fait auto-apt et elle doit être à jour. C'est fait en exécutant :

     # apt-file update

Par défaut, apt-file et auto-apt utilisent la même base de données, voir Comment installer des paquets « à la demande » ?, Section 5.3.


5.5 Comment rester informé sur les changements dans les paquets ?

Tous les paquets installent dans leur répertoire de documentation un fichier appelé changelog.Debian.gz qui contient la liste des changements faits sur le paquet depuis la dernière version. Vous pouvez lire ces fichiers à l'aide de zless, par exemple ; mais ce n'est pas quelque chose de très simple, après une mise à niveau du système complète, de consulter les changelog de tous les paquets mis à niveau.

Il y a une solution pour automatiser cette tâche au moyen d'un outil appelé apt-listchanges. Pour commencer, vous avez besoin d'installer le paquet apt-listchanges. Pendant l'installation du paquet, Debconf le configurera. Certaines questions peuvent ne pas vous être affichées car cela dépend de la priorité fixée dans Debconf. Répondez aux questions comme vous le voulez.

La première question vous demande si vous souhaitez qu'apt-listchanges affiche les changements. Vous pouvez vous les faire envoyer par courriel, ce qui est une bonne idée pour les mises à niveau automatiques ou vous pouvez simplement demander de les afficher à l'aide d'un outil de défilement tel que less, vous pourrez donc inspecter les changements avant de permettre la poursuite de la mise à niveau. Si vous ne voulez pas qu'apt-listchanges soit lancé automatiquement lors des mises à niveau, vous pouvez répondre none.

Après que apt-listchanges a été installé, aussitôt que des paquets sont téléchargés (ou récupérés sur un cédérom ou un disque monté) par apt, il affichera la liste des changements faits sur ces paquets avant de les installer.


[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ suivant ]


APT HOWTO (Obsolete Documentation)

1.8.10.4 - mars 2005

Gustavo Noronha Silva kov@debian.org
Traduction de Julien Louis leonptitlouis@ifrance.com