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:

  • apt
  • apt-get
  • apt-cache
  • dpkg

Red Hat / CentOS / Rocky: DNF / YUM

Herramientas principales:

  • dnf
  • yum (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 upgrade sin 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