Como comentamos en el post anterior, systemd llegó para quedarse pese a quien le pese. Otra de las características distintivas (por así decirlo) de este sistema es que incluye varias herramientas adicionales para realizar tareas específicas. Veamos cuáles son esas utilidades de systemd y cómo podemos utilizarlas. De esa tarea nos encargaremos en este y en el siguiente post.
Primero que nada, podemos verificar que nuestro sistema está utilizando systemd al mostrar el proceso con PID 1:
[pastacode lang=»bash» manual=»ps%20–pid%3D1″ message=»» highlight=»» provider=»manual»/]
Si el comando anterior devuelve otra cosa que no sea systemd (como podemos observar en la Fig. 1a), nuestra distribución está utilizando otro sistema (quizás init, como vemos en la Fig. 1b):
Utilidades de systemd: systemctl
Para controlar el inicio y los servicios del sistema, disponemos de una herramienta llamada systemctl. A continuación presentamos las opciones más utilizadas. En systemd se utiliza el término unit para referirse tanto a servicios como a dispositivos, y a todo recurso que pueda manejar (más información en la wiki de ArchLinux).
- Iniciar el servicio miservicio:
systemctl start miservicio.service
- Configurarlo para que inicie al arrancar el equipo:
systemctl enable miservicio.service
- Detenerlo:
systemctl stop miservicio.service
- Impedir que inicie al arrancar el equipo:
systemctl disable miservicio.service
- Reiniciar el servicio:
systemctl restart miservicio.service
- Averiguar si está configurado para arrancar al inicio:
systemctl is-enabled miservicio.service
- Averiguar si está corriendo actualmente:
systemctl is-active miservicio.service
osystemctl -l status miservicio.service
(esta última variante provee mayor información).
En los ejemplos anteriores, podemos omitir el .service si estamos seguros que no hay otra unit de distinto tipo con el nombre miservicio. Veamos en la Fig. 2 un ejemplo con httpd, la unit que corresponde al servidor web:
En la Fig. 2 también podemos observar, resaltado en amarillo, que esta unit (httpd.service) posee un archivo de configuración, comúnmente llamado unit file (/usr/lib/systemd/system/httpd.service en este caso) Otra información que la opción status nos provee es el estado por defecto de la unit (vendor preset), que en este caso era disabled (deshabilitado para arrancar al inicio).
En la infografía disponible en este link aparece una comparación bastante completa entre init y systemd que vale la pena examinar. En el próximo post hablaremos de journalctl, hostnamectl, y timedatectl, otras de las utilidades de systemd que utilizaremos a menudo. ¡Nos leemos en breve!