Uso de yum

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción

YUM es el gestor de paquetes histórico y robusto para sistemas basados en RPM que utilizan SysVinit. Este manual está dirigido a usuarios de ALDOS y distribuciones como CentOS 6/7 o Red Hat Enterprise Linux 6/7, donde YUM es la herramienta primaria o coexiste con versiones iniciales de DNF.

Acerca de YUM

YUM (Yellow Dog Updater, Modified) es una herramienta libre para la gestión de paquetes RPM, escrita en Python. Fue el gestor predeterminado durante muchos años y destaca por su fiabilidad y amplia adopción en entornos de producción estables.

Su capacidad para resolver dependencias automáticamente simplificó enormemente la administración de equipamiento lógico en Linux. Aunque en distribuciones modernas ha sido reemplazado por DNF, YUM permanece como una herramienta fundamental y vigente en ALDOS y en sistemas heredados que requieren máxima estabilidad.

Procedimientos esenciales

El siguiente compendio de mandatos cubre las operaciones diarias para gestionar paquetes con YUM. Como en todos los manuales, se privilegian los ejemplos ejecutables para fines pedagógicos.

Listados y búsquedas

Conocer qué paquetes están instalados o disponibles es el primer paso. Use el paginador less con listas extensas.

# Listar todos los paquetes disponibles para instalación
yum list available

# Listar todos los paquetes instalados en el sistema
yum list installed

# Listar las versiones instaladas de un paquete específico
yum list installed kernel

# Listar paquetes instalados con actualizaciones pendientes
yum list updates

# Listar todos los paquetes (instalados, disponibles, actualizaciones)
yum list all

# Filtrar listados con un patrón (ej: 'tools')
yum list '*tools*'

# Listar todos los grupos de paquetes disponibles
yum grouplist

Para buscar un paquete por nombre o descripción:

yum search término-de-búsqueda
yum search cups

Para consultar información detallada:

# Información de un paquete
yum info nombre-paquete
yum info cups

# Información de un grupo de paquetes
yum groupinfo "Nombre del Grupo"
yum groupinfo "Servidor Web"

Instalación de paquetes

YUM resuelve las dependencias de manera automática desde repositorios configurados o archivos locales.

# Instalación básica desde repositorios
yum install nombre-paquete
yum install elinks

# Instalación sin confirmación interactiva (para guiones de instrucciones)
yum -y install elinks

# Instalación omitiendo verificación de firma GPG (casos excepcionales)
yum install --nogpgcheck nombre-paquete

# Instalación desde un archivo RPM local
yum localinstall /ruta/al/paquete.rpm
yum localinstall ~/Descargas/google-talkplugin_current_x86_64.rpm

Para instalar grupos de paquetes completos:

yum groupinstall "Nombre del Grupo"
yum groupinstall "Servidor Web"

⚙️ Nota sobre grupos de paquetes: Por defecto, YUM instala sólo los paquetes mandatory (obligatorios) y default (predeterminados). Para incluir los paquetes optional (opcionales) —algo que dista de ser recomendado—, añada la línea group_package_types=default, mandatory, optional en la sección [main] del archivo /etc/yum.conf.

Actualización del sistema

Mantener el sistema actualizado es crucial para la seguridad. YUM facilita este proceso.

# Actualizar todos los paquetes instalados
yum update

# Actualizar sin confirmación interactiva
yum -y update

# Actualizar omitiendo paquetes con dependencias problemáticas
yum update --skip-broken

# Actualizar sólo un paquete específico
yum update cups

# Actualizar un grupo de paquetes completo
yum groupupdate "Base de datos MySQL"

🧹 Limpieza de kernels antiguos

Los paquetes del núcleo de Linux (kernel) se conservan de forma permanente tras cada actualización. Para gestionar el espacio en /boot de manera eficiente y preservar su disponibilidad, utilice yum-utils:

