Tengo un escenario en el que me gustaría eliminar un conjunto de paquetes que se pueden instalar o no, y me gustaría que apt-get elimine los que están e ignore silenciosamente los que no. Algo como:
apt-get remove foo bar baz
que, si se instalaron foo y bar pero no fue baz, eliminaría foo y bar sin quejarse de baz. ¿Hay alguna forma de hacer esto?
Cosas que he probado que no han funcionado, con cups-dbg como mi paquete de chivo expiatorio realmente instalado para ser eliminado:
jcp@a-boyd:~$ sudo apt-get remove -y cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
jcp@a-boyd:~$ sudo apt-get remove --ignore-missing cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
jcp@a-boyd:~$ sudo apt-get remove --fix-broken cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
Sé que podría hacer esto con un script de shell y algo de dpkg --list
magia, pero me gustaría evitar cualquier complejidad que no sea absolutamente necesaria.
Respuestas:
¿Recurrir a una herramienta de nivel inferior como dpkg es una opción?
Para eliminar los archivos de configuración de paquetes, utilice la purga de la siguiente manera
fuente
Yo uso
apt-get remove --purge
(akaapt-get purge
) para la dependencia que sigue con una lista de paquetes. Para manejar paquetes que no existen, filtro los paquetes que no están instalados con el siguiente script.fuente
Para Debian ≤ 9, es posible usar solo en
aptitude
lugar deapt-get
:Aptitude imprime advertencias, pero continúa eliminando sus paquetes:
Si desea purgar (eliminar archivos de configuración de paquetes) en lugar de eliminar (mantener archivos de configuración), tenga en cuenta que
aptitude
solo purga los paquetes proporcionados directamente, mientras que las dependencias no utilizadas solo se eliminan. Sin embargo, puede purgar todos los paquetes eliminados en un segundo paso:fuente
bogus-package
justo tenía el nombre equivocado. entonces, en caso de que tuviéramos 500 paquetes, sería mejor analizar también los paquetes falsos y hacer algunos trucos (por ejemplo, números después del nombre de falta, etc., entonces, ¿puedes dar algunas pistas sobre cómo hacer esto? ..Couldn't find any package whose name or description matched 'QUX' Unable to apply some actions, aborting
Otro pequeño 2-liner si alguien necesita usar apt:
Explicacion:
fuente