unit | Definición de un proceso (unidad mínima) |
target | Agrupación de 'units' para manejar un servicio o varios |
journal | Sistema de logs de todas las operaciones y salidad de SYSTEMD |
Comandos para gestión de servicios
systemctl status SERVICIO | service SERVICIO status |
systemctl start SERVICIO | service SERVICIO start |
systemctl stop SERVICIO | service SERVICIO stop |
systemctl reload SERVICIO | service SERVICIO reload |
systemctl restart SERVICIO | service SERVICIO restart |
systemctl enable SERVICIO | chkconfig SERVICIO on |
systemctl disable SERVICIO | chkconfig SERVICIO off |
systemctl is-active SERVICIO | chkconfig SERVICIO |
systemctl is-enabled SERVICIO | chkconfig --list | grep SERVICIO |
systemctl is-failed SERVICIO | |
systemctl list-units | |
systemctl list-units -all | |
systemctl list-units --all --state=inactive | |
systemctl linst-units --type=service | |
systemctl list-unit-files --type=service | chkconfig --list |
systemctl list-dependencies SERVICIO --after | |
systemctl list-dependencies SERVICIO --before |
UNIT: Concepto de mínimo recurso que maneja "systemd".
Las UNIT se definen en archivos.
Tipo de UNIT | Extensión del fichero | Description |
---|---|---|
Service unit | .service | Un servicio clásico |
Target unit | .target | Grupo de units |
Automount unit | .automount | Filesystem |
Device unit | .device | Dispositivo (reconocido por el kernel) |
Mount unit | .mount | Punto de montaje |
Path unit | .path | Ruta |
Scope unit | .scope | Proceso creado externamente a systemd |
Slice unit | .slice | Conjunto jerárquico de units organizadas para manejar un grupo de procesos del sistema. |
Snapshot unit | .snapshot | Un estado salvado de la configuración de systemd |
Socket unit | .socket | Socket |
Swap unit | .swap | Dispositivo o archivo swap |
Timer unit | .timer | Cronómetro |
Rutas
Path | Descripción | Prioridad |
---|---|---|
/run/systemd/system/ | Creadas en tiempo de ejecución | 1 |
/etc/systemd/system/ | Enlazadas a /usr/lib/systemd/system al habilitar un servicio | 2 |
/usr/lib/systemd/system/ | Definiciones de Units con las que se instalan los paquetes (rpm) | 3 |
Archivo Unit
Aspecto de un archivo de definición de 'Unit' (sshd.service):
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service #Orden específico de arranque
Wants=sshd-keygen.service #Otra unit necesaria para este
[Service]
Type=forking
PIDFile=/var/run/sshd.pid
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd $OPTIONS #Comando de start
ExecReload=/bin/kill -HUP $MAINPID #Comando de reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target #Otra unit de la cual forma parte
Runlevels
Desaparece el concepto clásico. Se sustituyen por 'targets'.
Varios targets pueden estar activos a la vez si las dependencias lo permiten.
systemctl get-default | Target por defecto |
systemctl set-default graphical.target | Establecer target por defecto |
systemctl list-units --type=target | Targets activos |
systemctl list-unit-files --type=target | Targets disponibles |
systemctl rescue|halt|poweroff|reboot | shortcut a single-user|halt|apagar|reiniciar |
Journal
journalctl | Ver todos los logs desde el principio |
journalctl -f | Modo seguimiento. Ver en tiempo real |
journal -u UNIDAD | Ver logs de una unidad en particular |
Referencias:
- https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/chap-Managing_Services_with_systemd.html
- https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-the-journal
- https://coreos.com/os/docs/latest/getting-started-with-systemd.html