Neustart des Netzwerks unter Debian Jessie

14

Ich würde gerne wissen, welche Methode geeignet ist, um den Netzwerkdienst in Debian Jessie neu zu starten. Ich weiß, dass ich verwenden kann:

service networking restart

oder

/etc/init.d/networking restart

das gab mir sowieso probleme bei der ssh verbindung, oder

invoke-rc.d networking restart

und zwei andere Methoden mit systemctl und mit ifup / ifdown .

Aber wie geht das richtig?

cloud81
quelle
Fragen Sie unter unix.stackexchange.com nach , da sie die verschiedenen Linux- Varianten und -Dialekte besser kennen.
Massimo
1
Oh, und die ersten drei Befehle sind im Grunde gleichwertig serviceund invoke-rc.drufen nur /etc/init.d/servicenamemit den gleichen Optionen auf, die ihnen gegeben wurden.
Massimo
Siehe auch hier: unix.stackexchange.com/questions/136481/… .
Massimo

Antworten:

11

Ich würde den serviceBefehl verwenden, da er über verschiedene Distributionen hinweg konsistenter ist. Von den Befehlen, die Sie erwähnt haben, würde ich folgende Variante wählen:

service networking restart

Und ich würde es definitiv in einer screenSitzung ausführen oder auf andere Weise sicherstellen, dass es nicht fehlschlägt, falls Sie die Verbindung zu der Shell verlieren, in der Sie es eingegeben haben. (Ich habe versucht, die Konnektivität zu einem Computer zu verlieren, indem ich mich mit sshangemeldet habe und dann das Netzwerk neu gestartet habe, um die SSH-Verbindung zu beenden, während das Netzwerk inaktiv war, und ein HUP an servicegesendet habe, damit das Netzwerk nicht erneut gestartet wird.)

In der Vergangenheit gab es Systeme, in denen servicedie Skripte mit einem einfachen Wrapper umschlossen waren /etc/init.dund die ersten beiden Befehle genau dasselbe taten. Aber heutzutage gibt es Systeme, in denen servicemanchmal etwas anderes funktioniert, und die im Allgemeinen servicebesser wissen, was mit Ihrer bestimmten Distribution zu tun ist. Und invoke-rc.dist auch vertriebsabhängig.

Obwohl servicedie Namen der Dienste über Distributionen hinweg am ähnlichsten sind, können sie sich dennoch unterscheiden. Beispielsweise gibt es Distributionen, in denen der Dienst benannt ist, networkund andere, in denen er benannt ist networking. Und in einigen Konfigurationen kann es sinnvoller sein , neu zu starten , network-managerstatt networking.

Kasperd
quelle
Danke für die Erklärung, sehr klar! Das nächste Mal verwende ich screen zusammen mit dem zuvor erwähnten Dienstbefehl.
Cloud81
3
Ist es nicht veraltet, Service auf systemd-Systemen überhaupt zu verwenden?
Greenone83
@ greenone83 In der Manpage gibt es keinen Hinweis darauf, dass der Befehl veraltet ist. Auf allen Systemen, auf denen ich es gesehen habe, war es ein praktisches Wrapper-Skript für jedes von der Distribution verwendete Init-System. Und es wurde aktualisiert, als init überarbeitet wurde. Das heißt, Sie können servicejetzt denselben Befehl verwenden wie vor 10 Jahren, und er wird das Richtige tun, obwohl sich die zugrunde liegenden Init-Skripte völlig anders verhalten.
Kasperd
@kasperd das erklärt so ziemlich meinen Punkt ... unix.stackexchange.com/questions/240528/… du kannst es tun ... aber dann könntest du systemd stören
greenone83
1
Ich habe meine LAN-Kabel ausgetauscht, wodurch die Netzwerkverbindung unterbrochen wurde. systemctl restart networking hat nichts getan, aber der Neustart des Servicenetzwerks hat wunderbar funktioniert. Ich leite Debian Jessie.
aSystemOverload