[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFC: Entrée de FAQ : chercher un paquet



Hello,
Il y a quelques temps, on a parlé de mettre en place une faq pour cette liste.
Il y a eu plusieurs personnes volontaires, mais on en a plus entendu parlé. 
Alors je poste l'une des entrées possibles, pour que vous commentiez, et pour 
relancer le processus.

Par ailleurs, si quelqu'un s'ennuie, faire un script perl qui s'appelerait 
apt-find, et qui reprendrait l'idée du 5 pour la simplifier serait une 
meilleur occupation que trainer les bars... ;)

Voila, voila, Mt.
PS pour Charles Plessy : tu avais raison et j'avais tord. dlocate ne cherche 
que les paquets installés. Mea Culpa.

-----------------------------------------------------------------------------

Question : Comment trouver un paquet ?
Reponse : Plusieurs solutions s'offrent à toi :
1) utilise dpkg
   Ca marche pour : paquet deja installé

   dpkg -S toto : cherche un paquet contenant le fichier toto
   dpkg -L toto : cherche le paquet toto

2) utilise le programme dlocate, dans le paquet du même nom
   Ca marche pour : paquet deja installé

   fait la meme chose que dpkg, mais permet en plus d'autres sortes de
   recherches et repond bien plus rapidement.
   voir `man dlocate`, ou `dlocate --help`
  
3) demande aux robots irc
   Ca marche pour : tous les paquets officiels de debian

   Connecte toi en irc au serveur irc.debian.org, canal #debian, puis :
   <mt> /msg dpkg !find toto
   (ou toto est un paquet ou un fichier)
   <dpkg> toto is in package: blablabla
   
   Si tu ne veux pas chercher dans la distribution instable, mais dans, par
   exemple slink, c'est pas plus dur :
   <mt> /msg dpkg !find toto slink

4) cherche sur les pages faites pour ca :
   Ca marche pour : tous les paquets officiels de debian
   
   http://www.fr.debian.org/distrib/packages
   C'est tout bien expliqué sur la page.
   
5) fait un grep brutal sur les fichiers de apt-get
   Marche pour : tous les paquets qu'on pourrait installer 
                 d'un `apt-get install`
                 (ne permet pas de trouver un paquet contenant un fichier)
                         
   Ces fichiers sont cachés dans le repertoire : /var/state/apt/lists
   Exemple : chercher le paquet cddb
   grep -15 "Package: cddb" * | sed -e "s/^.*Packages//" |less
   le -15 pour grep est pour voir 15 lignes avant et 15 lignes apres chaque
     occurance de la recherche
   le sed est pour se passer du nom du fichier dans lequel on a trouvé 
l'occurance
   dans le grep, je precise "Package: " pour n'avoir que le paquet cddb, et 
pas les
     paquets qui dependent ou qui sont en conflit avec lui
   Ca donne sur ma machine (entre autres) : 
     :Package: cddb
     -Version: 2.5-1
     -Priority: optional
     -Section: sound
     -Maintainer: Wichert Akkerman <wakkerma@debian.org>
     -Depends: libc6 (>= 2.1)
     -Conflicts: kdemultimedia (<=2:980419-b4-1)
     -Replaces: xmcd (<=2.3-1)
     -Architecture: i386
     -Filename: dists/potato/main/binary-i386/sound/cddb_2.5-1.deb
     -Size: 39770
     -MD5sum: ed1842f681c80570c7938e7b4ba00f0b
     -Description: CD DataBase support tools
     - This package provides a location for programs to store files from the
     - CDDB in and contains a simple program to query CDDB servers.
     -source: xmcd
     -installed-size: 67

Chose que je ne sais pas faire : Chercher un paquet contenant le fichier toto,
  sachant que ce paquet n'est pas installé, et qu'il ne fait pas partie de 
  l'archive officielle...


Reply to: