[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Effacer les fichiers qui ne sont contenus dans aucun paquet



BERTRAND Joël a écrit :
> Existe-t-il un moyen d'effacer tous les fichiers d'un répertoire qui
> ne sont pas dans l'un des paquets installé sur le système (autre que
> l'algo trivial qui doit être en n² consistant à chercher pour tous les
> fichiers du répertoire s'ils apparaissent dans l'une des sorties de
> dpkg-query -L xx) ?

Cela me semble très délicat car des fichiers ou des liens symboliques
peuvent ne pas être fournis par les paquets, mais bel et bien créés par
eux lors de l'installation.

J'ai trouvé la commande élégante et efficace pour identifier tous les
paquets non fournis par les paquets sur Stack Exchange :

https://unix.stackexchange.com/questions/153260/how-to-find-files-that-are-not-owned-by-any-package

La commande est :

comm -23 <(find / -xdev -type f | sort) <(sort -u /var/lib/dpkg/info/*.list)

Mais cette liste constitue une base de travail brute, qu'il faut
minutieusement affiner. Par exemple, il faut en exclure tout ce qui est
dans /home et dans d'autres répertoires tels que /usr/lib, /var/log,
voire /var, etc.

Sébastien

-- 
Sébastien Dinot, sebastien.dinot@free.fr
http://www.palabritudes.net/
Ne goûtez pas au logiciel libre, vous ne pourriez plus vous en passer !


Reply to: