J'envisage d'écrire un script qui fait ceci:
dpkg -s
sur chaque fichier.L’idée est qu’au fil du temps, j’ai installé de nombreux logiciels make install
et j’aimerais obtenir une liste des fichiers restants des logiciels installés manuellement que j’ai supprimés.
find /usr/lib -type f -exec dpkg -S {} + 2>&1 >/dev/null | sed -r 's/^[^/]+//'
Je vous préviens maintenant: c'est lent.
Vous pouvez exécuter la commande suivante
join -t '' -v1 <(find /usr/lib | sort) \
<(grep -h /usr/lib /var/lib/dpkg/info/*.list | sort -u)
comparant la liste des fichiers de /usr/lib
à la liste des fichiers présents dans au moins un fichier de /var/lib/dpkg/info/<NAME>.list
(les fichiers utilisés par dpkg -S
). L'option -v1
rend compte des fichiers présents dans la première liste mais pas dans la seconde.
Sur ma machine, cette liste de différences donne plus de 5 000 occurrences. Je doute donc que cela puisse être utile.
Sudo aptitude install cruft
man cruft
Sudo addgroup cruft
Sudo chmod g+rwx /var/spool/cruft
Sudo chown root:cruft /var/spool/cruft
Sudo addgroup $USER cruft
cruft -r cruftreport
Sudo chown root:root /var/spool/cruft
less cruftreport