Systemd trae el concepto de unidades Systemd en Linux. Delantero.gramo., Unidad de servicio, unidad objetivo, unidad de montaje, etc. son tipos de unidad con extensión de archivo como .servicio, .objetivo, .Monte respectivamente. El archivo de configuración que representa estas unidades se almacenan dentro de los directorios:/usr/lib/systemd/system/,/run/systemd/system/, etc/systemd/system/
Versiones anteriores de Red Hat Enterprise Linux (RHEL) utilizaron scripts init. Estos scripts fueron escritos en Bash y se ubicaron en el directorio “/etc/rc.d/init.d/". Estos son scripts utilizados para controlar los servicios y los demonios. Más adelante en RHEL 7, se introdujeron unidades de servicio para reemplazar los scripts de inicio. Fedora, que es un sistema operativo aguas arriba de Red Hat Enterprise Linux, ha comenzado a usar el Systemd de la versión 15 de Fedora.
Las unidades de servicio tienen .Extensiones de archivos de servicio y tiene roles similares a los scripts de inicio. "Systemd" utiliza la utilidad "SystemCTL" para administrar los servicios del sistema. Se puede usar para ver, iniciar, detener, reiniciar, habilitar o deshabilitar estos servicios.
Ventajas de Systemd sobre el sistema init
¿Qué cubriremos??
En esta guía, aprenderemos sobre la gestión de los procesos Systemd. Veremos cómo habilitar y deshabilitar los servicios de inicio en el arranque y cómo hacer operaciones de servicio como inicio, detener, reiniciar, etc. Hemos realizado los siguientes ejercicios en las estaciones de trabajo Fedora 30, que serán más aplicables a otros OSE de Linux.
Lista de servicios de inicio en Boot en Fedora Linux
El antiguo método SYSV utiliza el servicio y chkconfig comandos para administrar los servicios. Estos comandos ahora se reemplazan con los comandos SystemD como systemctl. Veamos algunas de las operaciones de "SystemCTL" en varios servicios en Linux.
1. Para enumerar todos los servicios que se ejecutan en su sistema, junto con sus estados (habilitados o deshabilitados), use el comando a continuación:
$ sudo SystemCTL List-Unit-Files --Type = Service
Un servicio puede tener tres estados: 1) habilitado 2) deshabilitado 3) estática
Un servicio habilitado tiene un enlace simbólico en un .quiere directorio, mientras que un servicio discapacitado no tiene uno. Un servicio estático no tiene una sección de instalación en el script init correspondiente. Entonces, no se puede habilitar o deshabilitar.
Para obtener más detalles de los Servicios, se debe utilizar el siguiente comando.
$ sudo systemctl -at servicio
Resumen de los nombres de columna anteriores:
Unidad - Systemd Nombre de la unidad (aquí un nombre de servicio).
Cargar: especifique si la unidad Systemd se cargó correctamente o no.
Activo - Estado de la unidad (aquí Servicio).
Sub - Un subestado de una unidad de activación.
Descripción: una breve información de la unidad.
También podemos usar el siguiente comando:
$ sudo ls/lib/systemd/system/*.servicio
o
$ sudo/etc/systemd/system/*.servicio
El "/Etc/inittab" ahora se reemplaza por "/Etc/systemd/system/" en Systemd. Este directorio ahora contiene los enlaces simbólicos a los archivos en el directorio "/Usr/lib/systemd/sistema". Los scripts de inicio se colocan en el "/usr/lib/systemd/sistema". Se debe asignar un servicio a "/Etc/systemd/system/" para comenzarlo en el arranque del sistema. Para este propósito, el comando SystemCTL se utiliza en Fedora y otros últimos sistemas de Linux.
2. Veamos el siguiente ejemplo de habilitación del servicio HTTPD:
$ sudo systemctl habilitar httpd.servicio
Además, podemos usar el comando a continuación para filtrar todos los servicios habilitados:
$ sudo SystemCTL List-Unit-Files | GREP habilitado
o use el comando:
$ sudo systemctl | Grep Running
3. Para enumerar todos los servicios activos (en ejecución), use el comando:
$ sudo systemctl -t servicio - -state = activo
4. Para ver qué servicios están habilitados para comenzar automáticamente en el arranque del sistema, también podemos usar el siguiente comando:
$ sudo SystemCTL List-Unit-Files --Type = Service--state = habilitado --All
5. Del mismo modo, podemos verificar los servicios deshabilitados para comenzar en el arranque con el comando:
$ sudo SystemCTL List-Unit-Files --Type = Service--state = discapacition --All
6. También podemos ver a qué hora lleva cada servicio al inicio:
$ sudo systemd-analyze culpa
7. Para verificar si un servicio está habilitado para AutoStart en Boot, use el comando:
$ sudo systemctl habilitado por IS xxx
Pon el nombre del servicio en lugar de xxx. mi.gramo., En el caso del servicio HTTPD, el comando será:
$ sudo systemctl httpd habilitado.servicio
o
$ sudo systemctl httpd habilitado
8. Para verificar el estado de un servicio, use el comando:
$ sudo systemctl status xxx.servicio
Por ejemplo, para verificar el estado del servicio SSHD:
$ sudo systemctl sshd.servicio
9. Para verificar si un servicio se está ejecutando o no, simplemente ejecute el siguiente comando:
$ sudo systemctl is-active xxx.servicio
Por ejemplo, para verificar el estado de Telnet:
$ sudo systemctl is-activo Telnet.servicio
10. Para comenzar un servicio muerto o inactivo, use el comando:
$ sudo systemctl start xxx.servicio
Por ejemplo, para comenzar un servicio SSHD:
$ sudo systemctl start sshd
11. Para deshabilitar un servicio en el arranque del sistema
$ sudo systemctl deshabilitar xxx
Por ejemplo, para deshabilitar el servicio HTTPD:
$ sudo systemctl deshabilitar httpd.servicio
o
$ sudo systemctl deshabilitar httpd
12. Para reiniciar un servicio en ejecución
$ sudo systemctl reiniciar xxx.servicio
Para reiniciar el servicio SSHD, use el comando:
$ sudo systemctl reiniciar sshd
Si el servicio aún no se está ejecutando, se iniciará.
13. Para recargar un servicio en ejecución
$ sudo systemctl recargar xxx.servicio
Por ejemplo, vuelva a cargar el servicio HTTPD con:
$ sudo systemctl recargar httpd.servicio
Este comando vuelve a cargar la configuración de un servicio específico. Para recargar el archivo de configuración de la unidad de Systemd, necesitamos el comando:
$ sudo SystemCtl-Daemon-Reload
14. Para enumerar todas las dependencias de un servicio:
$ sudo systemctl list-dependencias xxx.servicio
En el caso del servicio HTTPD, el comando será:
$ sudo systemctl list-dependencies httpd.servicio
Conclusión
En esta guía, hemos visto varias formas de administrar los servicios con utilidad Systemd como habilitar los servicios en el momento del arranque, iniciarlos y detenerlos, etc. Si estaba acostumbrado al comando de servicio de Old Sysvinit, debe cambiar a Systemd, ya que tiene más características y es el sistema init predeterminado en versiones más nuevas de Fedora, Rhel y la mayoría de las otras distribuciones importantes de Linux.