9 votos

¿Cómo puedo obtener una lista de archivos en mi computadora que no son "propiedad" de ningún paquete?

Estoy pensando en escribir un guión que haga esto:

  • Examina cada archivo en / usr / lib
  • Hace una búsqueda dpkg -s en cada archivo.
  • Informa una lista de archivos "huérfanos" que no pertenecen a ningún paquete .deb.

La idea es que con el tiempo, he instalado un montón de make install software y me gustaría obtener una lista de archivos sobrantes de software instalado manualmente desde que he eliminado.

8voto

Berek Bryan Puntos 349
 find /usr/lib -type f -exec dpkg -S {} + 2>&1 >/dev/null | sed -r 's/^[^/]+//'
 

Te advierto ahora: es lento.

2voto

user2697383 Puntos 46
sudo aptitude install cruft
man cruft
sudo addgroup cruft
sudo chmod g+rwx /var/spool/cruft
sudo chown root:cruft
sudo addgroup $USER cruft
cruft -r cruftreport
sudo chown root:root /var/spool/cruft
less cruftreport

1voto

enzotib Puntos 38044

Puede ejecutar el siguiente comando

 join -t '' -v1 <(find /usr/lib | sort) \
               <(grep -h /usr/lib /var/lib/dpkg/info/*.list | sort -u)
 

Que comparan la lista de archivos en /usr/lib con la lista de archivos presentes en al menos un archivo en /var/lib/dpkg/info/<NAME>.list (los archivos utilizados por dpkg -S ). La opción -v1 reportaría los archivos presentes en la primera lista pero no en la segunda.

En mi máquina esta lista de diferencias da más de 5000 visitas, así que dudo que pueda ser de alguna ayuda.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: