Cómo actualizar paquetes específicos usando Yum
En esta guía, profundizaremos y veremos cómo podemos actualizar paquetes específicos en CentOS Stream. De vez en cuando, es posible que deba actualizar ciertos paquetes y dejar otros en sus versiones predeterminadas. Una razón para 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 generar cambios en el paquete que pueden afectar el funcionamiento normal de los servicios.
Usando yum para actualizar paquetes específicos
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 el ejemplo anterior, 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 cual es la ultima. ¿Qué pasaría si quisiera instalar una versión específica del paquete? ¿Cómo lo haría? La sintaxis para eso será como se muestra a continuación
yum install packagename version
Por ejemplo, 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 de 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
Como alternativa, 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 las actualizaciones de un paquete, busque el yum.conf
en /etc/yum/yum.conf
Aquí hay una instantánea de cómo se ve
Para excluir un paquete, agregue exclude=package-name
al final del archivo de configuración. En este ejemplo, excluiremos los paquetes samba, httpd, php y mariadb de la actualización como se muestra a continuación.
Ahora bien, si intenta actualizar cualquiera de estos paquetes, obtendrá un No packages marked for update
error.
Gracias por leer, deje sus comentarios y sugerencias en la sección de comentarios a continuación.