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


APT significa que Advanced Packaging Tool es otro administrador de paquetes que se encuentra en sistemas basados u200bu200ben Linux. Inicialmente diseñado como un front-end para que dpkg funcione con paquetes .deb, apt ha logrado mostrar su visibilidad en Mac OS, Open Solaris, etc.

Quiere aprender y dominar los comandos APT y DPKG para administrar la administración de paquetes Debian, luego use nuestros artículos detallados que cubrirán más de 30 ejemplos de ambas herramientas.

En este artículo veremos varias técnicas para deshabilitar/bloquear el paquete para que no se instale, actualice y elimine en Debian Linux y sus derivados, como Ubuntu y Linux Mint.

1. Deshabilitar / bloquear el paquete mediante "apt-mark" con la opción de retención / retención

El comando apt-mark marcará o desmarcará un paquete de software como instalado automáticamente y se usa con la opción hold o unhold.

  1. hold – this option used to mark a package as held back, which will block the package from being installed, upgraded or removed.
  2. unhold – this option used to remove a previously set hold on a package and allow to install, upgrade and remove package.

Por ejemplo, para hacer que un paquete diga apache2 no disponible para instalar, actualizar o desinstalar, puede usar el siguiente comando en la terminal con privilegios de root:

# apt-mark hold apache2

Para que este paquete esté disponible para su actualización, simplemente reemplace "hold" por "unhold".

# apt-mark unhold apache2

Bloqueo de actualizaciones de paquetes mediante el archivo de preferencias APT

Otra forma de bloquear las actualizaciones de un paquete específico es agregar su entrada en /etc/apt /ferences o /etc/apt/preferences.d/official-package-repositories.pref archivo. Este archivo tiene la responsabilidad de actualizar o bloquear ciertas actualizaciones de paquetes de acuerdo con la prioridad especificada por el usuario.

Para bloquear el paquete, solo necesita ingresar su nombre, característica adicional y a qué prioridad desea llevarlo. Aquí, la prioridad <1 bloquearía el paquete.

Para bloquear cualquier paquete, simplemente ingrese sus detalles en el archivo /etc/apt /ferences de esta manera:

Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>

Por ejemplo, para bloquear las actualizaciones del 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 release para identificar mejor el paquete en el que estamos aplicando la Prioridad de PIN. Esas palabras clave son:

  1. a -> Archive
  2. c -> Component
  3. o -> Origin
  4. l -> Label
  5. n -> Architecture

me gusta:

Pin: release o=Debian,a=Experimental

Significaría extraer el paquete indicado del archivo experimental del paquete Debian.

Incluir en la lista negra una actualización de paquete usando APT Autoremove File

Otra forma de incluir un paquete en la lista negra de la instalación es actualizar su entrada en uno de los archivos contenidos en el directorio /etc/apt/apt.conf.d/ 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 guarde y cierre el archivo. Esto bloquearía apto para buscar más actualizaciones de ese paquete.

Por ejemplo, para poner un paquete en la lista negra 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 desea actualizar. La herramienta apt le da la libertad de elegir lo que desea actualizar, pero para ello debe tener conocimiento sobre qué paquetes están disponibles para la actualización.

Para tal cosa, el siguiente conjunto de comandos puede resultar útil:

a. Para enumerar qué paquetes tienen actualizaciones pendientes.

# apt-get -u -V upgrade

si. 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 APT. Si conoce alguna otra forma preferida, háganoslo saber a través de los comentarios o si estaba buscando el comando yum para deshabilitar/bloquear la actualización del paquete, luego lea este artículo a continuación.