Gestión de paquetes en Linux¶
Este módulo explica cómo se instala, actualiza y elimina software en Linux usando sistemas de gestión de paquetes.
La gestión correcta de paquetes es fundamental para seguridad, estabilidad y mantenimiento de servidores Linux. Un mal uso puede romper dependencias, dejar sistemas vulnerables o provocar caídas en producción.
Introducción¶
En Linux, el software no se instala “a mano” copiando binarios.
Se gestiona mediante paquetes, que incluyen:
- Binarios
- Librerías
- Configuración
- Metadatos
- Dependencias
Los gestores de paquetes automatizan todo este proceso y garantizan coherencia en el sistema.
Conceptos básicos¶
Antes de ver comandos, es clave entender algunos conceptos.
Paquete¶
Archivo que contiene un programa y su información asociada.
Ejemplos:
.deb→ Debian / Ubuntu.rpm→ Red Hat / CentOS / Rocky / Alma
Repositorio¶
Servidor que almacena paquetes.
Tipos comunes:
- Oficiales de la distribución
- Repositorios de terceros
- Repositorios internos de empresa
⚠️ Instalar software fuera de repositorios controlados es un riesgo.
Dependencias¶
Paquetes que otro paquete necesita para funcionar.
El gestor se encarga de:
- Resolverlas
- Instalarlas
- Actualizarlas
Sistemas de gestión de paquetes¶
Debian / Ubuntu: APT¶
Herramientas principales:
aptapt-getapt-cachedpkg
Red Hat / CentOS / Rocky: DNF / YUM¶
Herramientas principales:
dnfyum(legacy)rpm
💡 El concepto es el mismo, cambian los comandos.
Uso básico de APT (Debian / Ubuntu)¶
Actualizar lista de paquetes¶
apt update
Descarga información, no instala nada.
Instalar un paquete¶
apt install nginx
Eliminar un paquete¶
apt remove nginx
Eliminar también configuración:
apt purge nginx
Actualizar el sistema¶
apt upgrade
O completo (cambia dependencias):
apt full-upgrade
Uso básico de DNF (Red Hat-like)¶
Instalar paquete¶
dnf install nginx
Eliminar paquete¶
dnf remove nginx
Actualizar sistema¶
dnf update
Paquetes vs gestor bajo nivel¶
dpkg (Debian)¶
Instalar paquete local:
dpkg -i paquete.deb
Si faltan dependencias:
apt -f install
rpm (Red Hat)¶
Instalar paquete local:
rpm -ivh paquete.rpm
⚠️ dpkg y rpm no resuelven dependencias automáticamente.
Consultar paquetes instalados¶
Ver si un paquete está instalado¶
apt list --installed | grep nginx
O:
dpkg -l nginx
Archivos que instala un paquete¶
dpkg -L nginx
Saber a qué paquete pertenece un archivo¶
dpkg -S /usr/sbin/nginx
Repositorios¶
Ver repositorios (APT)¶
cat /etc/apt/sources.list
ls /etc/apt/sources.list.d/
Añadir repositorio¶
Ejemplo genérico:
add-apt-repository ppa:ejemplo/ppa
apt update
⚠️ Cada repositorio añadido es una decisión de seguridad.
Actualizaciones y seguridad¶
Actualizar paquetes no es solo funcionalidad:
- Corrige bugs
- Corrige vulnerabilidades
- Evita incompatibilidades futuras
En servidores:
- Actualiza con criterio
- Lee qué se va a actualizar
- Ten backups
Errores comunes¶
Errores habituales:
- Ejecutar
upgradesin revisar - Mezclar repositorios incompatibles
- Instalar software fuera del gestor
- Forzar dpkg/rpm sin dependencias
- No actualizar sistemas durante meses
💡 El gestor de paquetes es tu aliado, no tu enemigo.
Ejercicios prácticos¶
1. Buscar un paquete¶
apt search nginx
2. Instalar y verificar¶
apt install nginx
systemctl status nginx
3. Ver archivos del paquete¶
dpkg -L nginx
4. Eliminar completamente¶
apt purge nginx
Mentalidad¶
Un buen sysadmin piensa:
- El software viene del gestor, no de Internet
- Menos repositorios = menos problemas
- Actualizar es parte de la seguridad
- Lee antes de aceptar cambios
- Reproducibilidad > improvisación
Gestionar paquetes es gestionar el sistema a largo plazo.
Resumen¶
- El software se gestiona mediante paquetes
- APT y DNF son los gestores principales
- Los repositorios controlan el origen del software
- Las dependencias se resuelven automáticamente
- Actualizar es clave para seguridad y estabilidad
Siguiente paso¶
En el siguiente módulo entrarás en:
Logs y registro del sistema (logs.md)
Donde verás:
- Dónde guarda Linux los logs
- Cómo leer y filtrar registros
- Cómo usar logs para troubleshooting real