APTO significa que Advanced Packaging Tool es otro administrador de paquetes que se encuentra en los sistemas basados en Linux. Inicialmente diseñado como interfaz para dpkg para trabajar con .deb paquetes, apt ha logrado mostrar su visibilidad en Mac OS, Open Solaris, etc.
Quiere aprender y dominar sobre APT y DPKG comandos para administrar la administración de paquetes de Debian, luego use nuestros artículos detallados que cubrirán más de 30+ ejemplos en ambas herramientas.
25 Comandos APT útiles para la gestión de paquetes de Debian/Ubuntu15 Comandos Dpkg útiles para la gestión de paquetes en Debian/UbuntuEn este artículo veremos varias técnicas para deshabilitar/bloquear la instalación, actualización y eliminación de paquetes en Debian Linux y sus derivados, como Ubuntu y Linux Mint.
1. Deshabilitar/Bloquear paquete usando 'apt-mark' con la opción de retener/desbloquear
El comando apt-mark marcará o desmarcará un paquete de software como instalado automáticamente y se usa con la opción retener o liberar .
- mantener – esta opción se usa para marcar un paquete como retenido, lo que bloqueará la instalación, actualización o eliminación del paquete.
- liberar – esta opción se usa para eliminar una retención establecida previamente en un paquete y permitir instalar, actualizar y eliminar el paquete.
Por ejemplo, para hacer que un paquete diga apache2
no disponible para instalación, actualización o desinstalación, puede usar el siguiente comando en la terminal con privilegios de root:
# apt-mark hold apache2
Para que este paquete esté disponible para la actualización, simplemente reemplace 'esperar ' con 'liberar ‘.
# apt-mark unhold apache2
Bloqueo de actualizaciones de paquetes mediante el archivo de preferencias de APT
Otra forma de bloquear las actualizaciones de un paquete específico es agregar su entrada en /etc/apt/preferences
o /etc/apt/preferences.d/official-package-repositories.pref
expediente. Este archivo tiene la responsabilidad de actualizar o bloquear ciertas actualizaciones de paquetes según la prioridad especificada por el usuario.
Para bloquear el paquete, solo necesita ingresar su nombre, característica adicional y la prioridad a la que desea llevarlo. Aquí, prioridad < 1
bloquearía el paquete.
Para bloquear cualquier paquete, simplemente ingrese sus detalles en el archivo /etc/apt/preferences
así:
Package: <package-name> (Here, '*' means all packages) Pin: release * Pin-Priority: <less than 0>
Por ejemplo, para bloquear actualizaciones para el paquete apache2, agregue la entrada como se muestra:
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
Podemos usar otras opciones con la palabra clave de liberación para identificar aún más el paquete en el que estamos aplicando la prioridad de PIN. Esas palabras clave son:
- un -> Archivo
- c -> Componente
- o -> Origen
- l -> Etiqueta
- n -> Arquitectura
como:
Pin: release o=Debian,a=Experimental
Significaría extraer el paquete indicado del archivo experimental del paquete Debian.
Incluya en la lista negra una actualización de paquete mediante el archivo de eliminación automática de APT
Otra forma de incluir en la lista negra un paquete desde la instalación es actualizar su entrada en uno de los archivos contenidos en /etc/apt/apt.conf.d/
directorio que es 01autoremove .
El archivo de muestra se muestra a continuación:
APT { NeverAutoRemove { "^firmware-linux.*"; "^linux-firmware$"; }; VersionedKernelPackages { # linux kernels "linux-image"; "linux-headers"; "linux-image-extra"; "linux-signed-image"; # kfreebsd kernels "kfreebsd-image"; "kfreebsd-headers"; # hurd kernels "gnumach-image"; # (out-of-tree) modules ".*-modules"; ".*-kernel"; "linux-backports-modules-.*"; # tools "linux-tools"; }; Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; }; };
Ahora, para incluir en la lista negra cualquier paquete, solo necesita ingresar su nombre en Never-MarkAuto-Sections
. Simplemente ingrese el nombre del paquete al final en Never-MarkAuto-Section
y Guardar y cerrar el archivo. Esto bloquearía apt para buscar más actualizaciones de ese paquete.
Por ejemplo, para incluir en la lista negra un paquete para que no se actualice, agregue la entrada como se muestra:
Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; "apache2*"; }; };
Selección de paquete personalizado para actualización
Otra alternativa para esto es elegir lo que quieres actualizar. El apto La herramienta le da la libertad de elegir lo que desea actualizar, pero para ello debe saber qué paquetes están disponibles para la actualización.
Para tal cosa, el siguiente conjunto de comandos puede resultar útil:
a. Para listar qué paquetes tienen actualizaciones pendientes.
# apt-get -u -V upgrade
b. Para instalar solo paquetes selectivos.
# apt-get --only-upgrade install <package-name>
Conclusión
En este artículo, explicamos algunas formas de deshabilitar/bloquear o incluir en la lista negra las actualizaciones de paquetes usando la forma APT. Si conoce alguna otra forma preferida, háganoslo saber a través de comentarios o si estaba buscando el comando yum para deshabilitar/bloquear la actualización del paquete, luego lea este artículo a continuación.
Deshabilitar/bloquear actualizaciones de paquetes usando Yum en CentOS/RHEL