Estoy en una situación en la que la lista de paquetes huérfanos que se eliminarán apt-get autoremoveincluye 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 autoremovedeseo explícitamente, para que no lo elimine?
apt
package-management
bluenote10
fuente
fuente

Respuestas:
Utilizar
apt-markEntonces
Ahora
autoremoveno lo eliminará.Deshacer
Ahora
autoremoveeliminará 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
aptno 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/xargshacia 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
xargscomo 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