Este tutorial lo guía a través de los conceptos básicos de la gestión de servicios en Linux y cómo usar SystemCTL para administrar los servicios, obtener información sobre las unidades del sistema y obtener información útil sobre el estado de los servicios en su sistema.
Que es systemctl?
SystemCTL es una utilidad de línea de comandos de Linux utilizada para controlar y administrar Systemd y servicios. Puede pensar en SystemCTL como una interfaz de control para el servicio Systemd Init, lo que le permite comunicarse con Systemd y realizar operaciones.
SystemCTL es un sucesor de init.D Sistema; Contiene bibliotecas, demonios y servicios públicos que puede usar para administrar los servicios en el sistema Linux.
¿Qué es un servicio/unidad??
En el lenguaje Systemd, un servicio o una unidad es un recurso o un objeto que Systemd es consciente y sabe cómo abordar.
Aunque técnicamente es correcto clasificar una unidad como un servicio, en SYSTEMD, las unidades tienden a ser más abstractas y a menudo compuestas por grupos de recursos, montajes del sistema de archivos, protocolos de red, dispositivos y servicios nativos de Linux.
Las unidades se definen en un archivo conocido como un archivo de unidad. Systemd puede administrar archivos unitarios desde cualquier ubicación, pero su ubicación principal es/etc/systemd/directorio de sistema. Los archivos de la unidad en este directorio están principalmente proporcionados por el usuario. En comparación con otras ubicaciones, el SystemD Manager asignará una mayor precedencia a los archivos de la unidad dentro del directorio anterior.
NOTA: También puede encontrar archivos unitarios ubicados en el directorio/systemd/sistema, que contiene archivos unitarios suministrados por el sistema y los paquetes instalados. Asegúrese de verificar ambas ubicaciones al editar un archivo de unidad.
Tipos de unidades Systemd
Los archivos de la unidad están etiquetados con un sufijo en el archivo de la unidad, que le dan al administrador una indicación de su propósito basado en el sufijo.
Los siguientes son los archivos de la unidad que se encuentran en Systemd.
Esos son algunos de los archivos de la unidad administrados por Systemd. Por lo general, estos archivos de unidades en un sistema trabajan en estrecha colaboración para administrar el sistema, los servicios, los demonios y otros recursos en el sistema.
NOTA: Hay otros archivos de la unidad, pero no tendrá que preocuparse mucho por ellos, a menos que se esté sumergiendo en el núcleo.
Lista de archivos de la unidad
Para ver los archivos de la unidad disponibles en el sistema, puede enumerar los archivos en/lib/systemd/sistema o/etc/systemd/system.
Afortunadamente, Systemd tiene un comando para eso. Podemos ejecutar el comando:
$ sudo SystemCtl Unidades de lista
Ejecutar este comando mostrará las unidades disponibles en el sistema.
Para filtrar solo archivos unitarios específicos, puede usar la opción -Type = [Unit -type]. Por ejemplo, para mostrar archivos de unidades de servicio, usamos el comando:
$ sudo systemctl list-units --type = servicio
Aquí hay una salida de ejemplo:
La salida del comando SystemCTL List-Units utiliza un método organizacional basado en columnas.
Esto es lo que representa cada columna.
También puede filtrar las unidades por sus estados. Por ejemplo, para mostrar solo unidades inactivas, use el comando:
$ sudo systemctl list -units -state = inactive
Las unidades inactivas (o sub) inactivas anteriores. La mayoría de las unidades en este estado se inician antes de las sesiones de usuario; Incluyen Plymouth, servicio de activaciones de red, modo de rescate, DB manual y muchos más.
Para mostrar todos los archivos de la unidad en el sistema, puede agregar todo opción al comando de unidades de lista.
$ sudo SystemCtl List -Units -LOl
Puede desplazar la lista de unidades disponibles presionando la tecla de espacio.
Cómo ver el contenido del archivo de la unidad
Para ver las entradas y la configuración en un archivo de unidad, puede decirle a SystemD que llame al comando CAT y al nombre de la unidad.
Por ejemplo, para mostrar el contenido de la unidad de Plymouth, use el comando
$ sudo systemctl catplymouth
Este comando arrojará el contenido del archivo como se muestra a continuación:
Cómo editar archivos de la unidad
Para editar archivos de la unidad, puede usar el comando systemd seguido de la opción Editar y el nombre de la unidad.
$ sudo systemctl edit Plymouth
El comando iniciará el editor de texto nano, lo que le permitirá editar el archivo de la unidad especificado.
NOTA: A menos que sea necesario, EVITAR Edición de archivos de unidades críticas provislados por el sistema.
Gestión de servicios con SystemCTL
Archivos de unidad que terminan con .El servicio es fácil de administrar utilizando la utilidad Systemd, SystemCTL. Las siguientes son operaciones que podemos realizar con SystemCTL.
Cómo iniciar servicios
Para iniciar un servicio con SystemCTL, llamamos al comando:
$ sudo systemctl inicio nginx.servicio
En el comando anterior, le dijimos a SystemD que iniciara el servicio Nginx utilizando el Nginx.archivo de la unidad de servicio.
Pasar el sufijo de archivo de la unidad completa con SystemCTL no es un requisito. Puede usar el nombre del servicio, como:
$ sudo systemctl inicio nginx
En la mayoría de las unidades de servicio, no hay salida si el servicio comienza con éxito. Sin embargo, si se produce un error, Systemd mostrará el error y el código de estado.
Cómo detener los servicios
Para detener un servicio, use el argumento STOP en el comando SYSTEMCTL
$ sudo systemctl stop nginx
Del mismo modo, la operación de detención no proporciona una salida al finalizar exitosamente.
Cómo recargar los servicios
La recarga de un servicio funciona deteniendo los procesos de los trabajadores, aplicar los cambios de configuración y reiniciar los procesos del trabajador. Que no apaga el servicio real en sí.
Esta característica puede ser útil donde los servicios deben estar en línea, como es el caso con las bases de datos y los servidores web.
Para recargar un servicio en SystemCTL, usamos el comando:
$ sudo systemctl recargar nginx
Cómo reiniciar los servicios
Por otro lado, el reinicio cerrará el servicio y el trabajador procesa y los reiniciará. El proceso de reinicio puede causar algo de tiempo de inactividad, lo que lo hace muy aplicable al solucionar problemas.
Para reiniciar un servicio, use el comando:
$ sudo systemctl reiniciar nginx
Cómo habilitar los servicios en el arranque
Si desea que se ejecute un servicio específico durante el inicio del sistema, puede usar el comando habilitar.
Por ejemplo:
$ sudo SystemCTL Habilitar Nginx
Sin embargo, el comando anterior no habilita el servicio durante una sesión activa. Para hacer esto, agregue la bandera de ahora.
$ sudo SystemCTL Habilitar Nginx -Ahora
Si desea habilitar un servicio personalizado que creó, asegúrese de que Systemd pueda acceder al archivo de la unidad. No almacene el archivo de la unidad en /directorio de inicio. Para archivos de unidad personalizados, asegúrese de colocarlos en/etc/systemd/sistema.
Cómo verificar el estado del servicio
Para verificar el estado de un servicio en Systemd, use el comando de estado:
$ sudo systemctl status nginx
Este comando mostrará el estado actual del servicio. La imagen a continuación muestra un servicio Nginx activo
Si se detiene un servicio, obtendrá una salida similar a la que se muestra a continuación:
Conclusión
En esta guía, discutimos los conceptos de los archivos de Systemd y Units. Systemd es una parte crítica de Linux, y las principales distribuciones de Linux han adoptado su uso. Por lo tanto, saber cómo administrar y administrar puede ser muy ventajoso.