Comandos Systemctl para administrar el servicio Systemd

Comandos Systemctl para administrar el servicio Systemd

 

Systemctl es una utilidad utilizada por systemd para administrar el sistema y el administrador de servicios. Muchas distribuciones modernas de Linux como Ubuntu, Debian, Fedora, Linux Mint, OpenSuSE, Redhat han adoptado systemd como su sistema de inicio predeterminado.

Usando systemctl puede iniciar, detener, recargar, reiniciar el servicio, enumerar unidades, verificar el estado del servicio, habilitar/deshabilitar el servicio, administrar objetivos (niveles de ejecución) y administración de energía.

En este tutorial, le mostraré cómo usar los comandos systemctl para administrar el servicio systemd en Linux.

1. Servicio Systemctl Start/Stop/Restart/Reload

Para iniciar un servicio en Linux, ejecute systemctl seguido del nombre del servicio espacial ‘start’.

Ejemplo:

systemctl start dnsmasq

A diferencia del comando de servicio, el comando systemctl start no da ningún resultado.

Comandos Systemctl para administrar el servicio Systemd

Para detener un servicio, use systemctl stop service-name. Por ejemplo:

systemctl stop dnsmasq
Comandos Systemctl para administrar el servicio Systemd
Para reiniciar un servicio , use systemctl restart service-name.Ejemplo:

systemctl restart dnsmasq
Comandos Systemctl para administrar el servicio Systemd

Para recargar la configuración del servicio (digamos ssh), sin reiniciarlo, use systemctl reload service-name.

Por ejemplo:

systemctl reload sshd
Comandos Systemctl para administrar el servicio Systemd

2. Estado del servicio de verificación de Systemctl

Para ver si un servicio se está ejecutando o no, podemos usar la verificación de estado de systemctl.

systemctl status dnsmasq
Comandos Systemctl para administrar el servicio Systemd

3. Comprobar y habilitar/deshabilitar el servicio en el arranque

Para habilitar un servicio en el arranque (esto corresponde a ‘chkconfig on’ en el sistema sysvinit), use systemctl enable service-name.

Ejemplo:

systemctl enable dnsmasq.service
Comandos Systemctl para administrar el servicio Systemd

Del mismo modo, los servicios se pueden deshabilitar en el arranque, ejecute:

systemctl disable dnsmasq.service
Comandos Systemctl para administrar el servicio Systemd

Para verificar si un servicio está habilitado en el arranque o no, ejecute:

systemctl is-enabled dnsmasq.service
Comandos Systemctl para administrar el servicio Systemd

4. Unidades de lista Systemctl

Para enumerar todas las unidades en ejecución, ejecute el comando systemctl sin ninguna opción. La opción de lista de unidades también hace lo mismo.

systemctl

o

systemctl list-units
Comandos Systemctl para administrar el servicio Systemd

Las unidades fallidas se pueden enumerar con la opción –failed.

systemctl --failed
Comandos Systemctl para administrar el servicio Systemd

Para listar todos los servicios activos , ejecute:

systemctl list-units -t service
Comandos Systemctl para administrar el servicio Systemd

6. Comandos de reinicio/apagado de Systemctl

Al igual que el comando de apagado, el comando systemctl para apagar, reiniciar o hibernar el sistema.

El siguiente comando cerrará el sistema y apagará la máquina y enviará una notificación a todos los usuarios que iniciaron sesión.

systemctl poweroff

El siguiente comando apagará el sistema pero no apagará la máquina. Esto enviará una notificación a todos los usuarios registrados.

systemctl halt

Apague la máquina pero no enviará ninguna notificación a todos los usuarios registrados.

systemctl --no-wall poweroff

Para mostrar los detalles de apagado, ejecute el siguiente comando.

journalctl -u systemd-shutdownd

7. Systemclt para administrar sistemas remotos

Por lo general, todos los comandos systemctl anteriores se pueden usar para administrar un host remoto con el comando systemctl en sí. Esto usará ssh para la comunicación con el host remoto. Todo lo que necesita hacer es agregar el usuario y el host al comando systemctl de esta manera:

systemctl status sshd -H root@1.2.3.4
Comandos Systemctl para administrar el servicio Systemd

8. Gestión de objetivos

Systemd tiene un concepto de objetivos que tienen un propósito similar a los niveles de ejecución en el sistema sysVinit.

Los niveles de ejecución en sysVinit eran en su mayoría numéricos (0,1,2,…). Aquí están los niveles de ejecución en sysVinit con sus contrapartes systemd:

0 runlevel0.target, poweroff.target
1, s, single runlevel1.target, rescue.target
2, 4 runlevel2.target, runlevel4.target, multi-user.target
3 runlevel3.target, multi-user.target
5 runlevel5.target, graphical.target
6 runlevel6.target, reboot.target
emergency emergency.target

Para cambiar el objetivo actual, escriba:

systemctl isolate graphical.target
Comandos Systemctl para administrar el servicio Systemd

Si desea ver en qué objetivo se encuentra, debe enumerar todas las unidades correspondientes.

systemctl list-units --type=target
Comandos Systemctl para administrar el servicio Systemd

Puede ver «graphical.target» en la lista aquí. Esto es lo que cambiamos nuestro objetivo. Ahora cambiemos el nivel de ejecución nuevamente a multi-user.target y luego analicemos este resultado:

systemctl isolate multi-user.target
systemctl list-units --type=target
Comandos Systemctl para administrar el servicio Systemd

Para enumerar el objetivo predeterminado, escriba:

systemctl get-default
Comandos Systemctl para administrar el servicio Systemd

El objetivo predeterminado se puede establecer con el comando set-default, escriba:

systemctl set-default graphical.target
Comandos Systemctl para administrar el servicio Systemd

Otro comando systemd útil

Iniciar sesión en systemd

El systemd tiene su propio sistema de registro llamado journald . Reemplaza el demonio syslog de sysVinit.

journalctl
Comandos Systemctl para administrar el servicio Systemd

Para ver todos los mensajes de inicio, ejecute el comando «journalctl -b».

journalctl -b
Comandos Systemctl para administrar el servicio Systemd

El siguiente comando sigue los registros del sistema en tiempo real (similar a tail -f).

journalctl -f
Comandos Systemctl para administrar el servicio Systemd

Para verificar los registros específicos de un servicio o ejecutable en particular, use journalctl como:

journalctl /usr/sbin/dnsmasq
Comandos Systemctl para administrar el servicio Systemd

Encuentra la duración del proceso de arranque

Para encontrar la duración del proceso de arranque de systemd con el siguiente comando:

systemd-analyze
Comandos Systemctl para administrar el servicio Systemd

El tiempo systemd-analyze también muestra la misma información.

systemd-analyze time
Comandos Systemctl para administrar el servicio Systemd

Para imprimir una lista de todas las unidades en ejecución ordenadas por el tiempo necesario para inicializarse, utilice systemd-analyze Blau.

systemd-analyze blame
Comandos Systemctl para administrar el servicio Systemd

Comando hostnamectl

Para mostrar y cambiar el nombre de host, use el comando hostnamectl.

hostnamectl
Comandos Systemctl para administrar el servicio Systemd

Conclusión

En este tutorial, aprendimos los comandos systemctl para administrar el servicio systemd en las distribuciones de Linux. Espero que hayan disfrutado de la lectura y por favor dejen sus sugerencias en la sección de comentarios a continuación.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.