Comment répertorier les fichiers et dossiers qui ne sont gérés par aucun package DEB

12

Je suis en train de déplacer mes fichiers d'une machine Debian à une autre afin de pouvoir utiliser l'ancienne machine à des fins différentes. Je ne veux manquer aucun fichier car je vais formater le disque dur de l'ancienne machine de manière irrécupérable.

En y réfléchissant davantage, je me suis rendu compte que tous les fichiers et dossiers que je dois copier sont ceux qui ne sont conservés par aucun paquet Debian installé. Existe-t-il un moyen simple de répertorier ces fichiers et dossiers?

Daniel Trebbien
la source

Réponses:

16

cruftest un outil utile exactement à cet effet: il fait une comparaison entre un système de fichiers et la base de données des paquets Debian installés. En plus de répertorier les fichiers inconnus, il répertorie également les fichiers manquants mais qui devraient être présents.

Je l'utilise régulièrement avec debsumsquand j'ai besoin de démarrer l'administration système ou de mettre à niveau le travail sur une machine dont je n'ai pas pris soin plus tôt. Cela me permet de repérer les modifications et installations locales et de les planifier, au lieu que le client ne me dise après une mise à niveau que leur logiciel ne fonctionne plus.

Installer:

apt-get install cruft

Liste tous les "cruft" mais ignorez les répertoires nommés:

cruft --ignore "/dev /proc /sys /root /home /tmp"

Plus d'information:

man cruft
zless /usr/share/doc/cruft/README.gz
casser
la source
4

Si vous ne l' avez pas fait quelque chose d' inhabituel, alors la réponse est que tout /bin, /boot, /lib*, /sbinet /usrproviennent de paquets Debian, sauf que /usr/localest la vôtre; le reste du système est le vôtre. Les emplacements typiques que vous devez sauvegarder sont /homeet /etc(toujours), /var(la plupart d'entre eux; par exemple, /var/cachen'ont pas besoin d'être sauvegardés), /srv(si vous l'utilisez), et /usr/localet éventuellement /opt.

Pour lister les fichiers normaux du /système de fichiers qui ne proviennent pas des paquets Debian:

find / -xdev -type f | sort >/tmp/root.list
sort /var/lib/dpkg/info/*.list >/tmp/dpkg.list
comm -23 /tmp/root.list /tmp/dpkg.list

Si vous avez un système de fichiers distinct pour /usr, incluez-le dans la findcommande. Si vous avez un système de fichiers distinct pour /homeou /varou un autre emplacement personnalisé, incluez-le dans votre sauvegarde.

Gilles 'SO- arrête d'être méchant'
la source