Перезапуск сети в Debian Jessie
Я хотел бы знать, какой способ перезапустить сетевой сервис в Debian Jessie. Я знаю, что я могу использовать:
service networking restart
или же
/etc/init.d/networking restart
что в любом случае дал мне проблемы с соединением SSH, или
invoke-rc.d networking restart
и другие два метода с systemctl и с ifup / ifdown.
Но какой правильный способ сделать это?
2 ответа
Я бы использовал service команда, потому что она более согласована между различными дистрибутивами Итак, из упомянутых вами команд я бы выбрал вариант:
service networking restart
И я бы определенно запустил его внутри screen сеанс или другим способом убедитесь, что он не завершится в случае, если вы потеряли соединение с оболочкой, в которой вы его набрали. (Я пытался потерять соединение с машиной, войдя в ssh и затем перезапуск сети только для того, чтобы соединение ssh было разорвано, пока сеть не работала, и отправил HUP service такой, что это не будет поднимать сеть снова.)
В прошлом были системы, где service была простая обертка вокруг скриптов в /etc/init.d и первые две из ваших команд будут делать то же самое. Но в настоящее время существуют системы, в которых service иногда будет делать что-то другое, и вообще service лучше знает, что делать с вашим конкретным дистрибутивом. А также invoke-rc.d также зависит от распределения.
Хоть service является наиболее похожим во всех дистрибутивах, но имена сервисов могут отличаться. Например, есть дистрибутивы, в которых сервис называется network и другие, где это называется networking, И в некоторых конфигурациях может быть более целесообразно перезагрузить network-manager скорее, чем networking,
Я только что перезапустил сеть на Debian 11 (Bulseye):
# systemctl restart networking
Связь не потерялась. Я считаю, что это также сработало для меня и в старых выпусках.