Consultar y actualizar paquetes con YUM en Linux

Red Hat Enterprise LinuxBeginner
Practicar Ahora

Introducción

En esta práctica de laboratorio, adquirirás las habilidades esenciales para gestionar paquetes de software en sistemas Linux basados en RHEL utilizando el gestor de paquetes YUM. Comenzarás inspeccionando los detalles y las dependencias de los paquetes instalados actualmente mediante los comandos yum list y yum deplist. También explorarás los repositorios de software configurados en tu sistema con yum repolist para comprender de dónde proviene tu software y qué opciones tienes disponibles.

A partir de estos conocimientos fundamentales, te centrarás en el mantenimiento y la actualización del sistema. Aprenderás a utilizar yum check-update para identificar los paquetes que tienen versiones más recientes disponibles. Finalmente, practicarás la aplicación de estas actualizaciones, aprendiendo la diferencia entre actualizar un único paquete específico y realizar una actualización integral de todo el sistema para mantener tu entorno seguro y actualizado.

Esta es una Práctica Guiada, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que esta es una práctica de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de valoraciones positivas del 99% por parte de los alumnos.

Inspeccionar un paquete instalado con 'yum list' y 'yum deplist'

En este paso, aprenderás a inspeccionar los paquetes instalados utilizando yum, el gestor de paquetes predeterminado para CentOS y otras distribuciones de Linux basadas en RHEL. Comenzaremos examinando el paquete bash, que proporciona el entorno de shell que probablemente estés utilizando. Estos comandos te ayudan a entender qué hay instalado en tu sistema y de qué otros componentes depende un paquete para funcionar.

Primero, usemos el comando yum list para verificar el estado de un paquete específico. Este comando puede indicarte si un paquete está instalado y qué versión se encuentra en tu sistema.

Para comprobar los detalles del paquete bash, ejecuta el siguiente comando en tu terminal:

sudo yum list bash

Verás una salida similar a esta, confirmando que bash está instalado. El símbolo @ en la columna del repositorio (por ejemplo, @anaconda o @System) indica que es un paquete instalado.

Installed Packages
bash.x86_64    <version>    @anaconda

A continuación, exploremos el concepto de dependencias. La mayoría de los paquetes de software no son autónomos; dependen de otros paquetes, como librerías o herramientas, para funcionar correctamente. Estos paquetes requeridos se denominan dependencias. El comando yum deplist te permite ver una lista completa de las dependencias de un paquete determinado.

Para ver todos los paquetes de los que depende el paquete bash, ejecuta este comando:

sudo yum deplist bash

La salida enumerará cada dependencia y el paquete que la proporciona. Esto es crucial para entender cómo yum resuelve y gestiona las instalaciones de software.

package: bash.x86_64 <version>
  dependency: /bin/sh
   provider: bash.x86_64 <version>
  dependency: chkconfig
   provider: chkconfig.x86_64 <version>
  dependency: coreutils
   provider: coreutils.x86_64 <version>
  dependency: libc.so.6(GLIBC_2.15)(64bit)
   provider: glibc.x86_64 <version>
... (output truncated) ...

Al usar yum list y yum deplist, puedes obtener una comprensión clara de los paquetes instalados en tu sistema y sus relaciones entre sí.

Explorar repositorios y paquetes disponibles con 'yum repolist'

En este paso, aprenderás a explorar las fuentes de software, conocidas como repositorios, que yum utiliza para buscar e instalar paquetes. También aprenderás a buscar nuevos paquetes que estén disponibles para ser instalados en tu sistema.

Un repositorio de paquetes es una ubicación de almacenamiento centralizada donde se guardan los paquetes de software. Cuando le pides a yum que instale un paquete, este contacta con los repositorios configurados, descarga los archivos necesarios y los instala en tu sistema.

Para ver una lista de los repositorios que están habilitados actualmente en tu sistema, puedes usar el comando yum repolist. Esto es útil para verificar qué fuentes de software están activas.

Ejecuta el siguiente comando en tu terminal:

sudo yum repolist

La salida mostrará una lista de IDs de repositorio, sus nombres y la cantidad de paquetes que contienen. Se verá algo parecido a esto:

repo id                                                                                                                          repo name
rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                                       Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                                          Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)

