Isso soa muito como runlevels , substituído por destinos Systemd. Portanto, em vez de escrever um script que inicia e interrompe uma lista de serviços, você pode criar um novo maintenance.target
contendo apenas os serviços necessários, como o SSH. Obviamente, o SSH não é muito útil sem a rede, portanto, neste exemplo, um simples emergency-net.target
é modificado para incluir o 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
Em seguida, você pode inserir seu modo de manutenção usando
# systemctl isolate maintenance.target
e de volta
# systemctl isolate multi-user.target