GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo deshabilitar/bloquear o incluir en la lista negra las actualizaciones de paquetes con la herramienta Apt

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/Ubuntu

En 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 .

  1. 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.
  2. 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:

  1. un -> Archivo
  2. c -> Componente
  3. o -> Origen
  4. l -> Etiqueta
  5. 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
Linux
  1. 4 formas de deshabilitar/bloquear ciertas actualizaciones de paquetes usando el comando Yum

  2. ¿Cómo puedo desactivar las actualizaciones automáticas de KernelCare?

  3. Cómo comparar tres archivos en Linux usando la herramienta diff3

  4. Cómo crear paquetes desde el origen mediante CheckInstall

  5. ¿Cómo instalar un archivo Deb, por Dpkg -i o por Apt?

Cómo instalar paquetes de forma segura usando Npm o Yarn en Linux

Cómo bloquear un archivo de texto en Linux usando el comando flock

Cómo instalar actualizaciones del sistema usando Webmin

Cómo descargar paquetes usando APT sin instalarlos

Cómo deshabilitar las actualizaciones automáticas en Ubuntu 20.04 LTS

Cómo enumerar los paquetes instalados en Linux mediante la administración de paquetes