Tutoriales

Archivos de servicio del sistema

En Linux, la salida de estado de systemctl muestra que el servicio se carga a través de un archivo llamado archivo de servicio.Estos archivos se pueden encontrar en /lib/systemd/sistema o /etc/systemd/sistema Tabla de contenido.

El archivo de servicio tiene . Ampliar e incluir las directivas requeridas sistema Servicios de administración.

este sistema El sistema de inicio utiliza los siguientes comandos para gestionar la inicialización del sistema. unidad. Una unidad es un objeto que realiza una tarea u operación, como gestionar un servicio, lo que implica controlarlo y monitorearlo. Estas unidades son esencialmente archivos llamados archivos de servicio, que incluyen dependencias y comandos de unidades. Estos archivos son esenciales para un control eficaz de los programas en segundo plano y la gestión de recursos.

En esta guía, exploraré el archivo de servicio systemd, su estructura y las principales directivas que controlan el servicio.

Cuando se utiliza systemd, el término Archivos de servicio del sistema y archivo de unidad del sistema A menudo se usan indistintamente porque técnicamente se refieren a lo mismo.

¿Qué es el archivo de servicio Systemd?

En Linux, systemd administra los servicios utilizando archivos de servicio que contienen directivas de configuración para que systemd pueda comprenderlos y ejecutarlos.

Para enumerar unidades, use systemctl y – Listar unidades Orden.

Para leer el archivo de servicio de cualquier servicio, utilice gato Comando con ruta de archivo.

Por ejemplo, ver el archivo de servicio. servicio ssh Utilice el comando dado.

gato /Biblioteca/sistema/sistema/servicio ssh

Análisis de archivos de servicio Systemd.

En términos generales, un archivo de unidad de servicio systemd contiene tres partes.

Los archivos de unidades específicos del servicio tendrán un archivo llamado Atender parte.

Tenga en cuenta que un servicio es sólo una unidad. Una unidad puede ser de diferentes tipos, como socket, dispositivo, montaje, montaje automático, intercambio, destino, temporizador, segmento y alcance. Estas secciones están ubicadas entre las secciones Unidades e Instalación.La extensión del archivo también se reemplazará con el tipo de unidad correspondiente; por ejemplo, un tipo de unidad de enchufe tendrá . Extensión de archivo.

notas: En esta guía, me centraré en el tipo de unidad de servicio porque es ampliamente utilizado por administradores y desarrolladores.

Estas partes están entre corchetes ([]). Cada parte contiene un conjunto asociado de instrucciones. La estructura general de un archivo de servicio se proporciona a continuación.

[Unit]

Instrucción 1=Explicación 1

Instrucción 2=Explicación 2

[Service]

Instrucción 1=Explicación 1

Instrucción 2=Explicación 2

[Install]

Instrucción 1=Explicación 1

Instrucción 2=Explicación 2

El orden de las secciones se puede cambiar; sin embargo, generalmente se sigue el orden anterior.

[Unit] parte

La sección Unidades contiene una descripción de la unidad y las dependencias de las unidades. Por convención, esta sección se encuentra en la parte superior del archivo de servicio. Las instrucciones de uso común son las siguientes:

instruir describir
describir Esta directiva se utiliza para mencionar el nombre del servicio. La descripción no debe tener más de 80 caracteres.
documento La directiva contiene la página de manual o URL del servicio.
necesidad Esta directiva se utiliza para mencionar dependencias del servicio actual. Si no se inicia el servicio dependiente, no se iniciará el servicio actual.
querer Esta directiva se utiliza para mencionar dependencias del servicio actual. Sin embargo, no es necesario iniciar este servicio dependiente para ejecutar el servicio actual.
adelante Después de que se inicie la unidad actual, se iniciarán los servicios mencionados en esta directiva.
atrás Los servicios mencionados en esta directiva se iniciarán antes de que se inicie la unidad actual.
unirse a Esta directiva vincula el servicio actual al servicio mencionado. Si se reinicia el servicio vinculado, también se reiniciará el servicio actual.

Además de estas directivas, hay dos directivas; estado y afirmación. Muchos servicios requieren condiciones específicas del sistema para ejecutarse correctamente y estas directivas se utilizan para mencionar esas condiciones.

[Install] parte

Esta sección no es obligatoria y solo es necesaria si es necesario habilitar o deshabilitar el servicio al inicio. Además, también me gustaría mencionar el servicio de alias. Las instrucciones comunes para la sección de instalación se enumeran a continuación:

