Linux en Español

15+ ejemplos para el comando yum update

Yum es un gestor de paquetes usado en Red Hat, CentOS, y otras Distribuciones de Linux que usan RPM Package Manager. Yum se usa para instalar, actualizar, borrar o manipular de alguna manera los paquetes instalados en estos sistemas Linux.

En este tutorial, cubriremos el comando de actualización de yum – qué es, cómo usarlo, y todos los diferentes comandos que usted puede necesitar saber cuándo desee actualizar los paquetes instalados en su sistema.

 

 

¿Cómo funciona yum update?

Puedes usar el comando yum update para actualizar las aplicaciones instaladas en un sistema. Si ejecutas el comando sin especificar ningún nombre de paquete, actualizará todos los paquetes del sistema.

$ yum update

Cuando ejecute este comando, yum comenzará por comprobar en sus repositorios si existe una versión actualizada del software que su sistema tiene instalado actualmente. La siguiente captura de pantalla muestra el tipo de salida que verá normalmente al ejecutar por primera vez el comando yum update.

comando yum update

Como puedes ver, la salida de yum primero lista los repositorios que está consultando, que son los predeterminados para CentOS: AppStream, Base y Extras. Debajo de eso, yum lista los diferentes paquetes para los que ha encontrado actualizaciones.

En el extremo final de esta salida, yum mostrará el “Resumen de Transacciones”, que muestra el número total de paquetes que deben ser instalados y actualizados.

yum update resumen

En este ejemplo, se están actualizando 166 paquetes y se están instalando 6 nuevos paquetes.

En caso de que se pregunte por qué se están instalando nuevos paquetes cuando se supone que sólo estamos actualizando aplicaciones, algunos nuevos paquetes de software pueden haber pasado a formar parte de esta distribución de Linux, o algunas aplicaciones actualizadas pueden depender de paquetes adicionales que aún no están instalados.

Una vez que revise la lista de software que yum planea actualizar, puede confirmar estos cambios escribiendo “y” y pulsando intro.

Yum realizará entonces las actualizaciones, que pueden llevar algún tiempo dependiendo de la velocidad de su conexión y del propio sistema.

Una vez que haya terminado, obtendrá un resumen final, que enumerará todos los paquetes que fueron actualizados con éxito, así como cualquier error que pueda haberse encontrado.

yum update completo

 

Update without gpg checking

Puedes usar las claves GPG para verificar la autenticidad de un paquete RPM. La opción –nogpgcheck en yum le indicará que se salte la comprobación de las firmas GPG de los paquetes. Esto es útil en los casos en los que tienes un paquete sin firmar, o simplemente no tienes la clave GPG.

$ yum update --nogpgcheck

Esta es una solución rápida si se encuentra con un error como “Package NameOfPackage.rpm is not signed .. install failed!” cuando se ejecuta el comando normal de actualización de yum. La opción –nogpgcheck ignorará esta advertencia y procederá a actualizar el paquete de todos modos.

Actualización desde un repo local

Es posible establecer repositorios locales para que yum consulte cuando haga una actualización. Esto se hace a menudo si desea utilizar yum para actualizar paquetes que no están incluidos en los repositorios predeterminados, o si necesita actualizar un sistema sin conexión.

Primero, coloque todos sus archivos RPM actualizados en una nueva carpeta. En este ejemplo, usaremos /root/rpms.

A continuación, navegue hasta el siguiente directorio donde podrá ver todos los archivos de reposición de yum:

$ cd /etc/yum.repos.d

Archivos de repositorios locales

Para crear un repositorio local, crea un nuevo archivo en este directorio.

$ vi MyRepo.repo

Dentro de tu archivo de repo, configúralo en este formato, cambiando las líneas según sea necesario:

[MyRepo]

name=My Local Repo

baseurl=file:///root/rpms

enabled=1

gpgcheck=0

La gran diferencia entre un repo local y un repo remoto está en la línea “baseurl”, donde el protocolo file:// está especificando un archivo local, a diferencia de los protocolos remotos http:// o ftp://

Después de guardar el archivo, establezca los permisos correctos:

$ chmod 644 MyRepo.repo

El repositorio debería estar ahora listo para ser utilizado. Asegúrese de limpiar la caché de yum antes de intentar un comando de actualización de yum:

$ yum clean all

Mostrar parches

