Marque un paquete deb como se usa, por lo que no se sugiere para la eliminación automática

8

Tengo un montón de bibliotecas compartidas instaladas en mi sistema que no dependen de algún paquete concreto, pero son necesarias para bibliotecas no administradas por apt que he creado desde el origen (como las últimas SDL, Allegro, SFML, ...) y otro software construido desde la fuente. El problema es que APT considera que esas bibliotecas no se utilizan y, por lo tanto, son candidatas para la eliminación automática, y se mezclan con paquetes legítimos no utilizados que son libres de eliminar.

¿Hay alguna forma de marcar los paquetes como utilizados para que no se sugieran para la eliminación automática? Mi primer pensamiento fue construir mi propio metapaquete solo para contener las dependencias (como por ejemplo ubuntu-desktop is), pero no sé cómo hacerlo.

Boris B.
fuente

Respuestas:

9

Aunque también apt-get installmarca los paquetes como instalados, hace otras cosas como actualizar paquetes (si hay una actualización disponible). El programa correcto para cambiar los estados instalados automáticamente es apt-mark.

Uso

Marcar un paquete como instalado manualmente (para que no lo elimine apt-get autoremove):

sudo apt-mark manual package1 package2 ... packageN

Para marcar un paquete como instalado automáticamente (de modo que se eliminará apt-get autoremovesi ningún paquete depende de él):

sudo apt-mark auto package1 package2 ... packageN

Más detalles están disponibles en la página del manual apt-mark (8) .

Lekensteyn
fuente
4

Solo usa apt-get install:

sudo apt-get install [your-packages]

En realidad no los instalará. Simplemente configurará la bandera para que se instale manualmente.

jazmines
fuente
2

No tiene que hacer nada tan complicado como crear sus propios metapaquetes.

Suponga que desea asegurarse de que un paquete llamado foonunca sea elegible para la eliminación automática.

Abra una ventana de Terminal ( Ctrl+ Alt+ T) y ejecute:

sudo apt-get install foo

Es decir, el mismo comando que instala los paquetes manualmente los marcará como instalados manualmente para que no se eliminen automáticamente incluso cuando los paquetes para los que se instalaron originalmente como las dependencias se eliminen.

Eliah Kagan
fuente
@BorisB. Si instaló manualmente un paquete, no importa cómo lo hizo, siempre y cuando no se haya eliminado o marcado posteriormente como instalado automáticamente, no se eliminará automáticamente.
Eliah Kagan
2
Debes haberlos instalado como una dependencia de otra cosa. Probablemente lo hizo apt-get install yyye xxxinstaló como una dependencia. Luego lo eliminó yyyy xxxse marcó para la eliminación automática. Ahora lo hace apt-get install xxx.
Vitalie Ciubotaru
Estoy 99% seguro de que se instale esas bibliotecas usando apt-get install(ya que no conozco ninguna otra forma de instalarlos), pero siguen se ofrecen para auto-eliminación.
Boris B.
@VitalieCiubotaru Sí, eso debe ser. Gracias.
Boris B.