systemd es un conjunto de bloques básicos para sistemas Linux. Proporciona un gestor de sistemas y servicios que ejecuta y arranca el resto del sistema como PID 1.
systemd ofrece capacidades agresivas de paralelización, utiliza sockets y activación de D-Bus para iniciar servicios, proporciona inicio bajo demanda de daemons, utiliza grupos de control Linux para rastrear procesos, mantiene montajes y puntos de auto-montaje, e implementa una lógica de control de servicios basada en dependencias de transacciones bien diseñada. systemd soporta scripts de init de SysV y LSB y puede reemplazar sysvinit.
Otras secciones incluyen daemons de registro, utilidades para controlar configuraciones básicas del sistema como nombres de host, fechas, ubicaciones, mantener una lista de usuarios iniciados sesión y contenedores y máquinas virtuales en ejecución, cuentas del sistema, directorios y configuraciones de demonios para redes simples, sincronización de tiempo de red, reenvío de registros y resolución de nombres.
El archivo de configuración systemd existe en las siguientes tres carpetas:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Revisión:
Perfil de la unidad
Un archivo unitario en systemd es un archivo que codifica información sobre las distintas unidades que systemd puede gestionar, incluyendo servicios, sockets, dispositivos, etc. Esta guía se centra en los servicios, en cuyo caso el archivo unitario con el que trabajamos es el archivo .service. El archivo de configuración del dispositivo varnish.service contiene información sobre cómo systemd debe ejecutar, monitorizar y gestionar el demonio del barnish.
El bloque [Unidad] suele ser el primer bloque del archivo de configuración y se utiliza para definir los metadatos de la Unidad y cómo se relacionan con otras Unidades. Sus principales campos son los siguientes.
- Descripción: Una breve descripción
- Documentación: La dirección del documento
- Requiere: Otras unidades de las que depende la unidad actual y, si no están funcionando, la unidad actual no arrancará
- Deseo: Otras unidades que trabajan con la unidad actual, si no están en funcionamiento, la unidad actual no fallará al arrancar
- BindsTo: Similar a Requires, especifica una unidad que hace que la unidad actual deje de funcionar si se sale
- Antes: Si la unidad especificada en este campo también va a iniciarse, debe iniciarse después de la unidad actual
- Después: Si la unidad especificada en este campo también va a iniciarse, debe iniciarse antes que la unidad actual
- Conflictos: La unidad aquí especificada no puede funcionar al mismo tiempo que la unidad actual
- Condición... : Las condiciones que deben cumplirse para que la unidad actual funcione, de lo contrario no funcionará
- Afirmar... : Las condiciones que deben cumplirse para que la unidad actual funcione, de lo contrario se informará del fallo de arranque
[Instalar] suele ser el último bloque del archivo de configuración que define cómo arrancar y si arrancar o no. Sus principales campos son los siguientes.
- WantedBy: Su valor es uno o más Objetivos, y cuando la Unidad actual está activa (habilitada), el enlace simbólico se coloca en un subdirectorio bajo el directorio /etc/systemd/system con el sufijo Target name + .wants
- RequiredBy: Su valor es uno o más Objetivos, y cuando la Unidad actual está activa, el enlace simbólico se colocará en un subdirectorio bajo el directorio /etc/systemd/system con el nombre de destino + el sufijo .required
- Alias: El alias que la Unidad actual puede usar para empezar
- Además: Cuando se activa la unidad actual, otras unidades se activan al mismo tiempo
El bloque [Servicio] se utiliza para configurar el Servicio, y solo las unidades del tipo Servicio tienen este bloque. Sus principales campos son los siguientes.
- Tipo: Define el comportamiento del proceso en el inicio. Tiene los siguientes valores.
- Type=simple: El valor por defecto, ejecutar el comando especificado por ExecStart para iniciar el proceso principal
- type=forking: El fork crea un proceso hijo a partir del proceso padre, que saldrá inmediatamente después de la creación
- Type=oneshot: Un proceso único, Systemd esperará a que el servicio actual salga antes de continuar ejecutándolo
- Tipo=dbus: El servicio actual comienza a través de D-Bus
- type=notify: Cuando se inicie el servicio actual, Systemd será notificado y continuará la ejecución
- type=idle: El servicio actual solo se ejecutará si se ejecutan otras tareas
- ExecStart: El comando para iniciar el servicio actual
- ExecStartPre: El comando se ejecutó antes de iniciar el servicio actual
- ExecStartPost: El comando se ejecutó tras iniciar el servicio actual
- ExecReload: El comando que se ejecuta cuando se reinicia el servicio actual
- ExecStop: El comando que se ejecuta cuando se detiene el servicio actual
- ExecStopPost: Detener el comando que se ejecuta cuando se sirve
- RestartSec: El número de segundos entre el servicio automático reinicia el servicio actual
- Reiniciar: Define las circunstancias bajo las cuales Systemd reiniciará automáticamente el servicio actual, con valores posibles como siempre, on-éxito, on-fallo, on-anormal, on-abortar, on-watchdog
- TimeoutSec: Define el número de segundos que Systemd espera antes de detener el servicio actual
- Entorno: Especificar la variable de entorno
Herramienta de gestión de Systemctl
La gestión de programas en CentOS la realiza básicamente la herramienta systemctl.
Servicio de Startup:
systemctl inicio nombre.servicio
Suspender el servicio:
systemctl nombre de parada.servicio
Reiniciar el servicio:
systemctl reinicio name.service
Ver estado:
systemctl nombre de estado.servicio
Reinicio condicional:
Si el servicio se inició antes, se reiniciará, y si no se inicia, no se operará
systemctl try-restart name.service
Recargar o reiniciar:
Recarga primero y, si la recarga no tiene éxito, reinicia
systemctl reload-or-restart name.service
Recarga o reinicio condicional:
systemctl reload-or-try-restart name.service
Establece si el servicio puede ser configurado por el usuario para iniciar el estado
systemctl unmask name.service
Está prohibido el nombre de la máscara de sistemaCTL.
Consulta el estado actual de activación del servicio:
El valor de retorno de estado del comando servicio ha iniciado es 0 El valor de retorno de estado del comando que no se ha iniciado es distinto de 0
systemctl is-active name.service
Consulta todos los servicios que se han activado:
-t Especifica el tipo de unidad que se exhibe.
--todas muestran una lista de información más detallada.
-un equivalente --todos
Unidades de lista systemctl
Servicio de List-Unidades SystemCTL -T
SystemCTL lista-unidades -t servicio -a
Ver todos los servicios:
SystemCTL Lista-unidades -a
Ver todos los estados del servicio:
List-unidades-archivos systemctl
-a 、--all : Ver el estado de todos los servicios
-t 、--tipo: Especifica el tipo de unidad que se va a ver
loaded: El archivo de configuración ha sido cargado, cargado en memoria
activas (en marcha): Ejecuciones que se procesan continuamente una o más veces
activo(exited): La configuración única se completa con éxito
activo(esperando): Corriendo, esperando un evento
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Se utiliza para listar en qué niveles operativos está habilitado y deshabilitado el servicio
ls /etc/systemd/system/*.wants/sshd.service
SystemCTL list-unit-files --type target --all
Para configurar el servicio para que no se inicie:
SystemCTL desactivar unidad de nombre de servicio
Comprueba si el servicio está arrancado y iniciado:
SystemCTL is-activato name.service
Mira las dependencias de servicios:
SystemCTL list-dependencies name.service SystemCTL list-depebdencies
Servicio de carga pesada:
systemctl daemon-reload
Mata el proceso:
Nombre del proceso de eliminación de systemctl
Recursos:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.
|