Как я могу отключить все службы, кроме ssh, в современных (на основе systemd) дистрибутивах Linux?
Мне нужно реализовать режим обслуживания .
Все эти сервисы должны быть отключены:
- Postgres
- постфикс
- апаш
- чашки
- хрон
- голубятня
Но ssh не должен быть выключен, поскольку он используется для выполнения задач в режиме обслуживания.
Конечно, я мог бы написать сценарий оболочки, который перебирает список служб, которые я хотел бы отключить. Но похоже, что я заново изобретаю то, что уже существует, но чего я не знаю до сих пор.
linux
service
systemd
maintenance
guettli
источник
источник
Ответы:
Это очень похоже на уровни выполнения , замененные целями в Systemd. Таким образом, вместо написания сценария, который запускает и останавливает список служб, вы можете создать новый,
maintenance.target
содержащий только необходимые службы, такие как SSH. Конечно, SSH не совсем полезен без работы в сети, поэтому в этом примере простойemergency-net.target
изменен и включает SSH.Затем вы можете войти в режим обслуживания, используя
и назад
источник
Сначала перечислите свои сервисы и найдите их соответствующие systemd-имена.
Затем создайте список и остановите каждого участника списка для ввода обслуживания, запустите каждого участника после обслуживания.
источник
systemctl isolate
?