martes, 21 de enero de 2014

LINUX-entendiendo systemd: ejercicios de utilización.

A raíz de una entrada anterior, donde expliqué la forma de uso de systemd para el manejo de niveles de arranque en el servidor, me di cuenta que existe poca documentación respecto a su utilización.

Si bien es cierto la mayoría de las veces instalamos sistemas que aun utilizan iniitab, es importante conocer cómo funciona y qué utilidades contiene este nuevo utilitario que viene incorporado en versiones recientes de fedora y centos, por lo que se espera que sea la tendencia en las próximas versiones de RHEL.

qué es | cómo funciona | qué se puede hacer | cuáles son los utilitarios
https://wiki.archlinux.org/index.php/systemd
https://fedoraproject.org/wiki/Systemd



Services y targets. 
Tal como se ha comentado en un post pasado:
http://eloraculodelpinguino.blogspot.com/2014/01/linux-configurar-niveles-de-arranque.html
Los targets son el homologo de los niveles de arranque de un servicio en el sistema.
En esta ocasión se explica las operaciones sobre los servicios en si mismos. Esto incluye listado, habilitación, deshabilitación, inicio y detención.

Listar todos los servicios disponibles:
"systemctl list-units" o simplemente "systemctl"

Listar los jobs en progreso
[root@Emesh ~]# systemctl list-jobs
No jobs running.
[root@Emesh ~]#

Tomando como ejemplo el servicio sshd:
Verificar el estado de sshd

[root@Emesh ~]# systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since Tue 2014-01-21 09:17:40 CLST; 3h 14min ago
  Process: 1266 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 1274 (sshd)
   CGroup: name=systemd:/system/sshd.service
           └─1274 /usr/sbin/sshd -D

Jan 21 09:17:40 Emesh systemd[1]: Starting OpenSSH server daemon...
Jan 21 09:17:40 Emesh systemd[1]: Started OpenSSH server daemon.
Jan 21 09:17:40 Emesh sshd[1274]: Server listening on 0.0.0.0 port 22.
Jan 21 09:17:40 Emesh sshd[1274]: Server listening on :: port 22.
[root@Emesh ~]# 

Otra forma:
[root@Emesh ~]# systemctl | grep sshd
sshd.service                loaded active running   OpenSSH server daemon
[root@Emesh ~]# 


Detener servicio sshd:

[root@Emesh ~]# systemctl stop sshd.service
[root@Emesh ~]# systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: inactive (dead) since Tue 2014-01-21 12:35:45 CLST; 13s ago
  Process: 1274 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 1266 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)

Jan 21 09:17:40 Emesh systemd[1]: Starting OpenSSH server daemon...
Jan 21 09:17:40 Emesh systemd[1]: Started OpenSSH server daemon.
Jan 21 09:17:40 Emesh sshd[1274]: Server listening on 0.0.0.0 port 22.
Jan 21 09:17:40 Emesh sshd[1274]: Server listening on :: port 22.
Jan 21 12:35:45 Emesh systemd[1]: Stopping OpenSSH server daemon...
Jan 21 12:35:45 Emesh systemd[1]: Stopped OpenSSH server daemon.
[root@Emesh ~]# 

Iniciar servicio sshd:
[root@Emesh ~]# systemctl start sshd.service
[root@Emesh ~]# systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since Tue 2014-01-21 12:36:54 CLST; 2s ago
  Process: 5678 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 5681 (sshd)
   CGroup: name=systemd:/system/sshd.service
           └─5681 /usr/sbin/sshd -D

Jan 21 12:36:54 Emesh systemd[1]: Starting OpenSSH server daemon...
Jan 21 12:36:54 Emesh systemd[1]: Started OpenSSH server daemon.
Jan 21 12:36:54 Emesh sshd[5681]: Server listening on 0.0.0.0 port 22.
Jan 21 12:36:54 Emesh sshd[5681]: Server listening on :: port 22.
[root@Emesh ~]# 

Reiniciar el servicio sshd
[root@Emesh ~]# systemctl restart sshd.service
[root@Emesh ~]# systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since Tue 2014-01-21 12:38:03 CLST; 2s ago
  Process: 5700 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 5704 (sshd)
   CGroup: name=systemd:/system/sshd.service
           └─5704 /usr/sbin/sshd -D

Jan 21 12:38:03 Emesh systemd[1]: Started OpenSSH server daemon.
Jan 21 12:38:03 Emesh sshd[5704]: Server listening on 0.0.0.0 port 22.
Jan 21 12:38:03 Emesh sshd[5704]: Server listening on :: port 22.
[root@Emesh ~]# 

Verificar si el servicio sshd está habilitado para iniciar desde el arranque del sistema.
[root@Emesh ~]# systemctl is-enabled sshd.service
enabled
[root@Emesh ~]# 

deshabilitar del arranque de sistema, el servicio sshd
[root@Emesh ~]# systemctl disable sshd.service
rm '/etc/systemd/system/multi-user.target.wants/sshd.service'
[root@Emesh ~]# systemctl is-enabled sshd.service
disabled
[root@Emesh ~]# 


habilitar del arranque de sistema, el servicio sshd
[root@Emesh ~]# systemctl enable sshd.service
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
[root@Emesh ~]# systemctl is-enabled sshd.service
enabled
[root@Emesh ~]# 

Listar las dependencias: muestra las unidades requeridas para el funcionamiento de este servicio.
[root@Emesh ~]# systemctl list-dependencies sshd.service
sshd.service
└─basic.target
  ├─alsa-restore.service
  ├─alsa-state.service
  ├─fedora-autorelabel-mark.service
...
  └─systemd-tmpfiles-clean.timer
[root@Emesh ~]# 

Verificar si alguna de las unidades del servicio esta fallando:
[root@Emesh ~]# systemctl is-failed sshd.service
active
[root@Emesh ~]# 



Fuente:
https://fedoraproject.org/wiki/Systemd
http://www.dynacont.net/documentation/linux/Useful_SystemD_commands/
https://wiki.archlinux.org/index.php/systemd

No hay comentarios:

Publicar un comentario