Ahora que sabes dónde busca yum los paquetes, busquemos qué paquetes están disponibles para su instalación. El comando yum list available muestra todos los paquetes de tus repositorios habilitados que aún no están instalados en tu sistema.

Ejecutar yum list available por sí solo produciría una lista muy larga. Es más práctico buscar algo específico. Busquemos paquetes disponibles relacionados con el kernel de Linux. Puedes usar un comodín (*) para que coincida con varios nombres de paquetes.

Ejecuta este comando para listar todos los paquetes disponibles que comiencen con kernel:

sudo yum list available 'kernel*'

Las comillas simples alrededor de kernel* son importantes para evitar que el shell intente expandir el comodín por sí mismo. La salida mostrará una lista de paquetes disponibles relacionados con el kernel, sus versiones y el repositorio del que provienen.

Available Packages
kernel-devel.x86_64      <version>      updates
kernel-doc.noarch        <version>      updates
kernel-headers.x86_64    <version>      updates
... (output truncated) ...

Estos comandos son esenciales para gestionar el software de tu sistema, permitiéndote ver tus fuentes de software y descubrir nuevas herramientas para instalar.

Buscar actualizaciones disponibles con 'yum check-update'

En este paso, aprenderás a buscar actualizaciones de software disponibles para los paquetes instalados en tu sistema. Mantener tu sistema actualizado es una tarea crítica para la seguridad y la estabilidad, ya que las actualizaciones a menudo contienen parches para vulnerabilidades, correcciones de errores y nuevas funciones.

El comando yum check-update proporciona una forma segura de ver cuáles de tus paquetes instalados tienen versiones más recientes disponibles en los repositorios. Es importante tener en cuenta que este comando solo enumera las actualizaciones disponibles; no las descarga ni las instala. Esto te permite revisar los cambios potenciales antes de aplicarlos.

Para buscar todas las actualizaciones disponibles en tu sistema, ejecuta el siguiente comando en tu terminal:

sudo yum check-update

yum se conectará ahora a todos tus repositorios habilitados, actualizará su caché local de información de paquetes y comparará las versiones de tus paquetes instalados con las últimas versiones disponibles.

Si hay actualizaciones disponibles, verás una lista de ellas, similar al siguiente ejemplo. Cada línea muestra el nombre del paquete, la nueva versión y el repositorio desde el cual se actualizará.

bind-libs.x86_64                 <version>      updates
bind-license.noarch              <version>      updates
curl.x86_64                      <version>      updates
glibc.x86_64                     <version>      updates
glibc-common.x86_64              <version>      updates
... (output truncated) ...

Si tu sistema ya está completamente actualizado, el comando finalizará sin listar ningún paquete. Este comando es una parte esencial del mantenimiento rutinario del sistema, ofreciéndote una imagen clara del estado de tu equipo antes de proceder con el proceso de actualización real en los siguientes pasos.

Aplicar la actualización de un solo paquete con 'yum update '

En este paso, aplicarás la actualización de un paquete específico. En el paso anterior, utilizaste yum check-update para ver una lista de todos los paquetes con actualizaciones disponibles. Aunque es común actualizar todo el sistema a la vez, hay situaciones en las que podrías querer actualizar solo un paquete individual. Esto te otorga más control sobre los cambios en el sistema.

Elijamos un paquete de la lista que viste anteriormente para actualizarlo. Usaremos curl como ejemplo, que es una herramienta común para transferir datos. Si curl no estaba en tu lista de actualizaciones disponibles, puedes elegir otro paquete de esa lista.

Antes de actualizar el paquete, necesitamos degradar el paquete curl a una versión que tenga una actualización disponible.

sudo yum downgrade -y curl

Para actualizar únicamente el paquete curl, ejecuta el siguiente comando:

sudo yum update curl

yum resolverá ahora las dependencias de curl, determinará qué necesita ser actualizado y te presentará un resumen de la transacción. Este resumen muestra qué paquetes se actualizarán y el tamaño total de la descarga.

Resolving Dependencies
--> Running transaction check
---> Package curl.x86_64 0:<old_version> will be updated
---> Package curl.x86_64 0:<new_version> will be an update
--> Processing Dependency: libcurl = <new_version> for package: curl-<new_version>.x86_64
--> Running transaction check
---> Package libcurl.x86_64 0:<old_version> will be updated
---> Package libcurl.x86_64 0:<new_version> will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package      Arch         Version              Repository                 Size
================================================================================
Updating:
 curl         x86_64       <new_version>        updates                    <size>
