En Ubuntu / Debian, ¿cómo marco un paquete como no extraíble automáticamente?

9

Supongamos que tengo un paquete (un paquete de Python en este caso) que instalo usando Synaptic. Debido a que la versión de este paquete está algo desactualizada, la elimino en Synaptic y luego la instalo usando easy_install. Una de sus dependencias también se instaló usando Synaptic, pero prefiero mantener la versión instalada de Synaptic en lugar de easy_installingella también.

El único problema es que la dependencia ahora está marcada como auto removible. ¿Hay alguna forma de marcarlo como instalado manualmente aparte de quitarlo y reinstalarlo? Si hace la diferencia, estoy usando Ubuntu Jaunty.

Jason Baker
fuente

Respuestas:

3

Puede "retener" un paquete en Ubuntu.

Mantener un paquete básicamente significa que le está diciendo al administrador de paquetes que mantenga la versión actual sin importar qué. Esto es útil si la versión más reciente de un programa que funciona actualmente se rompe después de una actualización.

Puede hacerlo a través de Synaptic o en la línea de comandos a través de apt / dpkg. La versión de línea de comandos para contener un paquete es:

echo package_name hold | dpkg --set-selections

Ubuntu Community Documentation tiene una guía más completa que explica cómo anclar o retener paquetes .


fuente
¡Gracias! askubuntu.com/questions/140136/…
Andrejs Cainikovs
2
Hold normalmente se usa para evitar actualizaciones a versiones más nuevas; no debe usarse para guardar un paquete. El uso de la retención le impedirá recibir actualizaciones de seguridad y distribución, y será una carga adicional durante las actualizaciones. Marcar el paquete como instalado manualmente debe ser la forma correcta (vea mi respuesta ...).
Thomas Guyot-Sionnest
6

Sé que puedes hacerlo en aptitudes. Puede hacerlo en su GUI seleccionando paquete y presionando 'm' o seleccionando "Marcar manual" en el menú "Paquete", o usando la línea de comandos:

aptitude install <package_name> & m
danadam
fuente
5

Puede usar apt-mark manual <package>para eso, desde Synaptic, Package=> [ ] Automatically Installed(desmarque).

ex:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

Además, si utiliza apt-get install <package>un paquete que ya está instalado, se marcará implícitamente como manual.

Thomas Guyot-Sionnest
fuente
Esto parece hacer exactamente lo que se desea. Cambió el estado de mi paquete de [installed,auto-removable]a solo [installed].
mwfearnley