Cuando ejecuto el comando sudo systemctl list-unit-files(creo que el sudo es opcional), obtengo una salida que muestra todos los servicios y su estado.
Aquí hay un fragmento de mi máquina:
UNIT FILE STATE
...
debian-fixup.service static
debug-shell.service disabled
display-manager.service enabled
dns-clean.service enabled
dsmcad.service enabled
emergency.service static
failsafe-x.service static
friendly-recovery.service masked
fuse.service masked
gdm.service masked
getty-static.service static
[email protected] enabled
gpsd.service indirect
[email protected] static
gpu-manager.service enabled
halt-local.service static
halt.service masked
hostname.service masked
...
Me pregunto por qué algunos servicios están en estado "enmascarado". Creo que esto significa, "esto es mejor que 'deshabilitar', porque el servicio no puede iniciarse, ni a mano ni por systemd".
¿Cómo puedo obtener más información sobre el estado de una unidad de servicio?
¿Quién ha puesto las unidades en su estado respectivo?
Intenté, por ejemplo,
sudo systemctl help dsmcadque solo aparece la documentation = ...línea del archivo de la unidad./etc/systemd/system/dsmcad.service
Nota: Aquí sé exactamente qué es el servicio dsmcad y qué hace, lo instalé yo mismo. Estoy más interesado en una solución general.

masky ununmaskcomando que se puede usar consystemctl. Así que solo hazlosystemctl unmask name_of_service.service.systemctl unmask name_of_service.serviceeliminó por completo mi archivo de definición de servicio/etc/systemd/system/, por lo que ahora necesito agregarlo nuevamente. Si vuelve a enmascararse, estaré atrapado en un bucle oO/etc/systemd/systemson solo enlaces simbólicos de servicios. Debe agregar el*.servicearchivo/lib/systemd/systemdesde donde se vinculará/etc/systemd/systemsienableel servicio.maskestá creando un enlace/dev/nullyunmaskestá eliminando este enlace/etc/systemd/systemy obviamente no hay diferencia si alguien coloca un archivo allí.hostname.serviceestá enmascarado como redundante porquesystemdestablece el nombre de host (desde / etc / hostname) muy temprano durante el inicio.Esta configuración la proporciona el paquete systemian de Debian.
De manera similar, Debian ahora puede ejecutarse sin un script de shell en
haltel sistema, en su lugar se maneja mediante systemd-shutdown (código fuente aquí ).Si un servicio se ha enmascarado manualmente, la máscara se instalará en su
/etc/systemd/systemlugar.Los servicios también se enmascaran cuando se eliminan en Debian / Ubuntu . No se porque.
fuente
Dado que está solicitando información sobre el estado enmascarado, es importante mencionar que se puede observar en un servicio que después de iniciado, modificó sus definiciones, recargó (systemctl daemon-reload) y el nuevo estado NO está bien . Un ejemplo sencillo para entenderlo es el siguiente escenario:
Por lo tanto, el estado enmascarado puede originarse a partir de definiciones de servicio inadecuadas. Por lo tanto, el usuario puede inducir un estado desenmascarado editando incorrectamente el servicio.
Observación: no estoy seguro de si sucede a propósito o si es un error simple (opción predeterminada), pero puede ser una información interesante para compartir
fuente