web-dev-qa-db-fra.com

Liste des fichiers qui seront installés par .deb

Comment puis-je lister tous les fichiers (et leurs futurs emplacements) qui seront installés en appelant 'dpkg -i' sur un fichier .deb? Quelle cible de makefile du paquet source détermine ceux-ci (s'agit-il de la cible d'installation par défaut?)

(La deuxième partie de la question concerne le processus de création du paquet. Je veux que la liste des fichiers installés par 'make install' et la liste des fichiers installés par le paquet .deb soient identiques)

5
Juliusz

Vous pouvez lister le contenu d’un fichier deb en lançant

dpkg-deb --contents package.deb

dpkg-deb peut afficher de nombreuses informations sur un paquet deb. Vous pouvez voir les autres options en exécutant dpkg-deb --help.

Malheureusement, vous ne pouvez pas déterminer quels fichiers un Makefile va installer. Cependant, vous pouvez installer dans un répertoire temporaire en définissant la variable DESTDIR. Notez que cela fonctionne bien principalement sur les Makefiles générés par autotools ie. le script ./configure. Par exemple:

cd sourcecode-1.2
./configure --prefix=/usr           #Just the usual compiling stuff
make
mkdir /tmp/installedfiles           #Create a temporary directory for the files
make DESTDIR=/tmp/installedfiles install

Cette dernière ligne make installera les fichiers dans /tmp/installedfiles. Vous pouvez ensuite voir les fichiers qui seraient créés, bien que ces fichiers et répertoires soient tous relatifs au préfixe spécifié dans le script configure. En d'autres termes, /tmp/installedfiles/bin/mainprogram serait installé en tant que /usr/bin/mainprogram.

J'espère avoir répondu à ta question :)

6
Andrew Gunnerson

Un fichier deb est un fichier d’archive que vous pouvez extraire pour voir son contenu.

De Wikipedia

Depuis Debian 0.93, un fichier deb est implémenté en tant qu'archive ar. Le contenu canonique de cette archive est constitué de trois fichiers:

  • debian-binary: numéro de version du format deb. Ceci est "2.0" pour le courant
    versions de Debian.
  • control.tar.gz: toutes les méta-informations sur les paquets.

  • data.tar, data.tar.gz, data.tar.bz2, data.tar.lzma ou data.tar.xz: les fichiers pouvant être installés.

Le fichier debian-binary doit être la première entrée de l'archive, sinon il ne sera pas reconnu comme un paquet Debian.

Ainsi, lorsque vous extrayez un fichier deb, vous obtenez un fichier de données, à savoir data.tar/data.tar.gz/data.tar.lzma/data.tar.xz. Extrayez ce fichier et vous obtiendrez tous les fichiers/répertoires dans lesquels deb commencera à créer ou à mettre des fichiers.

0
binW