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ć?
linux
networking
debian-jessie
cloud81
źródło
źródło
service
iinvoke-rc.d
wywołują tylko/etc/init.d/servicename
te same opcje, które zostały im podane.Odpowiedzi:
Użyłbym tego
service
polecenia, 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:Zdecydowanie uruchomiłbym go w
screen
sesji 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ę,ssh
a następnie ponownie uruchamiając sieć, aby połączenie ssh zakończyło się, gdy sieć była wyłączona, i wyślij HUP doservice
takiego, aby nie mógł ponownie uruchomić sieci.)W przeszłości istniały systemy, w których
service
skrypty były proste,/etc/init.d
a dwie pierwsze komendy działałyby dokładnie tak samo. Ale obecnie istnieją systemy, w którychservice
czasami można zrobić coś innego, i na ogółservice
lepiej wiedzieć, co zrobić w konkretnej dystrybucji. Iinvoke-rc.d
zależy również od dystrybucji.Mimo że
service
jest najbardziej podobny w różnych dystrybucjach, nazwy usług mogą być różne. Na przykład istnieją dystrybucje o nazwach usługinetwork
i inne o nazwach usługnetworking
. W niektórych konfiguracjach bardziej odpowiednie może być ponowne uruchomienienetwork-manager
niżnetworking
.źródło
service
polecenia teraz, jak 10 lat temu, i zrobi to dobrze, nawet jeśli bazowe skrypty inicjujące zachowują się zupełnie inaczej.