Yum puede mostrar los parches de seguridad disponibles, sin instalarlos, con este comando

$ yum updateinfo list security

Lista de parches específicos

Si no devuelve ninguna salida, como en la captura de pantalla anterior, esto significa que no hay parches de seguridad disponibles para ningún software en su sistema.

 

Actualizar un paquete individual

Si necesita actualizar un determinado paquete sin ejecutar una actualización por cada aplicación instalada, sólo tiene que especificar el nombre del paquete en su comando yum update.

$ yum update name-of-package

Se pueden especificar varios paquetes, separados por un espacio. Es necesario que el nombre del paquete esté perfectamente escrito para que yum lo encuentre en sus repositorios; si no está seguro del nombre de un paquete, compruebe primero qué paquetes pueden actualizarse actualmente:

$ yum check-update

 

Actualizar todos menos un paquete

Si necesita ejecutar el comando yum update para actualizar todos los paquetes, pero desea excluir un paquete, puede especificar la opción –exclude.

Una situación común en la que los administradores pueden encontrar esto necesario es con las actualizaciones del kernel, ya que se trata de actualizaciones importantes que podrían causar errores impredecibles en un servidor de producción. Sin embargo, es posible que quieran seguir ejecutando el comando para actualizar aplicaciones menos sensibles.

Para excluir un paquete (en este ejemplo, los relacionados con el kernel):

$ yum update --exclude=kernel*

El asterisco actúa como un comodín, en caso de que haya varios paquetes relacionados, o no se sepa el nombre completo del paquete.

Alternativamente:

$ yum update -x 'kernel*'

Excluir múltiples paquetess

Puedes excluir varios paquetes con más banderas de exclusión.

$ yum update --exclude=kernel* --exclude=httpd

Utilice esta bandera como en el ejemplo anterior, o la bandera -x, tantas veces como sea necesario.

Revisar cuando fue la última vez que corrió yum update

Para ver una lista de las transacciones yum, con la fecha y la hora en que se ejecutaron, use el comando de history yumm.

$ yum history

Revisar cuando fue la última vez que corrió yum update

En la captura de pantalla de arriba, puedes ver que la última vez que Yum actualizó el software fue el 4 de enero.

Revertir actualización

Una gran característica de yum es que permite deshacer una actualización reciente, restaurando así los paquetes actualizados a sus versiones anteriores.

A cada acción de yum (instalar, actualizar, borrar, etc.) se le asigna un ID de transacción, y este ID debe ser especificado cuando se deshace una actualización de yum. Para ver una lista de los ID de transacción de las operaciones recientes de yum, utilice este comando:

$ yum history

Listar el historial de yum

En la captura de pantalla de arriba, se puede ver que la última operación realizada con yum fue instalar el paquete httpd. Deshacer una instalación o una actualización funciona de la misma manera, por lo que, en este ejemplo, desharemos esta reciente instalación de httpd. Como se muestra en la captura de pantalla, esta operación tiene un ID de 7.

Para deshacer este cambio y hacer retroceder el programa a su versión anterior, emita este comando:

$ yum history undo 7

Deshacer yum update

Como de costumbre, el ñam resumirá los cambios a realizar y preguntará si desea proceder con una indicación de S/N. Introduzca S, y la transacción especificada se deshará.

informe de deshacer yum

 

Limpiar una actualización de yum fallida (solución de problemas)

Si uno o más paquetes no se actualizan con éxito cuando se ejecuta el comando yum update, el sistema puede terminar con paquetes duplicados instalados (2 versiones del mismo programa).

A veces, seguir las instrucciones de retroceso de la sección anterior puede solucionar el problema. Si eso no funciona, puede eliminar los paquetes duplicados del sistema con este comando:

$ package-cleanup --dupes

Yum almacena un caché de información para los paquetes, metadatos y cabeceras. Si encuentras un error, limpiar la caché de yum es un buen primer paso para la resolución de problemas. Use el siguiente comando para hacerlo:

$ yum clean all

comando yum clean

 

Saltar errores

Cuando se actualiza o instala un paquete, ese paquete puede requerir software adicional para funcionar correctamente. Yum es consciente de estas dependencias e intentará resolverlas durante las actualizaciones instalando o actualizando los paquetes adicionales que sean necesarios.

