Estoy en una situación en la que la lista de paquetes huérfanos que se eliminarán apt-get autoremove
incluye un paquete que quiero conservar. Aparentemente, eliminé accidentalmente un paquete que dependía de él. ¿Cómo puedo marcar ahora el paquete como lo apt-get autoremove
deseo explícitamente, para que no lo elimine?
apt
package-management
bluenote10
fuente
fuente
Respuestas:
Utilizar
apt-mark
Entonces
Ahora
autoremove
no lo eliminará.Deshacer
Ahora
autoremove
eliminará el paquete si no es una dependencia de ningún otro paquete.fuente
Algunos intentos más de Google trajeron una solución :
Es posible instalarlo explícitamente:
o marcado como instalado manualmente a través de
apt
no se reinstalará, la salida se verá así:fuente
Esto ya se respondió bien, pero encontré una situación en la que no quería "marcar" muchos de los paquetes (y luego desmarcarlos después
autoremove
).Cuando la lista de paquetes que desee está definida fácilmente a autoremove, a continuación, se puede canalizar /
sed
/xargs
hacia fuera.No tengo un ejemplo complejo de muchos paquetes, pero si tengo el siguiente escenario:
y quiero eliminar solo los
linux*
paquetes, puedo hacer esto:Entonces, desde aquí, es fácil pasarlos
xargs
como argumentos de línea de comandos a lo simpleapt-get remove -y
:Normalmente cuando lo uso
xargs
, me protegería de los espacios en los argumentos (por ejemplo,find ... -print0 | xargs -0 ...
), pero como los nombres de los paquetes no tienen espacios en ellos, me siento cómodo usando argumentos delimitados por una nueva línea.(Creo que en otras situaciones, sería más apropiado "marcar" una retención, deshacer los paquetes. Eso también se puede hacer con expresiones regulares y
xargs
, pero es probable que exagere la situación).fuente