¿Por qué evitar que un paquete se actualice? Digamos que está instalando un paquete más antiguo que la versión disponible en los repositorios de Debian, Ubuntu o Linux Mint, o sabe que una actualización está causando problemas y desea que todos los paquetes menos uno (o dos, tres...) se actualicen.
Aquí hay un ejemplo. También estoy usando el navegador Chromium Parches de aceleración de hardware del PPA Saiarcot895-dev en Ubuntu 18.10. Para que la aceleración de hardware funcione con los controladores Nvidia, se requiere un paquete vdpau-va-driver parcheado, que aún no está disponible en este PPA para la última versión de Ubuntu 18.10. Afortunadamente, el paquete Ubuntu 18.04 se puede instalar en Ubuntu 18.10, pero cada actualización a través de "actualización apt" o usando el Actualizador de software actualiza ese paquete, lo cual no quiero. Entonces, en este caso, mantendría este paquete alejado de las actualizaciones para actualizar todos los demás paquetes sin tener que preocuparme por eso.
Tenga en cuenta que evitar que un paquete se actualice en el futuro puede causar problemas en algunas situaciones si el paquete que tiene se usa como una dependencia de otro paquete que se puede actualizar. Así que trate de no evitar que se actualicen demasiados paquetes, especialmente las bibliotecas.
De la misma serie:Cómo encontrar paquetes disponibles desde la línea de comandos en Debian, Ubuntu o Linux Mint [APT]
Aquí hay 3 formas de evitar que un paquete se actualice en Debian, Ubuntu, Linux Mint.
1. Impedir actualizaciones de paquetes mediante una GUI:Synaptic Package Manager
Synaptic Package Manager, un programa gráfico de gestión de paquetes Gtk para apt, puede bloquear paquetes, lo que evita que se actualicen.
Es importante tener en cuenta que el uso de Synaptic para bloquear paquetes no evita que se actualicen desde la línea de comandos, ejecutando apt upgrade
o apt-get upgrade
seguirá actualizando un paquete que está bloqueado en Synaptic. El bloqueo de paquetes en Synaptic evita las actualizaciones de paquetes mediante la aplicación Software Updater de Ubuntu y posiblemente otros administradores de paquetes gráficos. Sin embargo, no evitará que los paquetes se actualicen mediante la aplicación Linux Mint Update Manager. Así que recomiendo usar apt-mark
o dpkg
(ver más abajo) para evitar que los paquetes se actualicen.
Puede instalar Synaptic Package Manager con este comando:
sudo apt install synaptic
Para evitar que un paquete se actualice con Synaptic, búsquelo, seleccione el paquete y haga clic en el menú Synaptic Package -> Lock Version
:
También puede desbloquear el paquete de la misma manera.
Para ver todos los paquetes bloqueados en Synaptic, haga clic en Status
abajo a la izquierda, luego haz clic en Pinned
arriba Status
Sección:
2. Impedir que un paquete se actualice con apt-mark
Evitar que los paquetes se actualicen con apt-mark debería evitar que se actualicen con el Actualizador de software de Ubuntu, así como con las actualizaciones de la línea de comandos (apt upgrade
/ apt-get upgrade
).
Puede usar un paquete para futuras actualizaciones (y para la eliminación automática) con apt-mark
con este comando:
sudo apt-mark hold PACKAGE
Sustituir PACKAGE
con el paquete que desea evitar que se actualice.
Puede verificar qué paquetes están marcados como hold
(para que no se actualicen) con:
apt-mark showhold
Para eliminar una retención (para que el paquete se pueda actualizar) use:
sudo apt-mark unhold PACKAGE
Para ambos hold
y unhold
Puede especificar varios paquetes, al igual que instalar software con apt
(separar los paquetes con un espacio).
3. Impedir actualizaciones de paquetes con dpkg
Hace algún tiempo hubo algunos administradores de paquetes gráficos que ignoraron el estado apt-mark-hold. No estoy seguro de si ese sigue siendo el caso, pero solo para estar seguro (y en caso de que esté usando una versión anterior de Debian/Ubuntu/Linux Mint) hay otra forma de obtener actualizaciones de paquetes en Ubuntu, Linux Mint o Debian aquí prevenir:dpkg.
Para evitar que un paquete se actualice con dpkg, use:
echo "PACKAGE hold" | sudo dpkg --set-selections
Sustituir PACKAGE
con el paquete que desea evitar que se actualice.
Puede ver todos los paquetes retenidos con este comando:
dpkg --get-selections | grep hold
Para desbloquear (permitir que el paquete se actualice) use:
echo "PACKAGE install" | sudo dpkg --set-selections
no como apt-mark
, esta solución no permite especificar varios paquetes al mismo tiempo.