GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Retener o evitar que un paquete se actualice en Debian, Ubuntu

Como ya sabe, podemos actualizar todos los paquetes instalados usando apt upgrade comando en Debian, Ubuntu y otros sistemas basados ​​en Debian. Durante este proceso de actualización, se actualizarán todos los paquetes instalados, se instalarán algunos paquetes adicionales (es decir, dependencias) y se eliminarán algunos paquetes innecesarios. El administrador de paquetes Apt hace todas estas cosas automáticamente para ayudar a los usuarios a mantener un sistema limpio. Apt también tiene una opción para evitar que un paquete se instale, actualice o elimine automáticamente en Debian, Ubuntu y sus variantes. En esta guía, analizaremos varios métodos para retener o evitar que un paquete se actualice en Debian, Ubuntu y sus derivados, como Linux Mint y Pop!_OS.

¿Por qué alguien querría evitar que un paquete se actualice?

Quizás se pregunte por qué alguien querría retener un paquete de la actualización apt. ¿Actualizar los paquetes a la última versión no nos ayuda a proteger el sistema? ¡Por supuesto que sí! Pero usted no quiere hacer esto bajo ciertas circunstancias. Aquí hay algunas razones para evitar que se actualicen los paquetes:

  • Una versión actual de un paquete funciona bien, por lo que puede pensar que no es necesario actualizarlo.
  • Otra aplicación requiere una versión particular para funcionar correctamente.
  • El paquete que está a punto de actualizar puede ser problemático. A pesar de que los desarrolladores prueban los paquetes minuciosamente antes de enviarlos a los repositorios, a veces pueden, sin saberlo, enviar paquetes inestables que dañarán su sistema.
  • Ahorro de ancho de banda. Es posible que no desee actualizar un paquete que consume más de 500 MB.

Sea cual sea el motivo, si alguna vez quiso evitar que un paquete cambie en los sistemas Debian o Ubuntu, este tutorial le ayudará.

Retener o evitar que un paquete se actualice en Debian, Ubuntu

Podemos evitar/retener/ignorar/excluir paquetes de la actualización apt desde la línea de comandos o usando la utilidad de administración de paquetes gráficos llamada Synaptic administrador de paquetes.

Primero, ¡veamos los métodos de la línea de comandos!

1. Evite que un paquete se instale, actualice o elimine automáticamente usando el comando apt-mark en Debian, Ubuntu

Marca Apt se utiliza para mostrar, establecer y desactivar varias configuraciones para un paquete, como marcar un paquete como instalado automáticamente/manualmente o cambiar dpkg selecciones como retener, instalar, desinstalar y purgar que se respetan, p. por apt-get dselect-upgrade o aptitude .

Para evitar cambios en un paquete (instalación, desinstalación y actualización), apt-mark El comando proporciona los siguientes tres subcomandos:

  1. mantener
  2. liberar
  3. escaparate

El hold El comando se usa para marcar un paquete como retenido, lo que evitará que el paquete se instale, actualice o elimine automáticamente.

El unhold El comando se usa para cancelar una retención establecida previamente en un paquete para permitir todas las acciones nuevamente.

Y el showhold El comando se usa para mostrar una lista de paquetes en espera.

Veamos un ejemplo. Voy a evitar que un paquete (por ejemplo, htop ) para que no se instalen, actualicen o eliminen automáticamente usando el comando:

$ sudo apt-mark hold htop

Salida de muestra:

htop set on hold.

El htop bloqueado el paquete permanecerá en la misma versión incluso después de actualizar su sistema.

Para mostrar los paquetes en espera, ejecute:

$ sudo apt-mark showhold

Para desbloquear el paquete, simplemente ejecute:

$ sudo apt-mark unhold htop

Salida de muestra:

Canceled hold on htop.

Tenga en cuenta que este método no evitará que el paquete se elimine manualmente . Todavía puede eliminar los paquetes bloqueados usando apt-get remove <packagename> comando.

Este método solo evita que la aplicación se instale, actualice, actualice o elimine automáticamente durante la actualización del sistema. Retener un paquete en realidad significa que le está diciendo al administrador de paquetes que mantenga la versión actual pase lo que pase, incluso si hay una nueva versión disponible . Este truco puede ser muy útil para frenar los controladores de gráficos. También es útil si la versión más reciente de un programa que funciona actualmente se rompe después de una actualización.

Siempre que intente actualizar el sistema usando los comandos sudo apt-get update o sudo apt-get upgrade , los paquetes marcados seguirán siendo la misma versión en el momento en que tenga el paquete.

Apt-mark no es la única utilidad CLI para evitar cambios de paquetes en Debian o Ubuntu. Hay dos formas más de poner un paquete en espera y recuperarlo más tarde desde la línea de comandos.

2. Evite que el paquete se actualice usando dpkg en Debian, Ubuntu

Dpkg es la utilidad de línea de comandos para instalar, compilar, eliminar y administrar paquetes de Debian.

Para poner un paquete, por ejemplo htop , en espera usando dpkg, ejecute:

$ echo "htop hold" | sudo dpkg --set-selections

Puede ver el estado del paquete que puso en espera anteriormente, ejecute:

$ dpkg --get-selections | grep "htop"
htop						hold

Como puede ver, htop está en espera.

Para ver el estado de todos los paquetes, ejecute:

$ dpkg --get-selections

Para liberar el paquete, haz lo siguiente:

$ echo "htop install" | sudo dpkg --set-selections

3. Retenga un paquete de la actualización usando aptitude en Debian, Ubuntu

Aptitud es una interfaz basada en texto para el sistema de paquetes Debian GNU/Linux. Le permite al usuario realizar varias tareas de administración de paquetes, como instalar, actualizar, mejorar, enumerar y eliminar paquetes.

Para poner un paquete en espera y evitar que se actualice automáticamente, ejecute:

$ sudo aptitude hold htop

Para ver el estado del paquete, ejecute:

$ aptitude show htop

Salida de muestra:

Package: htop                            
Version: 2.2.0-2build1
State: installed [held]
Automatically installed: no
Priority: optional
Section: utils
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Uncompressed Size: 225 k
Depends: libc6 (>= 2.15), libncursesw6 (>= 6), libtinfo6 (>= 6)
Suggests: lsof, strace
Description: interactive processes viewer
 Htop is an ncursed-based process viewer similar to top, but it allows
 one to scroll the list vertically and horizontally to see all processes
 and their full command lines. 
 
 Tasks related to processes (killing, renicing) can be done without
 entering their PIDs.
Homepage: https://hisham.hm/htop/

Como puede ver en el resultado anterior, el paquete htop está retenido desde la actualización.

Para liberar el paquete, simplemente haga lo siguiente:

$ sudo aptitude unhold htop

4. Evite que un paquete se instale, actualice o elimine automáticamente usando el administrador de paquetes Synaptic en Debian, Ubuntu

Si tienes Synaptic administrador de paquetes instalado en su sistema, puede bloquear fácilmente un paquete para que no se instale, actualice, actualice o elimine.

Abra el administrador Synaptic y busque el paquete que desea retener. Luego haz clic en Paquete en la barra de menú y haz clic en mantener .

Eso es todo. Ahora, el paquete no se tocará durante la actualización del sistema siempre que lo hayas mantenido en espera.

Para desbloquearlo, vaya a Synaptic -> Paquete -> Desbloquear versión.

Si el administrador de paquetes Synaptic no está instalado en su sistema, puede instalarlo usando el comando:

$ sudo apt install synaptic

Conclusión

En este tutorial, aprendió cómo evitar que un paquete se instale, actualice y elimine automáticamente en sistemas basados ​​en Debian como Ubuntu, Linux Mint y Pop!_OS, etc. Si bien retener paquetes puede ser útil en ciertos casos, también lo será. deje lagunas de seguridad en su sistema Ubuntu. Uno debe saber cuándo retener o liberar paquetes. Utilice esta función con precaución. ¡Buena suerte!

Lectura relacionada:

  • Cómo ignorar la actualización de un paquete en Arch Linux

Imagen destacada de erfouris studio de Pixabay.


Ubuntu
  1. Cómo desinstalar o eliminar paquetes de software de Ubuntu

  2. Actualizar de Ubuntu 13.10 a Ubuntu 14.04

  3. Actualizar de Ubuntu 13.04 a Ubuntu 13.10

  4. Cómo actualizar a Ubuntu 15.10 desde Ubuntu 15.04

  5. Cómo evitar que un paquete se actualice en Ubuntu, Debian o Linux Mint [APT]

Cómo compilar paquetes Debian desde el código fuente

Cómo actualizar de Ubuntu 20.04 a Ubuntu 22.04

3 formas de instalar software desde paquetes .deb en Ubuntu

Cómo instalar paquetes Deb en Ubuntu, Debian y Mint

Cómo excluir paquetes de Apt-Get Upgrade

Cómo eliminar paquetes de Ubuntu y Debian