Cómo actualizar paquetes individuales en CentOS

En este artículo, profundizaremos y veremos cómo podemos actualizar paquetes específicos en distribuciones CentOS. De vez en cuando, es posible que deba actualizar ciertos paquetes y dejar otros en sus versiones predeterminadas. Una razón de esto es mantener la estabilidad de los paquetes que se utilizan para ejecutar servicios cruciales como bases de datos y servidores web. A veces, una actualización puede provocar cambios en el paquete que pueden afectar el funcionamiento normal de los servicios.

Usando yum para actualizar paquetes específicos en CentOS

Antes que nada, es posible que primero necesitemos verificar los paquetes con actualizaciones pendientes. Para hacer esto, ejecute el siguiente comando

yum list updates

Es posible que deba mostrar varias versiones de un paquete que existe en su sistema. Para hacer esto, ejecute el siguiente comando

yum --showduplicates list httpd | expand

En lo de arriba example, mostrará varias versiones del paquete httpd.

 Installed Packages
httpd.x86_64         2.4.6-67.el7_4.6          @rhui-REGION-rhel-server-releases
Available Packages
httpd.x86_64         2.4.6-17.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-18.el7_0            rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-19.el7_0            rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-31.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-31.el7_1.1          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-40.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-40.el7_2.1          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-40.el7_2.4          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-45.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-45.el7_3.4          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7              rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7_4.2          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7_4.5          rhui-REGION-rhel-server-releases
httpd.x86_64         2.4.6-67.el7_4.6          rhui-REGION-rhel-server-releases

De los resultados anteriores, notamos que el paquete httpd actualmente instalado es la versión 2.4.6-67.el7_4.6 cuál es la última. ¿Qué pasaría si quisiera instalar una versión específica del paquete, cómo lo haría? La sintaxis para eso será la que se muestra a continuación.

yum install packagename version

Para example, Si desea cambiar a la versión 2.4.6-67.el7_4.5, primero deberá eliminar la última versión como se muestra.

yum remove httpd

A partir de entonces, instale su versión httpd preferida como se muestra.

yum install httpd 2.4.6-67.el7_4.5

Para bloquear la versión del paquete que hemos instalado, para evitar futuras actualizaciones, usamos el complemento versionlock. Para instalar el complemento, ejecute

yum install yum-versionlock

Salida de muestra

yum-plugin-versionlock-1.1.31-42.el7.noarch.rpm                                                                                                  |  32 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : yum-plugin-versionlock-1.1.31-42.el7.noarch                                                                                                          1/1
  Verifying  : yum-plugin-versionlock-1.1.31-42.el7.noarch                                                                                                          1/1

Installed:
  yum-plugin-versionlock.noarch 0:1.1.31-42.el7

Complete!

Para bloquear nuestra versión del paquete httpd, ejecutaremos el siguiente comando

yum versionlock httpd

Producción

Loaded plugins: amazon-id, rhui-lb, search-disabled-repos, versionlock
Adding versionlock on: 0:httpd-2.4.6-67.el7_4.5  
versionlock added: 1

Para actualizar paquetes específicos

yum upgrade package-name

Para excluir temporalmente un paquete de una actualización, ejecute el siguiente comando

yum --exclude update package-name

Alternativamente, puede utilizar el -x bandera en lugar de --exclude

yum -x exclude httpd,php

El comando anterior excluirá los paquetes httpd y php de la actualización a medida que se actualicen el resto de los paquetes.

Si desea deshabilitar permanentemente un paquete de las actualizaciones, busque el yum.conf en /etc/yum/yum.conf

Aquí hay un vistazo de cómo se ve

Para excluir un paquete, agregue exclude=package-nameal final del archivo de configuración. En esto example, excluiremos los paquetes samba, httpd, php y mariadb de la actualización como se muestra a continuación.

Si intenta actualizar cualquiera de los paquetes, obtendrá un No packages marked for update error.

Lectura relacionada:

  • Cómo excluir paquetes específicos de Yum Update
  • Cómo excluir un paquete específico de apt-get Upgrade

Le invitamos a probar los comandos. Sus comentarios son bienvenidos. Gracias.