Hiciste algunas preguntas diferentes aquí, espero que al menos pueda ayudar en una o dos.
Para enumerar todos los paquetes instalados, utilice dpkg
para generar en una lista separada por campos
dpkg -l
Para obtener la lista de paquetes, sin campos adicionales, para que pueda canalizarla a otro lugar.
dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg
Por ejemplo, si quiero eliminar un núcleo antiguo,
apt-get purge `dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12`
La forma más fácil de pasar por todas las dependencias innecesarias es con debfoster
. Se ejecuta de forma interactiva y pasa por lo que desea, sus dependencias y puede eliminar o enumerar lo que no es una dependencia recursiva.
Para enumerar todas las dependencias recursivas de un paquete específico,
debfoster -d $PACKAGE ## PACKAGE is the specific package.
Después de haber ejecutado debfoster
, puede verificar cualquier dependiente que tenga un paquete también,
debfoster -e $PACKAGE ## PACKAGE is the specific package.
Una forma realmente genial de enumerar paquetes 'huérfanos' es con deborphan
. Ejecutar deborphan
sin opciones, y mostrará una lista de todos los paquetes 'huérfanos'. Un 'huérfano' es un paquete del que nada depende y no lo ha instalado explícitamente.
También me gusta limpiar cualquier paquete 'huérfano', después de una nueva instalación. Después de que haya eliminado paquetes específicos, puedes perder cualquier cosa apt-get autoremove --purge
con,
apt-get purge `deborphan`
Finalmente, a veces no lo hace --purge
y termina con el paquete 'restos', las versiones más recientes de apt-get
pueden eliminarlos automáticamente. Para eliminar todas las 'sobras' de los paquetes desinstalados, ejecute,
apt-get autoclean
Si no tiene la nueva versión de apt-get
, siempre puede eliminarlos con estos comandos. Se produce un error si no existen archivos 'sobrantes', parece que el autoclean puede omitir algunos ocasionalmente.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge
apt-get --dry-run remove
ve básicamente correcto. Puede faltar algunos paquetes instalados automáticamente que solo son necesarios para los paquetes instalados automáticamente que solo son necesarios para el paquete que elimina. ¿Es por eso que no lo consideras una respuesta adecuada?