instruir describir
persona buscada Este comando establece el nivel de ejecución.* objetivos de servicio.Si el objetivo se fija en objetivo multiusuario Entonces el servicio se habilitará en este nivel de ejecución.
Básico Esta directiva es similar a WantedBy; sin embargo, el servicio se habilitará incluso sin las dependencias mencionadas en la directiva.
Alias Esta directiva se utiliza para habilitar un servicio con un nombre diferente. Cuando el servicio está habilitado, se crea un enlace simbólico con este nombre.

en la mayoría de los casos, objetivo multiusuario Usado como persona buscada alcance. Pero, ¿qué es el objetivo multiusuario?

multi-user.target representa un estado del sistema que está listo para aceptar sesiones multiusuario no gráficas. Este es el estado antes de iniciar la GUI.

El sistema tiene diferentes niveles operativos, comprendamos el papel de estos niveles operativos.

En systemd, los servicios se agrupan según niveles de ejecución, llamados Objetivo.Hay un archivo para cada nivel de ejecución. . extendido en /etc/systemd/sistema Tabla de contenido. El servicio funcionará según el estado del nivel de ejecución.

nivel de ejecución Objetivo estado documento
Cerrar Apagar y apagar Objetivo de corte de energía
1 rescate Lanzar proyectil de rescate objetivo de rescate
2,3,4 Multi usuario Inicie un shell multiusuario sin GUI objetivo multiusuario
5 Gráfico Configuración de un shell GUI multiusuario objetivo gráfico
6 Reanudar Apagar y reiniciar reiniciar.objetivo

[Service] parte

Esta sección contiene los ajustes de configuración del servicio. La configuración principal en esta sección es definir los tipos y comandos que se ejecutarán cuando se inicie el servicio. tipo y Inicio de ejecución es el comando principal utilizado para configurar el servicio.

La siguiente tabla enumera los diferentes tipos de servicios.

Tipo de servicio describir
simple Cuando no se menciona ningún tipo o nombre de bus y solo se menciona ExecStart, es el tipo predeterminado. systemd ejecuta primero el proceso principal y luego las unidades posteriores.
Bifurcación Este tipo se utiliza para mantener el servicio en ejecución incluso si el servicio principal está cerrado. Bifurca un proceso hijo después de que el proceso padre se ha cerrado.
Desechable systemd ejecuta el proceso principal primero y, cuando el proceso principal sale, se iniciarán las unidades posteriores.
autobús Un servicio con dbus se utiliza para comunicarse con otro programa en el bus. Si se menciona el nombre de un autobús, el proceso se iniciará después de obtener el nombre del autobús.
notificar El servicio le notificará cuando se inicie el programa. systemd procesará las unidades posteriores después de enviar la notificación.
inactivo Permanece en servicio hasta que se hayan programado todos los trabajos activos; se utiliza principalmente para mejorar la salida de la consola.

Las instrucciones comúnmente utilizadas en la parte de servicio son las siguientes:

instruir describir
Inicio de ejecución Mantiene la ruta completa del comando a ejecutar para iniciar el proceso.
antes de que comience la ejecución Contiene los comandos que deben ejecutarse antes de que comience el proceso principal.
Después de ejecutar el inicio Contiene los comandos que deben ejecutarse una vez que se inicia el proceso principal.
Ejecutar recarga Contiene el comando para recargar la configuración del servicio.
Reanudar Reinicie automáticamente los servicios en caso de falla, éxito, excepción, aborto, vigilancia, etc.
Reinicio seguro La cantidad de segundos antes de que el servicio de retención se reinicie automáticamente.

este Inicio de ejecución es una de las directivas clave utilizadas en la sección de servicio.contiene Ruta completa al archivo ejecutable El servicio se ejecutará cuando se llame.

en conclusión

Un archivo de servicio systemd es un archivo de configuración compuesto de directivas y comandos para que puedan ser administrados por systemd. Estos archivos contienen instrucciones que le indican a systemd cómo administrar el servicio. En esta guía, explico cómo acceder al archivo de servicio systemd, sus partes y los comandos para administrar el servicio.Para obtener más información sobre la documentación del servicio, lea la guía de documentación oficial que se encuentra aquí.

LEER  Cómo configurar claves SSH en Ubuntu 22.04

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba