Linux Package Management y systemctl explicados
20:05, 28.10.2026
Los gestores de paquetes y systemctl son herramientas que utilizan con frecuencia tanto los usuarios habituales de Linux como los administradores de sistemas. Ayudan a instalar software y a gestionar los servicios del sistema.
En este artículo, explicaremos en qué consisten la gestión de paquetes y systemctl.
¿Qué es la gestión de paquetes en Linux?
Linux se compone de paquetes, que son archivos comprimidos que contienen archivos, metadatos e instrucciones de instalación que, en conjunto, conforman bibliotecas, aplicaciones y herramientas.
Un gestor de paquetes automatiza la instalación, las actualizaciones, las mejoras y la eliminación de estos paquetes.
Por qué es importante la gestión de paquetes
Las distribuciones de Linux se basan en repositorios centrales para descargar nuevo software, a diferencia de otros sistemas que permiten la descarga manual desde la web.
En este sentido, un gestor de paquetes:
- Instala el software.
- Resuelve las dependencias.
- Actualiza y elimina el software.
- Mantiene un registro de los paquetes instalados.
La gestión de paquetes es esencial para mantener la fiabilidad del sistema y resulta especialmente importante para entornos de producción y servidores.
Gestores de paquetes populares
Las distintas distribuciones utilizan diferentes sistemas de paquetes, entre los que se incluyen:
- APT/dpkg: habitual en distribuciones basadas en Debian, como Ubuntu.
- DNF/YUM: se utiliza en Fedora, CentOS y la familia RHEL.
- Pacman: presente en Arch Linux y sus derivados.
- Zypper: el predeterminado en openSUSE.
Acerca de systemctl
Systemctl gestiona los servicios, los demonios en segundo plano y los procesos que se ejecutan.
Las distribuciones modernas de Linux suelen utilizar systemd como gestor del sistema y de los servicios. Y la principal interfaz de herramientas para interactuar con systemd es el comando systemctl.
Qué hace systemctl
systemctl puede hacer lo siguiente:
- Iniciar, detener, reiniciar y recargar servicios.
- Habilitar o deshabilitar servicios.
- Proporcionar información detallada sobre el estado y los registros de los servicios.
- Controlar el estado de alimentación del sistema, como el reinicio y el apagado.
En pocas palabras, systemctl te permite controlar cómo se comportan los servicios y cómo deben comportarse al arrancar el sistema.
Comandos esenciales de systemctl
Estas son algunas de las acciones más utilizadas de systemctl:
Gestionar servicios
- sudo systemctl start <servicio> — Inicia un servicio inmediatamente.
- sudo systemctl stop <servicio> — Lo detiene.
- sudo systemctl restart <servicio> — Detiene y, a continuación, vuelve a iniciar el servicio.
- sudo systemctl reload <servicio> — Aplica los cambios de configuración sin necesidad de un reinicio completo (si es compatible).
Activar/Desactivar al arrancar el sistema
- sudo systemctl enable <servicio> — Hace que el servicio se inicie al arrancar el sistema.
- sudo systemctl disable <servicio> — Impide el inicio automático al arrancar el sistema.
También puedes combinar comandos:
- systemctl enable --now <servicio> — Habilita e inicia el servicio ahora mismo.
- systemctl disable --now <servicio> — Desactiva y detiene el servicio ahora mismo.
Comprobar el estado
- systemctl status <servicio> — Muestra si un servicio está en ejecución y los registros recientes.
- systemctl is-active <servicio> — Devuelve un indicador simple de activo/inactivo.
Objetivos de encendido y del sistema
systemctl también puede cambiar el estado del sistema:
- systemctl reboot — Reinicia el sistema.
- systemctl poweroff — Apaga el sistema.
- systemctl isolate multi-user.target — Cambia a un estado multiusuario no gráfico.
Cómo funciona systemctl
systemctl interactúa con archivos de unidad —definiciones de texto que indican a systemd cómo iniciar, detener o supervisar un servicio. Los tipos de archivos de unidad incluyen:
- .service — Define un proceso de servicio.
- .socket — Describe servicios activados por sockets.
- .target — Representa estados del sistema.
Cuando se ejecutan comandos, systemctl lee estos archivos para determinar qué hacer y en qué orden, gestionando las dependencias automáticamente.