# Instalar la herramienta
yum -y install yum-utils

# Eliminar todos los núcleos de Linux excepto los 2 más recientes
package-cleanup --oldkernels

# Eliminar todos los kernels excepto el más reciente
package-cleanup --oldkernels --count=1

Siempre verifique que el sistema funciona con el kernel más nuevo antes de limpiar.

Desinstalación de paquetes

Evite utilizar la opción -y al desinstalar, a menos que esté completamente seguro de las consecuencias.

# Desinstalar un paquete y sus dependencias no requeridas
yum remove nombre-paquete
yum remove elinks

# Desinstalar un grupo completo de paquetes
yum groupremove "Servidor Web"

Mantenimiento y limpieza

YUM almacena metadatos y paquetes en caché (/var/cache/yum). La limpieza periódica libera espacio. Además, YUM mantiene un registro detallado de todas las transacciones realizadas, el cual también puede gestionarse.

# Eliminar toda la caché (metadatos y paquetes)
yum clean all

# Eliminar sólo los metadatos descargados
yum clean metadata

# Eliminar sólo los paquetes RPM descargados
yum clean packages

Gestión del historial de YUM

YUM guarda un historial completo de cada transacción (instalaciones, actualizaciones, eliminaciones) en la base de datos ubicada en /var/lib/yum/history. Este historial es invaluable para auditar cambios, deshacer operaciones o entender el estado del sistema, pero con los años puede acumularse y ocupar considerable espacio de almacenamiento.

Para visualizar el historial completo de transacciones:

yum history list

Para iniciar un nuevo historial desde cero, creando un punto de corte limpio, utilice el siguiente mandato:

yum history new

El mandato yum history new preserva íntegramente el historial existente al crear un punto de corte limpio para futuras transacciones. Todos los registros anteriores se conservan en /var/lib/yum/history/ y permanecen disponibles para consulta. Este archivo histórico resulta invaluable para revertir o repetir transacciones con precisión cuando sea necesario.

Ejemplos de uso del historial:

🗑️ Limpieza profunda para recuperar espacio: Si el sistema tiene muchos años de uso y necesita recuperar espacio, puede eliminar por completo los archivos de historial antiguos. Para ello, detenga cualquier proceso de YUM y elimine los archivos de la base de datos histórica:

# ¡PRECAUCIÓN! Esto borrará todo el historial de YUM de forma permanente.
rm -rf /var/lib/yum/history/*

Tras esta eliminación, YUM creará automáticamente una nueva base de datos la próxima vez que se ejecute. Es una operación segura para el funcionamiento futuro del gestor de paquetes, pero implica perder la capacidad de auditar o revertir operaciones pasadas.

Actualización automática del sistema

Para sistemas con YUM, el método de actualización automática varía según la versión.

🔄 Para ALDOS, CentOS 6/7 y RHEL 6/7

  1. Instale el paquete necesario:
    yum -y install PackageKit-cron
    
  2. Edite /etc/sysconfig/packagekit-background y active el servicio configurando ENABLED=yes y MAILTO=root.
  3. Reinicie el servicio crond:
    service crond restart
    

📜 Para CentOS 5 y RHEL 5 (mencionado por legado)

  1. Instale el servicio:
    yum -y install yum-updatesd
    
  2. Edite /etc/yum/yum-updatesd.conf y establezca do_update, do_download y do_download_deps a yes.
  3. Active e inicie el servicio:
    chkconfig yum-updatesd on
    service yum-updatesd start
    service crond restart
    

📚 Bibliografía y referencias

💡 Consejo pedagógico: En una máquina virtual con ALDOS o CentOS 7, practique el ciclo completo: buscar un paquete (yum search), inspeccionarlo (yum info), instalarlo (yum install), actualizarlo (yum update) y finalmente removerlo (yum remove). Compare la salida y el flujo con el manual de DNF para apreciar las diferencias y similitudes entre ambos gestores.