La herramienta Apt es un sistema de administración de paquetes de alto nivel para distribuciones de Linux basadas en Debian, como ubuntuque le permite instalar, actualizar y eliminar fácilmente paquetes de software.
inicial, fácil Diseñado como una interfaz bolsa de embalaje trabajar juntos .deb
Bolsa. Desde entonces, ha ganado una gran popularidad en macOS, OpenSolaris y otros sistemas.
¿Quiere aprender y dominar los comandos APT y DPKG para gestionar la gestión de paquetes de Debian? Utilice nuestros artículos detallados que cubren más de 30 ejemplos de ambas herramientas.
En este artículo, exploraremos varias técnicas para deshabilitar o bloquear la instalación, actualización o eliminación de paquetes en Debian Linux y sus derivados, como Ubuntu y Linux Mint.
Tabla de Contenidos
1. Utilice apt-mark para bloquear el paquete
este apt-mark
El comando marcará o desmarcará un paquete para su instalación automática, se usa con la opción hold
o unhold
.
hold
– Esta opción marca el paquete como reservado, lo que impide que se instale, actualice o elimine el paquete.unhold
– Esta opción elimina cualquier reserva establecida previamente para el paquete, lo que permite instalarlo, actualizarlo o eliminarlo.
Bloquear paquetes en Ubuntu
Por ejemplo, haz un paquete como este. apache2
Si no se puede instalar, actualizar o desinstalar, puede usar el siguiente comando en una terminal con privilegios de root:
sudo apt-mark hold apache2
Para comprobar si la suite se ha bloqueado correctamente, ejecute:
apt-mark showhold
Este comando mostrará una lista de todos los paquetes actualmente bloqueados.
Desbloqueo de paquetes en Ubuntu
Si decide permitir que este paquete se actualice nuevamente, puede desbloquearlo utilizando el siguiente método:
sudo apt-mark unhold apache2
2. Utilice las preferencias de APT para bloquear las actualizaciones de paquetes
Otra forma de bloquear actualizaciones para un paquete específico es agregar su entrada a /etc/apt/preferences
o /etc/apt/preferences.d/referencefile
Archivo, que puede ser cualquier archivo, responsable de actualizar o bloquear ciertas actualizaciones de paquetes según las prioridades especificadas por el usuario.
Para bloquear este paquete, cree un nuevo archivo en la siguiente ubicación /etc/apt/preferences.d/
Tabla de contenido.
sudo nano /etc/apt/preferences.d/no-updates
En el archivo, agregue las siguientes líneas para especificar los paquetes que se incluirán en la lista negra:
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
Descripción de la opción:
o=Ubuntu
: Esta especificación siempre se aplica a paquetes originados en distribuciones de Ubuntu.Pin-Priority: 1
: Establecer la prioridad en 1 evita efectivamente las actualizaciones, ya que cualquier paquete con una prioridad más alta tendrá prioridad.
Puede refinar aún más sus criterios fijados utilizando varias palabras clave:
a
: Archivo (por ejemplo, a=estable, a=pruebas)c
: componente (por ejemplo, c=principal, c=universo)o
:Origen (por ejemplo, o=Debian, o=Ubuntu)l
:tag (para etiquetas de repositorio específicas)n
:arquitectura (por ejemplo, n=amd64)
Después de guardar el archivo de preferencias, ejecute el siguiente comando para actualizar el manifiesto de su paquete.
sudo apt update
3. Utilice APT para eliminar automáticamente archivos y poner en lista negra las actualizaciones de paquetes de software
Utilice el siguiente comando para incluir en la lista negra las actualizaciones de paquetes fácil archivo autoremove, puede crear configuraciones específicas para evitar que ciertos paquetes se eliminen durante las operaciones de limpieza del sistema.
Necesitas crear o editar un archivo. 99autoremove
existir /etc/apt/apt.conf.d/
directorio, ya que este archivo especificará qué paquetes conservar.
sudo nano /etc/apt/apt.conf.d/99autoremove
En el archivo, agregue las siguientes líneas para especificar los paquetes que se incluirán en la lista negra para la eliminación automática:
Apt::NeverAutoRemove { "apache2"; };
Después de agregar las líneas necesarias, ejecute el siguiente comando para actualizar el manifiesto de su paquete y asegurarse de que los cambios surtan efecto:
sudo apt update
Para verificar que la suite se haya incluido correctamente en la lista negra, puede intentar ejecutar apt autoremove
El comando para ver los paquetes en la lista negra no debería aparecer en la lista de paquetes que se eliminarán.
sudo apt autoremove
Si ve un paquete que ha incluido en la lista negra (p. ej. apache2
) en el manifiesto, indica que la configuración no se aplicó correctamente. Si no aparece, la lista negra es exitosa.
4. Incluya el paquete en la lista negra en la lista de fuentes.
También puede incluir un paquete en la lista negra modificando la lista de fuentes, pero este método es menos común y generalmente no se recomienda, e implica anotar el repositorio que proporciona el paquete.
Abra el archivo de la lista de fuentes en un editor de texto.
sudo nano /etc/apt/sources.list
Busque la línea que contiene el repositorio del paquete que desea incluir en la lista negra y coméntelo agregando #
al principio de la línea.
# deb focal main restricted
Finalmente, ejecute el siguiente comando para actualizar el manifiesto de su paquete:
sudo apt update
5. Evite las actualizaciones durante la actualización
Si desea evitar actualizaciones temporalmente mientras realiza una actualización del sistema, puede usar --no-upgrade
Opciones:
sudo apt upgrade --no-upgrade apache2
Esto actualizará todos los paquetes excepto el que usted especificó.
en conclusión
Utilice los siguientes comandos para deshabilitar, bloquear o incluir en la lista negra las actualizaciones de paquetes fácil Esta herramienta es un proceso simple que le brinda un mejor control sobre su sistema Linux.
¿Eliges bloquear tu paquete usando Apmark. Preferencias APTo modificar la lista de fuentes, cada método funciona según sus necesidades.