Apt-file pour explorer les packages Debian

I. Présentation d'apt-file

Lorsque l'on utilise exclusivement la ligne de commande sur des serveurs Linux, il y a des outils qu'il faut avoir dans la poche, c'est le cas d'apt-file qui permet d'explorer des packages Debian (.deb) et de retrouver un package en fonction d'un fichier. Nous allons ici apprendre à l'utiliser.

II. Installation et préparation d'apt-file

Apt-file s'installe tout simplement sous Debian via les dépôts, on saisira la commande suivante :

apt-get install apt-file

Il faudra ensuite préparer apt-file à être utilisé en remplissant son cache, il faut pour cela simplement saisir la ligne de commande suivante :

apt-file update

Voici ce que l'on pourra voir apparaître :

apt file explorer paquet debian
Mise à jour du cache apt-file pour une future utilisation

Dès lors, apt-file va aller lire le fichier /etc/apt/sources.list et remplir son cache (une vingtaine de mégaoctets pour une Debian basique) pour être prêt à être utilisé. C'est bien sûr une commande qu'il faudra réutiliser lorsque l'on mettra à jour le fichier /etc/apt/sources.list

 

Nous pouvons maintenant utiliser apt-file et voir ce dont il est capable !

III. Lister les fichiers d'un package Debian

La première chose plutôt pratique que nous pouvons faire avec apt-file est de lister les fichiers qui sont contenus dans un paquet Debian (.deb). Nous avons déjà vu sur IT-Connect comment construire un package Debian, nous savons donc que ceux-ci sont juste un ensemble de fichiers (conf, script, stockage d'information) mis dans un paquet et prêt à être déployés. Avec Apt-file, on va pouvoir afficher les fichiers qui seront déployés lors de l'installation avec apt-get install avant cette dite installation. Plus simplement, on peut effectuer la commande suivante pour voir les fichiers qui sont contenus dans le package Debian de fail2ban

apt-file show fail2ban

Voici le résultat que nous aurons dans le terminal :

apt file explorer paquet debian
Apt-file nous liste les fichiers contenus dans le paquet Fail2ban

On voit donc que différents fichiers vont être mis dans /etc/default, mais aussi dans /etc/fail2ban/, etc..

 

IV. Retrouver le package d'un fichier

Une deuxième action assez intéressante peut être exécutée avec apt-file. On peut en effet retrouver, à partir d'un fichier pointé, le paquet Debian associé à celui-ci. Si l'on souhaite par exemple sur un autre serveur savoir quel paquet installer pour avoir une commande précise, il nous suffit d'aller sur un serveur possédant cette commande et de saisir la commande suivante (Exemple avec la commande "htpasswd" fourni avec apache2) :

apt-file search /usr/bin/htpasswd

Voici le résultat que l'on pourra avoir (il peut varier selon le contenu de votre fichier /etc/apt/sources.list) :

apt file explorer paquet debian
L'option "search" d'apt-file permet de retrouver le paquet associé à un fichier ou une commande 

 

On voit donc que la commande et l'outil "htpasswd" sont fournis avec les paquets apache2-dbg mais aussi apache2-utils.

Une petite astuce, lorsque vous cherchez le paquet correspondant à une commande ou un fichier, je vous conseille de mettre le chemin absolu à celui-ci, cela permet d'exclure quelques résultats et lignes inutiles dans le résultat. Le chemin absolu vers une commande peut être trouvé avec l'option "whereis", par exemple pour la commande "htpasswd" :

whereis htpasswd

Voici le résultat que nous pourrons voir :

commande whereis
La commande whereis permet de trouver le chemin d'un exécutable

V. Options supplémentaires

Lors de l'utilisation d'apt-file, plusieurs options peuvent être utilisées pour étendre les possibilités de l’outil. On peut par exemple spécifier un fichier sources.list (contenant une liste de dépôts Debian) autre que le fichier /etc/sources.list. Cela peut par exemple permettre de faire une comparaison rapidement entre des paquets fournis de différents dépôts ou entre deux fichiers sources.list. On va pour cela utiliser l'option "-s" ou "--sources-list" :

apt-file show apache2 --sources-list /opt/sources.list.test

On peut également spécifier une architecture précise grâce à l'option "-a" ou "--architecture" :

apt-search /usr/bin/owncloud -a amd64

Apt-file peut être très utile dans certains contextes et c'est un outil qu'il est bon de connaitre !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur en sécurité des systèmes d'information chez Amossys

    mickael has 502 posts and counting.See all posts by mickael

    2 pensées sur “Apt-file pour explorer les packages Debian

    • Bonjour l’équipe iT-Connect.

      Si l’envie vous vient il y a la possibilité d’utiliser la commande « dpkg ».

      Avec « dpkg -L fail2ban », nous aurons la liste des fichiers du paquets. Attention, cette liste est donnée par le mainteneur du paquet, et donc il se peut qu’il y ai des erreurs !

      Idem pour retrouver un paquet source depuis un fichier avec l’option

      « dpkg -S /etc/fail2ban/fail2ban.conf »

      Bref, si nous n’avons pas internet pour installer apt-file, il y a déjà tout ce qu’il faut avec dpkg 🙂

      Enjoy !

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.