Introducción
En caso de que necesites mantener una versión obsoleta o específica de un paquete deb por cualquier motivo, existen diferentes formas de retenerlo en distribuciones Linux derivadas de Debian.
En este artículo utilizaremos el comando dpkg para realizar las operaciones, aunque también pueden usarse herramientas como apt o dselect.
Retener un paquete (Hold)
Para poner un paquete en estado de retención (hold):
# echo "<nombre-del-paquete> hold" | dpkg --set-selections
Tras realizar esta operación, el paquete se mantendrá en la versión actual aunque existan nuevas versiones disponibles durante las actualizaciones del sistema.
Quitar la retención (Remove hold)
Para permitir que el paquete vuelva a actualizarse con normalidad:
# echo "<nombre-del-paquete> install" | dpkg --set-selections
Tras esta operación, el paquete se actualizará como cualquier otro de la lista.
Mostrar el estado
1. De todos los paquetes
# dpkg --get-selections
7zip install
accountsservice install
acl install
adduser install
adwaita-icon-theme install
aglfn install
alsa-topology-conf install
alsa-ucm-conf install
alsa-utils install
...
2. De un solo paquete
# dpkg --get-selections <nombre-del-paquete>
# dpkg --get-selections zip
zip install
Mostrar paquetes retenidos
Para listar únicamente los paquetes retenidos (hold):
# dpkg --get-selections | grep "\<hold$"
# dpkg --get-selections | grep "\<hold$"
lifeograph hold