Capítulo 10.2 - yum/dnf (Red Hat/CentOS)
Objetivos de Aprendizaje
Al final de este capítulo, usted será capaz de:
- Utilizar yum y dnf para instalar paquetes
- Actualizar el sistema
- Gestionar los repositorios
- Comprender los grupos de paquetes
- Utilizar las transacciones
yum vs dnf
yum (Clásico)
Yellowdog Updater Modified:
- Red Hat/CentOS 7 y anteriores
- Siempre disponible
- Interfaz clásica
dnf (Moderno)
Dandified YUM:
- Red Hat/CentOS 8+ y Fedora
- Sucesor de yum
- Más rápido y moderno
- Misma sintaxis que yum
Nota: yum suele ser un alias de dnf en sistemas recientes.
Comandos Básicos
Actualización
# Actualizar lista de paquetes
sudo yum check-update
sudo dnf check-update
# Actualizar paquetes
sudo yum update
sudo dnf upgrade
# Actualizar paquete específico
sudo yum update nombre-paquete
sudo dnf upgrade nombre-paquete
Instalación
# Instalar paquete
sudo yum install nombre-paquete
sudo dnf install nombre-paquete
# Instalar varios paquetes
sudo yum install paquete1 paquete2 paquete3
# Instalar sin confirmación
sudo yum install -y nombre-paquete
# Instalar desde archivo .rpm
sudo yum localinstall archivo.rpm
Eliminación
# Eliminar paquete
sudo yum remove nombre-paquete
sudo dnf remove nombre-paquete
# Eliminar paquete y dependencias
sudo yum autoremove nombre-paquete
# Limpiar caché
sudo yum clean all
sudo dnf clean all
Búsqueda e Información
Buscar
# Buscar paquete
yum search palabra-clave
dnf search palabra-clave
# Buscar por nombre
yum list nombre-paquete
dnf list nombre-paquete
# Información del paquete
yum info nombre-paquete
dnf info nombre-paquete
# Listar paquetes instalados
yum list installed
dnf list installed
# Listar paquetes disponibles
yum list available
dnf list available
Información
# Información detallada
yum info nombre-paquete
# Dependencias
yum deplist nombre-paquete
dnf repoquery --deplist nombre-paquete
# Contenido del paquete
rpm -ql nombre-paquete
Repositorios
Ver los Repositorios
# Listar repositorios habilitados
yum repolist
dnf repolist
# Todos los repositorios
yum repolist all
dnf repolist all
# Información del repositorio
yum repoinfo nombre-repo
dnf repoinfo nombre-repo
Agregar Repositorio
# Instalar repositorio RPM
sudo yum install epel-release
sudo dnf install epel-release
# Agregar repositorio manualmente
# Crear archivo: /etc/yum.repos.d/mi-repo.repo
[mi-repo]
name=Mi Repositorio
baseurl=http://repo.example.com/rhel/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.example.com/RPM-GPG-KEY
# Recargar
sudo yum makecache
sudo dnf makecache
EPEL (Extra Packages)
# Instalar EPEL
sudo yum install epel-release
sudo dnf install epel-release
# Verificar
yum repolist | grep epel
Grupos de Paquetes
Gestión de Grupos
# Listar grupos disponibles
yum grouplist
dnf group list
# Información del grupo
yum groupinfo "Development Tools"
dnf group info "Development Tools"
# Instalar grupo
sudo yum groupinstall "Development Tools"
sudo dnf group install "Development Tools"
# Eliminar grupo
sudo yum groupremove "Development Tools"
Transacciones e Historial
Historial
# Ver historial
yum history
dnf history
# Ver transacción específica
yum history info 5
dnf history info 5
# Deshacer transacción
sudo yum history undo 5
sudo dnf history undo 5
# Repetir transacción
sudo yum history redo 5
Ejemplos Prácticos
Instalación Completa
# Actualizar
sudo yum check-update
# Instalar paquete
sudo yum install httpd
# Iniciar servicio
sudo systemctl start httpd
sudo systemctl enable httpd
# Verificar
systemctl status httpd
Actualización del Sistema
#!/bin/bash
# Script de actualización
echo "Verificando actualizaciones..."
sudo yum check-update
echo "Actualizando paquetes..."
sudo yum update -y
echo "Limpiando..."
sudo yum clean all
echo "¡Terminado!"
Resolución de Problemas
Dependencias
# Resolver dependencias
sudo yum deplist nombre-paquete
# Forzar instalación
sudo rpm -ivh --nodeps paquete.rpm # ¡Atención!
Caché
# Limpiar caché
sudo yum clean all
sudo yum clean metadata
sudo yum clean packages
# Reconstruir caché
sudo yum makecache
Resumen
En este capítulo, usted ha aprendido:
yum/dnf: Gestores de paquetes Red Hat/CentOS/Fedora
Comandos: install, update, remove, search, info
Repositorios: repolist, epel-release, archivos .repo
Grupos: grouplist, groupinstall
Historial: history, undo, redo
Práctica: Instalación, actualización, mantenimiento
Próximos Pasos
Capítulo 10.3: Compilación desde Fuentes
Módulo 11: Monitoreo y Logs
Capítulo creado el: Diciembre 2024