Solución 1:
Esto se parece mucho a los niveles de ejecución , reemplazado por objetivos en Systemd. Entonces, en lugar de escribir un script que inicie y detenga una lista de servicios, podría crear un nuevo maintenance.target
que contiene solo los servicios necesarios, como SSH. Por supuesto, SSH no es muy útil sin redes, por lo que en este ejemplo un simple emergency-net.target
se modifica para incluir SSH.
[Unit]
Description=Maintenance Mode with Networking and SSH
Requires=maintenance.target systemd-networkd.service sshd.service
After=maintenance.target systemd-networkd.service sshd.service
AllowIsolate=yes
Luego, puede ingresar a su modo de mantenimiento usando
# systemctl isolate maintenance.target
y vuelta
# systemctl isolate multi-user.target
Solución 2:
Primero enumere sus servicios y busque sus correspondientes systemd-names.
Luego cree una lista y detenga cada miembro de la lista para ingresar al mantenimiento, inicie cada miembro después del mantenimiento.