Systemd trae el concepto de unidades systemd en Linux. Delantero.gramo., unidad de servicio, unidad de destino, unidad de montaje, etc. son tipos de unidades con la extensión de archivo como .Servicio, .objetivo, .montar respectivamente. El archivo de configuración que representa estas unidades se almacena dentro de los directorios: / usr / lib / systemd / system /, / run / systemd / system /, / etc / systemd / system /
Las versiones anteriores de Red Hat Enterprise Linux (RHEL) usaban scripts de inicio. Estos scripts se escribieron en BASH y se ubicaron en el directorio “/ etc / rc.d / init.D/". Estos son scripts que se utilizan para controlar los servicios y demonios. Más adelante en RHEL 7, se introdujeron unidades de servicio para reemplazar los scripts de inicio. Fedora, que es un sistema operativo ascendente 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 archivo de servicio y tienen roles similares a los scripts de inicio. "Systemd" utiliza la utilidad "systemctl" para administrar los servicios del sistema. Se puede utilizar para ver, iniciar, detener, reiniciar, habilitar o deshabilitar estos servicios.
Ventajas del sistema Systemd Over Init
- Con systemd, podemos priorizar los servicios necesarios sobre los servicios menos importantes.
- Cgroups son utilizados por systemd para realizar un seguimiento de los procesos y controlar la ejecución.ambiente.
- Systemd todavía admite el antiguo proceso de inicio y tiene más control.
- Systemd es capaz de lidiar con modificaciones dinámicas de configuración del sistema.
¿Qué cubriremos??
En esta guía, aprenderemos sobre la gestión de procesos systemd. Veremos cómo habilitar y deshabilitar los servicios de inicio en el arranque y cómo realizar operaciones de servicio como iniciar, detener, reiniciar, etc. Hemos realizado los siguientes ejercicios en estaciones de trabajo Fedora 30, que serán más aplicables a otros sistemas operativos Linux.
Enumere los servicios de inicio al inicio en Fedora Linux
El antiguo método SysV utiliza el servicio y chkconfig comandos para gestionar 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 siguiente comando:
$ sudo systemctl list-unit-files --type = service
Un servicio puede tener tres estados: 1) habilitado 2) deshabilitado 3) estático
Un servicio habilitado tiene un enlace simbólico en un .quiere directorio, mientras que un servicio deshabilitado no tiene uno. Un servicio estático no tiene una sección de instalación en el script de inicio correspondiente. Por lo tanto, no se puede habilitar ni deshabilitar.
Para obtener más detalles de los servicios, se debe utilizar el siguiente comando.
$ sudo systemctl -at servicio
Resumen de los nombres de las columnas anteriores:
UNIDAD - nombre de la unidad systemd (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 la activación de una unidad.
DESCRIPCIÓN - Breve información de la unidad.
También podemos usar el siguiente comando:
$ sudo ls / lib / systemd / system / *.Servicioo
$ sudo / etc / systemd / system / *.Servicio
La "/ Etc / inittab" ahora es reemplazado por "/ Etc / systemd / system /" en systemd. Este directorio ahora contiene los enlaces simbólicos a los archivos en el directorio “/ Usr / lib / systemd / system". Los scripts de inicio se colocan en "/ usr / lib / systemd / system". Se debe asignar un servicio a "/ Etc / systemd / system /" para iniciarlo en el arranque del sistema. Para este propósito, el comando systemctl se usa en Fedora y otros sistemas Linux más recientes.
2. Veamos el siguiente ejemplo de cómo habilitar el servicio httpd:
$ sudo systemctl habilitar httpd.Servicio
Además, podemos usar el siguiente comando para filtrar todos los servicios habilitados:
$ sudo systemctl list-unit-files | grep habilitado
o usa el comando:
$ sudo systemctl | grep corriendo
3. Para enumerar todos los servicios activos (en ejecución), use el comando:
4. Para ver qué servicios están habilitados para iniciarse automáticamente al arrancar el sistema, también podemos usar el siguiente comando:
$ sudo systemctl list-unit-files --type = service --state = enabled --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 = disabled --all
6. También podemos ver el tiempo que tarda cada servicio en el inicio:
$ sudo systemd-analyse culpar
7. Para verificar si un servicio está habilitado para el inicio automático en el arranque, use el comando:
$ sudo systemctl está habilitado xxxPonga el nombre del servicio en lugar de xxx. mi.gramo., en el caso del servicio httpd, el comando será:
$ sudo systemctl está habilitado httpd.Servicioo
$ sudo systemctl está habilitado httpd
8. Para verificar el estado de un servicio, use el comando:
$ sudo systemctl status xxx.ServicioPor ejemplo, para verificar el estado del servicio sshd:
$ sudo systemctl status sshd.Servicio
9. Para verificar si un servicio se está ejecutando o no, simplemente ejecute el siguiente comando:
$ sudo systemctl is-active xxx.ServicioPor ejemplo, para verificar el estado de telnet:
$ sudo systemctl está activo telnet.Servicio
10. Para iniciar un servicio inactivo o inactivo, use el comando:
$ sudo systemctl start xxx.ServicioPor ejemplo, para iniciar un servicio sshd:
$ sudo systemctl start sshd
11. Para deshabilitar un servicio al arrancar el sistema
Por ejemplo, para deshabilitar el servicio httpd:
$ sudo systemctl deshabilitar httpd.Servicioo
$ sudo systemctl deshabilitar httpd
12. Para reiniciar un servicio en ejecución
$ sudo systemctl reiniciar xxx.ServicioPara reiniciar el servicio sshd, use el comando:
$ sudo systemctl reiniciar sshdSi el servicio aún no se está ejecutando, se iniciará.
13. Para recargar un servicio en ejecución
$ sudo systemctl recargar xxx.ServicioPor ejemplo, recargue el servicio httpd con:
$ sudo systemctl recargar httpd.Servicio
Este comando recarga 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-reload14. Para enumerar todas las dependencias de un servicio:
$ sudo systemctl lista-dependencias xxx.ServicioEn el caso del servicio httpd, el comando será:
$ sudo systemctl lista-dependencias httpd.Servicio
Conclusión
En esta guía, hemos visto varias formas de administrar servicios con la utilidad systemd, como habilitar servicios en el momento del arranque, iniciarlos y detenerlos, etc. Si estaba acostumbrado al comando de servicio del antiguo Sysvinit, debería cambiar a systemd, ya que tiene más funciones y es el sistema de inicio predeterminado en las versiones más nuevas de Fedora, RHEL y la mayoría de las otras distribuciones principales de Linux.