synaptic-lock-package-version

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.

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:

sudo apt install synaptic

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:

synaptic-lock-package-version

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:

synaptic-show-locked-packages

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:

sudo apt-mark hold paquete

Reemplazando paquete por el paquete que quieres retener de la actualización.

Puedes verificar qué paquetes marcados como retenidos utilizando:

apt-mark showhold

Para eliminar una retención (para que el paquete pueda ser actualizado), usa:

sudo apt-mark unhold paquete

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:

echo "paquete hold" | sudo dpkg --set-selections

Puedes ver todas las retenciones de paquetes usando este comando:

dpkg --get-selections | grep hold

Para eliminar la retención (permitir que el paquete se actualice), usa:

echo "paquete install" | sudo dpkg --set-selections

A diferencia de apt-mark, esta solución no permite especificar varios paquetes a la vez.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 27617 invitados y ningún miembro en línea