Si yum tiene problemas para instalar las dependencias necesarias, produce un error y no procede más. Esto es un problema si tiene otros paquetes que necesitan ser actualizados.

Para indicarle a yum que proceda a actualizar otros paquetes y a saltarse los que tienen dependencias rotas, puede especificar el comando –skip-broken en su comando de actualización de yum.

$ yum update --skip-broken

Obtener una lista de paquetes que necesitan una actualización

Ejecutar el comando de actualización yum como de costumbre, sin opciones adicionales, saldrá una lista de actualizaciones disponibles.

$ yum update

Si desea ver información adicional sobre las actualizaciones disponibles del paquete, escriba este comando:

$ yum updateinfo

Para ver información sobre las actualizaciones de seguridad disponibles para el sistema, escriba este comando:

$ yum updateinfo security

Diferencias entre una check updates de yum y list updates

Aunque los dos comandos suenan similares, por lo que hay una diferencia entre la búsqueda de actualizaciones y el listado de actualizaciones en yum.

$ yum list updates

El comando para listar actualizaciones, mostrado arriba, listará todos los paquetes en los repositorios que tengan una actualización disponible. Tenga en cuenta que algunos de los paquetes de los repositorios pueden no estar instalados en su sistema.

$ yum check-update

El comando para buscar actualizaciones, visto arriba, es una forma de buscar actualizaciones sin solicitar la interacción del usuario. Este es el comando por el que optaría si estuviera codificando un script para buscar actualizaciones, por ejemplo.

El comando check-update devolverá un valor de salida de 100 si hay paquetes que tienen actualizaciones disponibles, y devolverá un valor de salida de 0 si no hay actualizaciones disponibles.

Un valor de 1 se devuelve si se encuentra un error. Use estos códigos de salida para codificar su script en consecuencia.

 

Notificación cuando las actualizaciones estén disponibles

Hay algunos paquetes que pueden ayudar a administrar las actualizaciones de Yum en su sistema. Algunos incluso pueden notificar a los administradores cuando yum tenga actualizaciones que estén disponibles para ser instaladas. Uno de estos servicios se llama yum-cron.

Instale yum-cron usando yum:

$ yum install yum-cron

Configure el servicio yum-cron para que se inicie en el arranque:

$ systemctl enable yum-cron.service

$ systemctl start yum-cron.service

Configuré los parámetros de yum-cron dentro del archivo de configuración utilizando vi o su editor de texto preferido:

$ vi /etc/yum/yum-cron.conf

En este archivo, puede especificar si las actualizaciones deben aplicarse automáticamente o no. Si sólo desea recibir notificaciones, rellene la información de correo electrónico dentro del archivo de configuración. Yum-cron le enviará un correo electrónico cada vez que haya actualizaciones disponibles para su sistema.

apply_updates = no #no aplique actualizaciones automáticamente

email_from = [email protected]

email_to = [email protected]

email_host = localhost

¿Qué puertos utiliza las actualizaciones yum?

Yum usa el puerto 80 cuando busca actualizaciones. Si miras dentro de los archivos del repositorio en tu sistema, verás que todos los enlaces dentro empiezan con http.

Si necesitas crear una regla en tu firewall para permitir que Yum funcione, necesitas permitir el puerto 80.

 

Yum update vs. upgrade

Hasta ahora, sólo hemos hablado del comando yum update en este tutorial, pero hay otro comando muy similar: yum upgrade.

$ yum upgrade

Hay una pequeña diferencia entre estos dos comandos. yum update actualizará los paquetes de su sistema, pero omitirá la eliminación de los paquetes obsoletos.

Yum update también actualizará todos los paquetes de su sistema, pero también eliminará los paquetes obsoletos.

Esto hace que Yum update sea la opción más segura, ya que no tiene que preocuparse de eliminar accidentalmente un paquete necesario al actualizar su software.

Use algo de discreción cuando emita el comando de actualización yum, ya que puede que no conserve algunos de los paquetes que todavía está usando.

Finalmente, espero que el tutorial te resulte útil.

Sigue volviendo.

Mokhtar Ebrahim
Fundadora de LikeGeeks. Estoy trabajando como administrador de sistemas Linux desde 2010. Soy responsable de mantener, proteger y solucionar problemas de servidores Linux para múltiples clientes de todo el mundo. Me encanta escribir guiones de shell y Python para automatizar mi trabajo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *