Ponowne uruchamianie sieci w Debian Jessie

14

Chciałbym wiedzieć, która metoda jest właściwa do ponownego uruchomienia usługi sieciowej w Debian Jessie. Wiem, że mogę używać:

service networking restart

lub

/etc/init.d/networking restart

które i tak sprawiły mi problemy z połączeniem ssh, lub

invoke-rc.d networking restart

oraz pozostałe dwie metody z systemctl i ifup / ifdown .

Ale jaki sposób to zrobić?

cloud81
źródło
Spróbuj zapytać na unix.stackexchange.com , mają lepszą wiedzę na temat różnych smaków i dialektów Linuksa.
Massimo,
1
Aha, a pierwsze trzy polecenia są w zasadzie równoważne servicei invoke-rc.dwywołują tylko /etc/init.d/servicenamete same opcje, które zostały im podane.
Massimo,
Również zobaczyć tutaj: unix.stackexchange.com/questions/136481/... .
Massimo,

Odpowiedzi:

12

Użyłbym tego servicepolecenia, ponieważ jest ono bardziej spójne w różnych dystrybucjach. Tak więc spośród wymienionych przez ciebie poleceń wariant, który wybrałbym to:

service networking restart

Zdecydowanie uruchomiłbym go w screensesji lub w inny sposób upewniłem się, że nie zakończy się on w przypadku utraty połączenia z powłoką, w której został wpisany. (Próbowałem utracić łączność z komputerem, logując się, ssha następnie ponownie uruchamiając sieć, aby połączenie ssh zakończyło się, gdy sieć była wyłączona, i wyślij HUP do servicetakiego, aby nie mógł ponownie uruchomić sieci.)

W przeszłości istniały systemy, w których serviceskrypty były proste, /etc/init.da dwie pierwsze komendy działałyby dokładnie tak samo. Ale obecnie istnieją systemy, w których serviceczasami można zrobić coś innego, i na ogół servicelepiej wiedzieć, co zrobić w konkretnej dystrybucji. I invoke-rc.dzależy również od dystrybucji.

Mimo że servicejest najbardziej podobny w różnych dystrybucjach, nazwy usług mogą być różne. Na przykład istnieją dystrybucje o nazwach usługi networki inne o nazwach usług networking. W niektórych konfiguracjach bardziej odpowiednie może być ponowne uruchomienie network-managerniż networking.

kasperd
źródło
Dzięki za wyjaśnienie, bardzo jasne! Następnym razem użyję screena wraz ze wspomnianym wcześniej poleceniem serwisowym.
cloud81
3
czy nie jest przestarzałe korzystanie z usługi na systemach systemowych?
greenone83
@ greenone83 Na stronie podręcznika nic nie wskazuje na to, że polecenie jest przestarzałe. Na wszystkich systemach, w których go widziałem, był to wygodny skrypt otaczający dowolny system inicjujący, z którego korzystała dystrybucja. I został zaktualizowany, ponieważ init został przeprojektowany. Co oznacza, że ​​możesz używać tego samego servicepolecenia teraz, jak 10 lat temu, i zrobi to dobrze, nawet jeśli bazowe skrypty inicjujące zachowują się zupełnie inaczej.
kasperd
@kasperd to wyjaśnia mój punkt ... unix.stackexchange.com/questions/240528/ ... możesz to zrobić ... ale wtedy możesz przeszkadzać systemd
greenone83
1
Wymieniłem kable LAN, które zepsuły połączenie sieciowe. restart systemctl sieci nie zrobił nic, ale ponowne uruchomienie sieci usług działało uroczo. Prowadzę Debian Jessie.
aSystemOverload