GNU/Linux >> Tutoriales Linux >  >> 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.

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. Systemctl Iniciar/Detener/Reiniciar/Recargar servicio

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 genera ningún resultado.

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

systemctl stop dnsmasq

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

Ejemplo:

systemctl restart dnsmasq

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

Por ejemplo:

systemctl reload sshd

2. Systemctl comprobar el estado del servicio

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

systemctl status dnsmasq

3. Comprobar y habilitar/deshabilitar el servicio al arrancar

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

De manera similar, los servicios se pueden deshabilitar al arrancar, ejecute:

systemctl disable dnsmasq.service

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

systemctl is-enabled dnsmasq.service

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 listar unidades también hace lo mismo.

systemctl

o

systemctl list-units

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

systemctl --failed

Para listar todos los servicios activos, ejecute:

systemctl list-units -t service

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 apagará el sistema y 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 registrados.

systemctl halt

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

systemctl --no-wall poweroff

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

journalctl -u systemd-shutdownd

7. Systemclt para gestionar 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 [email protected]

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,...). Estos son los niveles de ejecución en sysVinit con sus equivalentes en 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

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

systemctl list-units --type=target

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

Para enumerar el objetivo predeterminado, escriba:

systemctl get-default

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

systemctl set-default graphical.target

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

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

journalctl -b

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

journalctl -f

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

journalctl /usr/sbin/dnsmasq

Buscar la duración del proceso de arranque

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

systemd-analyze

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

systemd-analyze time

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

Comando Hostnamectl

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

hostnamectl

Conclusión

En este tutorial, aprendimos los comandos systemctl para administrar el servicio systemd en las 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:

  • Proceso de arranque de Systemd:una mirada de cerca en Linux
  • ¡Colorido! systemd vs sysVinit Linux Cheatsheet

Linux
  1. Cómo usar el comando Systemctl para administrar los servicios de Systemd

  2. Cómo crear un servicio Systemd en Linux

  3. Comandos de servicio base

  4. Use Systemctl para administrar servicios

  5. Cómo detener el servicio systemd

Comandos separados para administrar la partición del disco

Administrar cgroups con systemd

Primeros pasos con systemctl

Forma correcta de usar Ubuntu systemctl para controlar Systemd

CentOS / RHEL 7:Guía para principiantes de unidades de servicio systemd

¿Cómo puedo configurar un servicio systemd para que se reinicie periódicamente?