¿Cómo puedo deshabilitar todos los servicios excepto ssh en las distribuciones modernas de Linux (basadas en systemd)?
Necesito implementar un modo de mantenimiento .
Todos estos servicios deben estar inactivos:
- postgres
- sufijo
- apache
- tazas
- cron
- palomar
Pero ssh no debe cerrarse, ya que esto se acostumbra a realizar tareas durante el modo de mantenimiento.
Por supuesto, podría escribir un script de shell que recorra una lista de servicios que me gustaría deshabilitar. Pero esto parece que estoy reinventando algo que ya existe, pero que no sé hasta ahora.
linux
service
systemd
maintenance
guettli
fuente
fuente
Respuestas:
Esto se parece mucho a los niveles de ejecución , reemplazados por objetivos en Systemd. Entonces, en lugar de escribir un script que inicie y detenga una lista de servicios, puede crear uno nuevo que
maintenance.target
contenga solo los servicios necesarios, como SSH. Por supuesto, SSH no es muy útil sin redes, por lo que en este ejemploemergency-net.target
se modifica un simple para incluir SSH.Luego, puede ingresar a su modo de mantenimiento usando
y de regreso
fuente
Primero, enumere sus servicios y busque sus correspondientes nombres de sistema.
Luego construya una lista y detenga a cada miembro de la lista para ingresar al mantenimiento, inicie cada miembro después del mantenimiento.
fuente
systemctl isolate
?