Mémento des commandes abordées dans ce chapitre :

# apt-file search <nom du fichier>  (recherche dans quel paquet se trouve le fichier)

# apt-file list <nom_du_paquet> (liste des fichiers d'un paquet)

# apt-file update (synchronisation des paquets à partir du fichier sources.list)

Pour ceux qui se prennent souvent la tête pour savoir à quel paquet appartient tel fichier même si celui-ci n'est pas installé, il existe un utilitaire bien pratique : apt-file.
Il n'existe pas par défaut sur votre distribution préférée et il faut donc l'installer :
# apt-get install apt-file

Une fois que c'est terminé, il faut mettre à jour sa petite base en faisant :
# apt-file update

Par cette commande, on récupère de façon exhausitve les informations du contenu de l'ensemble des paquets (via votre configuration de votre fichier /etc/apt/sources.list).

Exemple :
Vous avez besoin du fichier curses.h pour la compilation d'un programme en C. Pour savoir dans quel paquet, il peut se trouver :
# apt-file search curses.h
utoconf-archive: /usr/share/doc/autoconf-archive/html/mp_with_curses.html
doc-linux-ja-html: /usr/share/doc/HOWTO/ja-html/LFS-BOOK/appendixa/ncurses.html
doc-linux-ja-html: /usr/share/doc/HOWTO/ja-html/LFS-BOOK/chapter05/ncurses.html
doc-linux-ja-html: /usr/share/doc/HOWTO/ja-html/LFS-BOOK/chapter06/ncurses.html
libncurses5-dev: /usr/include/curses.h
libncurses5-dev: /usr/include/ncurses.h
libncursesw5-dev: /usr/include/ncursesw/curses.h
libncursesw5-dev: /usr/include/ncursesw/ncurses.h
libslang2-dev: /usr/include/slcurses.h
lsb-build-base3: /usr/include/lsb3/curses.h
php-doc: /usr/share/doc/php-doc/html/book.ncurses.html
php-doc: /usr/share/doc/php-doc/html/intro.ncurses.html
php-doc: /usr/share/doc/php-doc/html/ref.ncurses.html
python2.4-dbg: /usr/include/python2.4_d/py_curses.h
python2.4-dev: /usr/include/python2.4/py_curses.h
python2.4-doc: /usr/share/doc/python2.4/html/lib/module-curses.html
python2.5-dbg: /usr/include/python2.5_d/py_curses.h
python2.5-dev: /usr/include/python2.5/py_curses.h
python2.5-doc: /usr/share/doc/python2.5/html/lib/module-curses.html


Une autre commande utile permet de connaître les fichiers qui sont installés avec un paquet. Pour ceux qui ont suivi ce billet, il comprendront vite que ça revient à faire un dpkg -L <nom du paquet>
# apt-file list htop
htop: /usr/bin/htop
htop: /usr/share/applications/htop.desktop
htop: /usr/share/doc/htop/AUTHORS
htop: /usr/share/doc/htop/README
htop: /usr/share/doc/htop/changelog.Debian.gz
htop: /usr/share/doc/htop/changelog.gz
htop: /usr/share/doc/htop/copyright
htop: /usr/share/man/man1/htop.1.gz
htop: /usr/share/menu/htop
htop: /usr/share/pixmaps/htop.png