Cómo usar SystemCTL Utility en Linux

Cómo usar SystemCTL Utility en Linux
Ya sea que sea un administrador experimentado del sistema o un nuevo usuario de Linux, la administración de servicios es una de las operaciones fundamentales que tendrá que llevar a cabo. Por lo tanto, tener una comprensión firme de cómo funcionan los servicios y cómo administrarlos es una gran ventaja es.

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.

  • .servicio - Los archivos de la unidad de servicio definen cómo Systemd administra un servicio. Normalmente terminan en .extensión de servicio. Los archivos de la unidad de servicio describen cómo iniciar, detener, recargar y reiniciar un servicio y las dependencias requeridas para administrar el servicio.
  • .objetivo - Las unidades de destino proporcionan puntos de sincronización a otros servicios durante el inicio.
  • .rebanada - Los archivos de la unidad de corte codifican información sobre las unidades Systemd Slice. Las unidades de corte son parte del árbol de grupo de control de Linux que permite la asignación y restricción de recursos a los procesos asociados con una porción. Puede obtener más información sobre el control de recursos Systemd aquí.
  • .enchufe - Un archivo de la unidad Socket codifica información sobre Socket de red, IPC o un sistema de archivos FIFO Buffer controlado y administrado para SystemD, que Systemd utiliza para la activación basada en Socket.
  • .dispositivo - Las configuraciones de la unidad de dispositivo definen una unidad de dispositivo expuesta en el árbol de dispositivos SYSFS/UDEV.
  • .Temporizador - Las unidades de temporizador definen un temporizador administrado y controlado por Systemd para la activación programada.
  • .instantánea - Los archivos de la unidad de instantánea permiten la reversión del estado actual del sistema después de hacer cambios. Los creamos usando el comando Systemd Snapshot.
  • .intercambio - Las unidades de intercambio codifican información sobre el espacio de intercambio, como el nombre del dispositivo o la ruta del espacio de intercambio.
  • .montar - Montar archivos de la unidad codifica información sobre los puntos de montaje en el sistema administrado por Systemd.
  • .automogídico - Estos son archivos unitarios que definen puntos de montaje que se montan automáticamente.

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.

  • UNIDAD - La primera columna es la 'unidad.'Esto muestra el nombre del archivo de la unidad.
  • CARGA - Esto muestra si la definición de la unidad se cargó correctamente.
  • ACTIVO - Esto muestra el estado de activación de alto nivel.
  • SUB - Esto muestra el estado de activación de bajo nivel. Los valores en esta columna dependerán del tipo de unidad.
  • DESCRIPCIÓN - Descripción del archivo de la unidad.

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.