Updating for dependencies:
 libcurl      x86_64       <new_version>        updates                    <size>

Transaction Summary
================================================================================
Upgrade  1 Package (+1 Dependent package)

Total download size: <total_size>
Is this ok [y/d/N]:

Revisa los cambios. Si estás listo para continuar, escribe y y presiona Enter. yum procederá entonces a descargar e instalar las actualizaciones.

Una vez finalizado el proceso, verás un mensaje de "Complete!", confirmando que la actualización fue exitosa.

...
Running transaction
  Updating   : libcurl-<new_version>.x86_64                                 1/4
  Updating   : curl-<new_version>.x86_64                                    2/4
  Cleanup    : curl-<old_version>.x86_64                                    3/4
  Cleanup    : libcurl-<old_version>.x86_64                                 4/4
  Verifying  : curl-<new_version>.x86_64                                    1/4
  ...

Updated:
  curl.x86_64 <new_version>

Dependency Updated:
  libcurl.x86_64 <new_version>

Complete!

Has actualizado con éxito un solo paquete y sus dependencias. Este enfoque selectivo es útil para aplicar parches de seguridad específicos o actualizaciones de funciones sin realizar una actualización completa del sistema.

Realizar una actualización completa del sistema con 'yum update'

En este paso, realizarás la tarea de gestión de paquetes más común e importante: una actualización completa del sistema. Si bien actualizar paquetes individuales es útil, actualizar regularmente todo el software de tu sistema es crucial para mantener la seguridad, la estabilidad y recibir las últimas funciones y correcciones de errores.

El comando yum update, cuando se ejecuta sin especificar el nombre de un paquete, verificará todos los paquetes instalados comparándolos con las versiones disponibles en tus repositorios habilitados y actualizará cada paquete para el cual se encuentre una versión más reciente.

Advertencia: Este proceso puede descargar una gran cantidad de datos y puede tardar un tiempo considerable en completarse, dependiendo de cuántas actualizaciones haya disponibles y de la velocidad de tu conexión a la red.

Para comenzar la actualización completa del sistema, ejecuta el siguiente comando en tu terminal:

sudo yum update

Al igual que al actualizar un solo paquete, yum primero resolverá todas las dependencias y luego te presentará un resumen de la transacción. Esta lista probablemente será mucho más larga que la anterior, ya que incluye cada paquete que necesita ser actualizado.

Resolving Dependencies
--> Running transaction check
... (many packages listed) ...

Dependencies Resolved

================================================================================
 Package               Arch         Version              Repository        Size
================================================================================
Updating:
 bind-libs             x86_64       <version>            updates           <size>
 bind-license          noarch       <version>            updates           <size>
 glibc                 x86_64       <version>            updates           <size>
 glibc-common          x86_64       <version>            updates           <size>
 ... (many more packages) ...

Transaction Summary
================================================================================
Upgrade  <X> Packages

Total download size: <total_size>
Is this ok [y/d/N]:

Revisa cuidadosamente la lista de paquetes que se van a actualizar. Cuando estés listo para continuar, escribe n para omitir la actualización, ya que actualizar todos los paquetes tomaría demasiado tiempo en este entorno de práctica.

¡Felicidades! Has aprendido cómo actualizar todo tu sistema. Esta es una habilidad fundamental para administrar cualquier servidor o estación de trabajo Linux, asegurando que se mantenga seguro y confiable.

Resumen

En esta práctica de laboratorio, aprendiste los fundamentos de la gestión de paquetes de software en un sistema Linux basado en RHEL utilizando el gestor de paquetes YUM. Comenzaste inspeccionando un paquete instalado con yum list para verificar su estado y versión, y luego utilizaste yum deplist para examinar sus dependencias. También exploraste las fuentes de software configuradas listando todos los repositorios activos con el comando yum repolist.

Posteriormente, la práctica te guio a través del proceso de actualización de paquetes. Aprendiste a buscar actualizaciones disponibles en todo el sistema sin instalarlas mediante yum check-update. Practicaste la aplicación de una actualización específica a un solo paquete con yum update <package> y concluiste realizando una actualización completa del sistema con el comando yum update para aplicar todos los parches y mejoras de software disponibles, garantizando que el sistema se mantenga al día y seguro.