Diferencias entre servicios inactivos vs deshabilitados y activos vs habilitados

10

Me confunde el concepto de habilitado o activo y deshabilitado o inactivo.

¿Alguien podría explicarlo?

drpaneas
fuente
1
He presentado una solicitud de extracción para mejorar los documentos desystemctl status en man systemctlque parece que el plan obvio para buscar estos documentos.
Mark Stosberg

Respuestas:

15

La página del manual systemdtiene la información que está buscando.

extracto

systemd proporciona un sistema de dependencia entre varias entidades llamadas "unidades". Las unidades encapsulan varios objetos que son relevantes para el arranque y mantenimiento del sistema. La mayoría de las unidades se configuran en archivos de configuración de unidades, cuya sintaxis y conjunto básico de opciones se describe en systemd.unit (5), sin embargo, algunas se crean automáticamente desde otra configuración o dinámicamente desde el estado del sistema.

Las unidades pueden estar 'activas' (es decir, iniciadas, enlazadas, conectadas, ... según el tipo de unidad, ver más abajo), o 'inactivas' (es decir, detenidas, no vinculadas, desconectadas, ...), así como en el proceso de activación o desactivación, es decir, entre los dos estados (estos estados se denominan "activación", "desactivación").

También está disponible un estado especial 'fallido' que es muy similar a 'inactivo' y se ingresa cuando el servicio falla de alguna manera (el proceso devolvió el código de error al salir, se bloqueó o se agotó el tiempo de espera de una operación). Si se ingresa este estado, se registrará la causa, para referencia posterior.

Tenga en cuenta que los diversos tipos de unidades pueden tener varios subestados adicionales, que se asignan a los cinco estados de unidad generalizados descritos aquí.

Descompostura

Entonces, si has leído lo anterior y realmente no entiendes la diferencia, aquí está, en pocas palabras.

  • habilitado : un servicio (unidad) está configurado para iniciarse cuando se inicia el sistema
  • deshabilitado : un servicio (unidad) está configurado para no iniciarse cuando se inicia el sistema
  • activo : un servicio (unidad) se está ejecutando actualmente.
  • inactivo : un servicio (unidad) actualmente no se está ejecutando, pero puede comenzar, es decir, activarse, si algo intenta hacer uso del servicio.

inactivo

Este último puede parecer el más desconcertante, pero piense systemden la misma línea que xinetd. Puede administrar sus servicios por usted y ponerlos en marcha cuando lo necesite. Entonces, mientras los servicios están "desactivados", están en estado inactivo , pero cuando se inician, pueden volverse activos .

Este estado también puede ocurrir cuando un servicio (unidad) se ha habilitado pero aún no se ha iniciado manualmente. Por lo tanto, el servicio permanece "inactivo" en estado detenido o fallido hasta que el servicio se inicie manualmente o el sistema se reinicie, lo que provocaría que el servicio se active debido a su habilitación.

slm
fuente
@jasonwryan - cierto, lo agregaré, ¡gracias!
slm
@jasonwryan: ¿eso se lee mejor?
slm
6

Cuando habilita / deshabilita un servicio, esencialmente le indica si debe iniciarse automáticamente en el arranque.

Entonces, systemctl enable lxdmconfigurará LXDM como DM. Sin embargo, no lo iniciará de inmediato.

Por otro lado, activo / inactivo (y opcionalmente fallido) le informa el estado actual del servicio. Después de ejecutarse systemctl start lxdm, LXDM realmente se ejecuta y su estado está activo.

Normalmente, cuando instala un servicio por primera vez, primero lo prueba al iniciarlo. Si sale, entonces lo habilitarías. De esa manera, evita colgar su sistema durante el arranque.

aprad046
fuente