Existen múltiples formas de evitar que un paquete se actualice en Debian, Ubuntu, Linux Mint y otras distribuciones de Linux basadas en Debian/Ubuntu. Este artículo presenta 3 formas de excluir la actualización de paquetes de repositorio.
¿Por qué impedir que un paquete se actualice? Supongamos que instalas un paquete que es más antiguo que la versión disponible en los repositorios de Debian, Ubuntu o Linux Mint, o sabe que alguna actualización está causando problemas, y quiere actualizar todos los paquetes menos uno (o dos, tres…).
Aquí hay un ejemplo. Estoy usando el navegador Chromium con parches de aceleración de hardware de Saiarcot895-dev PPA, en Ubuntu 18.10. Para que la aceleración de hardware funcione con los controladores de Nvidia, se necesita un paquete de controladores vdpau-va parcheados, y esto aún no está disponible en este PPA para el último Ubuntu 18.10.
Afortunadamente, el paquete Ubuntu 18.04 puede ser instalado en Ubuntu 18.10, pero cualquier actualización a través de “apt upgrade” o usando el Actualizador de Software actualizará este paquete, que no quiero. Así que en este caso, mantener este paquete de actualizaciones me permitiría actualizar todos los demás paquetes sin tener que preocuparme por ello.
Debe tenerse en cuenta que evitar que un paquete se actualice en el futuro puede causar problemas en algunas situaciones, si el paquete que está reteniendo se utiliza como una dependencia para otro paquete que se puede actualizar. Por lo tanto, trata de evitar que demasiados paquetes se actualicen, especialmente las bibliotecas.
Aquí hay 3 maneras de evitar que un paquete se actualice en Debian, Ubuntu, Linux Mint.
Tabla de contenidos
1. Evitar las actualizaciones de paquetes utilizando una interfaz gráfica de usuario:
Administrador de paquetes Synaptic
Synaptic Package Manager, un programa de gestión de paquetes gráficos de Gtk para apt, puede bloquear paquetes que impiden su actualización.
Es importante tener en cuenta que el uso de Synaptic para bloquear paquetes no evitará que se actualicen desde la línea de comandos: ejecutar apt upgrade o apt-get upgrade seguirá actualizando un paquete bloqueado en Synaptic.
Bloquear paquetes en Synaptic evitará actualizaciones de paquetes usando la aplicación Ubuntu’s Software Updater, y posiblemente otros administradores de paquetes gráficos. Sin embargo, no impedirá la actualización de paquetes usando la aplicación Linux Mint Update Manager. Como resultado, recomiendo usar apt-mark o dpkg (ver abajo) para evitar que los paquetes se actualicen.
Puedes instalar Synaptic Package Manager utilizando este comando:
Para evitar que un paquete se actualice usando Synaptic, búscalo, selecciona el paquete y en el menú Synaptic haz clic en Paquete -> Bloquear versión:
De la misma manera, también puedes desbloquear el paquete.
Para ver todos los paquetes bloqueados en Synaptic, haz clic en Estado en la parte inferior izquierda y, a continuación, haz clic en Pinned (Anclado) encima de la sección Estado:
2. Evitar que un paquete se actualice usando apt-mark
Mantener los paquetes sin actualizar con apt-mark debería evitar que se actualicen usando el Actualizador de Software de Ubuntu, así como las actualizaciones de línea de comandos (apt upgrade / apt-get upgrade).
Puedes retener un paquete de futuras actualizaciones (y de ser eliminado automáticamente) con apt-mark usando este comando:
Puedes verificar qué paquetes marcados como retenidos utilizando:
Tanto para hold como para unhold puedes especificar múltiples paquetes, como cuando instala software con apt (separa los paquetes con un espacio).
3. Evitar las actualizaciones de paquetes con dpkg
Hace un tiempo había algunos gestores de paquetes gráficos que ignoraban el estado de apt-mark hold. No estoy seguro de que siga siendo así, pero para estar seguro (y en caso de que estés usando una versión antigua de Debian /Ubuntu/Linux Mint), he aquí otra forma de prevenir actualizaciones de paquetes en Ubuntu, Linux Mint o Debian: dpkg.
Para evitar que un paquete se actualice usando dpkg, usa:
Post original en: maslinux.es