¿Cómo eliminar el indicador "instalado manualmente" y volver a "instalado automáticamente" con apt-get?


103

Para compilar algo, necesitaba zlib1g-devinstalar el paquete, así que lancé un apt-get install zlib1g-dev.

apt-get Me informó amablemente que el paquete ya se había instalado automáticamente debido a otro paquete, y que comprende que quiero instalarlo explícitamente ahora:

# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.

Mi compilación está hecha, ya no la necesito explícitamente, así que quiero revertir su estado al anterior: autoinstalado. De esta forma, se podará automáticamente cuando ya no sea necesario con un simple apt-get autoremove.

No puedo hacer una, apt-get remove zlib1g-devya que algunos paquetes todavía dependen de ello.

Entonces, ¿cómo puedo volver el paquete de zlib1g-devestado de instalación a instalación de auto- ?

Sé que podría editar /var/lib/apt/extended_statesa mano desde

Package: zlib1g-dev
Auto-Installed: 0

a

Package: zlib1g-dev
Auto-Installed: 1

... pero simplemente no se siente bien.

Respuestas:


81

Aptitude puede ayudarlo cuando instala inicialmente el paquete:

aptitude install "zlib1g-dev&M"

O, después de haber instalado el paquete:

aptitude markauto "zlib1g"

Editar: si no tienes aptitud, puedes usar

apt-mark auto zlib1g-dev

44
Buena respuesta, pero la respuesta de I + 1 @ @ ArvindSing se usa apt-markporque no requiere que instales aptitude. apt-markviene con un aptpaquete que todos ya deberían tener.
Christopher Schultz

106

apt-mark puede ayudarlo a:

apt-mark auto zlib1g-dev

Para 11.04 o anterior, use "markauto" en lugar de "auto"


8

Esto es lo que estás buscando.

sudo apt-get markauto first-package second-package etc-package

Fuente:

apt-get --help

12
Tenga en cuenta que esto está en desuso ahora a favor de apt-mark
Joril
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.