LINUX

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.

Con 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 de inicio / parada / reinicio / recarga de Systemctl

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.

systemctl start service-name
Salida – systemctl start service-name

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

systemctl stop dnsmasq
systemctl stop service-name
Salida de systemctl stop service-name

Para reiniciar un servicio, use systemctl restart service-name.

Ejemplo:

systemctl restart dnsmasq
systemctl restart nombre-servicio
Salida del nombre del servicio de reinicio del sistema

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

Por ejemplo:

systemctl reload sshd
systemctl recargar un servicio
Salida del servicio de recarga systemctl

2. Systemctl comprobar el estado del servicio

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

systemctl status dnsmasq
Estado del servicio
servicio de estado systemctl

3. Verifique y habilite / deshabilite 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

Habilitar el servicio al arrancar

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

systemctl disable dnsmasq.service
Deshabilitar el servicio al arrancar
Deshabilitar el servicio al arrancar

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

systemctl is-enabled dnsmasq.service
comprobar si un servicio está habilitado
comprobar si un servicio está habilitado

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
unidades de lista systemctl

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

systemctl --failed
unidades fallidas systemctl
unidades fallidas systemctl

Para enumerar todos los servicios activos, ejecute:

systemctl list-units -t service
systemctl lista todos los servicios activos
systemctl lista todos los servicios activos

6. Comandos de reinicio / apagado de Systemctl

Como el comando de apagado, el comando systemctl para apagar, reiniciar o hibernar el sistema.

El siguiente comando apagará el sistema y apagará la máquina y enviará una notificación a todos los usuarios que hayan iniciado 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 que hayan iniciado sesión.

systemctl halt

Apague la máquina, pero no enviará ninguna notificación a todos los usuarios que hayan iniciado sesión.

systemctl --no-wall poweroff

Para mostrar los detalles del cierre, 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 comunicarse con el host remoto. Todo lo que necesita hacer es agregar el usuario y el host al comando systemctl como este:

systemctl status sshd -H root@1.2.3.4

Administrar sistema remoto

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
Cambiar de objetivo
Cambiar destino usando systemctl

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

systemctl list-units --type=target
Objetivo actual
comprobar el objetivo actual

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

systemctl isolate multi-user.target
systemctl list-units --type=target
Objetivo multiusuario
cambiar a destino multiusuario

Para enumerar el objetivo predeterminado, escriba:

systemctl get-default
objetivo predeterminado
Lista de destino predeterminado

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

systemctl set-default graphical.target
Establecer objetivo predeterminado
Establecer objetivo predeterminado

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
Registros de Systemd
Registros de Systemd

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

journalctl -b
Mensajes de arranque
Mensajes de arranque

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

journalctl -f
Seguir registros
Seguir registros

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

journalctl /usr/sbin/dnsmasq
Registros específicos del servicio
Registros específicos del servicio

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
systemd-analizar
systemd-analizar

El tiempo de análisis de systemd también muestra la misma información.

systemd-analyze time
tiempo de análisis de systemd
tiempo de análisis de systemd

Para imprimir una lista de todas las unidades en ejecución ordenadas por el tiempo necesario para inicializar, use systemd-analyse blame.

systemd-analyze blame
systemd-analyse culpar
systemd-analyse culpar

Comando hostnamectl

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

hostnamectl
hostnamectl
Salida de hostnamectl

Conclusión

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

Leer también:

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar