Extraire la liste des paquets (apt) d'une distribution Linux
Publi� le 15 septembre 2010
Cr�� le 10 novembre 2010

(PNG) Sous Ubuntu (ou autre debian) il est parfois nécessaire de connaître la composition d'une distribution particulière. Pour cela, nul besoin d'installer la distribution et d'extraire la liste des paquets installés du système.

Les distributions Linux sont généralement disponible dans un format qui peut être directement gravé sur un CD. Il s'agit d'une image de CD-ROM au format ISO. Des utilitaires permettent d'extraire les fichiers contenus dans une archive ISO. Il y a par exemple 7zip.

Dans les images ISO de Ubuntu, il existe un fichier "Packages.gz" contenant un fichier "Packages" situé dans le répertoire \dists\intrepid\main\binary-i386\. Ce fichier décrit la liste de tous les paquets installés avec leur description.

Voici les commandes pour extraire la liste des paquets à partir du fichier "Packages".


$ cat Packages | grep 'Package:' | cut -c10- | egrep -v '(^lib|.+-dev$|^linux|^gnome-|^kde-|^xfce-|^perl|^python|^gc|^g++|^gdb|^php5|^language|-l10n|^xserver-)' >/media/sauvegarde/packages-ubuntu.apt

Dans les distributions live, il s'agit d'un autre fichier : "filesystem.manifest-desktop" situé dans le répertoire \casper\.

Voici les commandes pour extraire la liste des paquets à partir du fichier manifest.


$ cat filesystem.manifest-desktop | cut -f1 -d' ' | egrep -v '(^lib|.+-dev$|^linux|^gnome-|^kde-|^xfce-|^perl|^python|^gc|^g++|^gdb|^php5|^language|-l10n|^xserver-)' >/media/sauvegarde/packages-ubuntu.apt

(PNG)

Pour réduire la taille du fichier, je ne prends pas les bibliothèques, les fichiers du noyau, les fichiers de langue et les programmes liés au gestionnaire graphique.