Gestión de servicios con systemd

gestion-de-servicios-con-systemd
gestion-de-servicios-con-systemd

En los sistemas operativos basados en Linux, los servicios son procesos que se ejecutan en segundo plano y, por tanto, son esenciales para el funcionamiento del sistema. Desde el arranque hasta tareas como la red, bases de datos o servidores web, además, los servicios garantizan que todo funcione sin interrupciones. Con el tiempo, distintas herramientas han sido usadas para controlarlos, sin embargo, hoy en día, la gestión de servicios con systemd se ha convertido en el estándar en la mayoría de las distribuciones modernas.

Archivos de configuración de servicios

En systemd, cada servicio tiene un archivo de configuración llamado unit file, que define cómo funciona el servicio. Por ejemplo, los archivos de configuración suelen estar en dos ubicaciones principales:

  • En primer lugar, /lib/systemd/system/: Archivos proporcionados por el sistema
  • Por otro lado, /etc/systemd/system/: Archivos personalizados por el usuario

Además, a continuación se muestra un ejemplo de un archivo de servicio (nginx.service):

[Unit] Description=A high performance web server and a reverse proxy server 
After=network.target 
[Service] ExecStart=/usr/sbin/nginx 
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/bin/kill -s QUIT $MAINPID 
PrivateTmp=true 
[Install] WantedBy=multi-user.target

Comandos para la gestión de servicios con systemd

Para consultar todos los servicios que están funcionando en tu sistema:

systemctl list-units --type=service

Si necesitas conocer el estado específico de un servicio en particular:

systemctl status servicio
#ejm; systemctl status sshd

Cuando requieras poner en marcha un servicio:

sudo systemctl start servicio
#ejm; sudo systemctl start nginx

Para detener un servicio que está ejecutándose:

sudo systemctl stop servicio
#ejm; sudo systemctl stop sshd

En caso de necesitar reiniciar un servicio (detener y luego iniciar):

sudo systemctl restart servicio
#ejm; sudo systemctl restart firewalld

Si deseas que un servicio se inicie automáticamente al arrancar el sistema:

sudo systemctl enable servicio
#ejm; sudo systemctl enable mysqld

Deshabilitar un servicio del arranque automático

sudo systemctl disable servicio
#ejm; sudo systemctl disable cups

Configuración y gestión de un servicio con systemd

Supongamos que queremos instalar y configurar un servicio web con nginx.

  • Instalar nginx:
sudo apt install nginx # En sistemas Debian/Ubuntu 
sudo dnf install nginx # En sistemas RHEL/Fedora
  • Iniciar el servicio:
sudo systemctl start nginx
  • Habilitar el servicio para el arranque automático:
sudo systemctl enable nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service  lib/systemd/system/nginx.service.
  • Verificar que está corriendo:
systemctl status nginx
 nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-04-16 12:34:56 UTC; 1min 20s ago
       Docs: man:nginx(8)
   Main PID: 1234 (nginx)
      Tasks: 3 (limit: 9462)
     Memory: 5.6M
        CPU: 35ms
     CGroup: /system.slice/nginx.service
             ├─1234 nginx: master process /usr/sbin/nginx
             ├─1235 nginx: worker process
             └─1236 nginx: worker process

Conclusión

En resumen, dominar la gestión de servicios con systemd es clave para cualquier usuario o administrador de sistemas Linux. Por un lado, esta herramienta proporciona control, rapidez y flexibilidad. Por otro lado, permite administrar servicios de manera eficiente y segura. Ya sea que estés configurando un servidor o, por el contrario, simplemente ajustando tu sistema personal, entender cómo funciona systemd te dará una ventaja poderosa en tu flujo de trabajo.

Finalmente, en este post hemos detallado los comandos básicos para gestionar servicios dentro de Linux, usando systemd como herramienta principal. De igual forma, hemos explicado cómo iniciar, habilitar y verificar el estado de servicios como nginx, de forma eficiente y segura. ¡Esperemos que os guste!

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *