Was ist die bevorzugte Methode, um das Netzwerk in Ubuntu und Debian neu zu starten?


37

Wenn ich das Netzwerk neu starte mit:

/etc/init.d/networking restart

Ich bekomme diese Warnung:

 Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces

Was ist nun der beste Weg, um das Netzwerk neu zu starten, nachdem Sie Änderungen vorgenommen haben?

Dieses Problem betrifft auch Debian, da das Netbase-Paket von Debian geerbt wird.

Antworten:


27

Es wird nur gesagt, dass die Neustartoption wegfällt

/etc/init.d/networking stop; /etc/init.d/networking start

Beachten Sie, dass es nur eine Zeile gibt! Dies ist wichtig, wenn ein Neustart des Netzwerks über das Netzwerk ausgeführt wird.


28
zwei Befehle: - / schlechte Idee, wenn Sie in der Ferne sind. Verwenden Sie besser einen /etc/init.d/networking stop; /etc/init.d/networking start
Einzeiler

@hmontoliu: Andererseits scheint es ratsam, den veralteten Neustart zu verwenden, da Sie den
Startbefehl

1
Wenn Sie in der Ferne sind, sollten Sie immer verwendenscreen
Avio

5
Der Bildschirm hilft nicht wirklich, wenn Sie das Netzwerk auf einem Remote-Server herunterfahren. In diesem Fall müssten Sie nach einem direkten Zugang suchen, was nicht immer bequem ist.
Metakermit

1
stopund startoffensichtlich nicht veraltet sind, sondern in Kombination restartverwendet werden, haben sie das gleiche potenzielle Problem wie früher.
Håkan Lindqvist

19

Führen Sie den Befehl init.d ohne Parameter aus. Er gibt Aufschluss über die Verwendung:

~# /etc/init.d/networking 
Usage: /etc/init.d/networking {start|stop}

Scheint, dass Neustart veraltet ist

Es ist auch in Debian veraltet, zumindest seit:

netbase (4.38) unstable; urgency=low

  * Create /etc/sysctl.d/bindv6only.conf on upgrades and new installs
    to set net.ipv6.bindv6only=1.
  * Made the init script check for swap over the network. (Closes: #540697)
  * Temporarily depend on initscripts to work around a bug in multistrap.
    (Closes: #556399)
  * etc-services: added sieve (4190/tcp).
  * etc-services: removed sieve (2000/tcp). (Closes: #555664)
  * Made the init script warn that using the force-reload and restart
    parameters is not a good idea. (Closes: #550240)

 -- Marco d'Itri <md@linux.it>  Sun, 06 Dec 2009 17:09:41 +0100

Den dazugehörigen Bug # 550240 gibt es hier

Welches ist ziemlich böse. Um das Netzwerk von einem entfernten Standort aus neu zu starten, wird der wahrscheinlich beste und sicherste Ansatz in einer Bildschirmsitzung wie folgt ausgeführt :

~# /etc/init.d/networking stop; /etc/init.d/networking start

Ab dem heutigen networkingInit-Skript restartund force-reloadwird in den meisten Fällen funktionieren . Ich denke, es ist ziemlich sicher, die Warnung zu ignorieren und trotzdem den Neustart zu verwenden . Allerdings gehe ich mit dem Stop + Start weg :-)

case "$1" in
start)
    process_options

    log_action_begin_msg "Configuring network interfaces"
    if ifup -a; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

stop)
    check_network_file_systems
    check_network_swap

    log_action_begin_msg "Deconfiguring network interfaces"
    if ifdown -a --exclude=lo; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

force-reload|restart)
    process_options

    log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces"
    log_action_begin_msg "Reconfiguring network interfaces"
    ifdown -a --exclude=lo || true
    if ifup -a --exclude=lo; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

*)
    echo "Usage: /etc/init.d/networking {start|stop}"
    exit 1
    ;;
esac

"Ja wirklich?" Neustart ist nützlich, wenn Sie aus der Ferne arbeiten!
Antonius Bloch

2
Siehe meine Bearbeitung. Ich bin damit einverstanden, dass ein kugelsicherer Neustart besser ist als stop + start
hmontoliu

Ich denke, es ist erwähnenswert, dass stop+ startgenau dasselbe zu tun scheint, was restarttun würde. Es scheint nicht sicherer zu sein, als keine veraltete Option zu verwenden (speziell veraltet, um diesen Vorgang zu verhindern).
Håkan Lindqvist

5

Ich benutze nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start". Ich füge hinzu, sleep 2weil ich denke, dass die Probleme mit dem Neustart etwas mit hardwareabhängigen Latenzen zu tun haben, aber das ist unbestätigt und eine Faustregel, für deren Veröffentlichung ich mich ein wenig schäme. Das können Sie also überspringen, wenn Sie sich rational fühlen!


Sie sagen also im Grunde, ich muss alias restart = "nohup sh -c /etc/init.d/networking stop; sleep 2; /etc/init.d/networking start", weil jemand, der Debian verwendet, seinen Job denkt wird auf dem laufenden sein, wenn wir Linux tatsächlich jenseits eines hobbyorientierten Betriebssystems weiterentwickeln?

1
Keineswegs. Wie verrückt von dir!
Eduardo Ivanec

3

Der folgende Befehl funktioniert gut in einer Serverumgebung, ohne Warnungen auszulösen. Es implementiert sowohl eine Stopp- als auch eine Startanforderung für den Netzwerkdienst.

sudo service networking start

Das scheint nicht zu stoppen und zu starten. Jedenfalls war es bei Debian Wheezy nicht so. Vielleicht in einer anderen Distribution.
mivk

Es funktioniert gut in Ubuntu
Erick

2

wie wäre es mit nohup sh -c "ifdown -a && ifup -a"


1

In Debian Wheezy

service networking restart

scheint zu tun, was erwartet wird und beschwert sich nicht.

Ich denke in Jessie mit systemd ist es vielleicht wieder anders.


Mit systemdes ist systemctl restart networkingiirc, aber die „alte“ serviceArt und Weise funktioniert nach wie vor.
wb9688

0

Wenn Sie den Grund für den fehlgeschlagenen Neustart des Netzwerks nicht finden können, führen Sie dies im ausführlichen Modus innerhalb einer screenSitzung aus:

ifdown -v --force eth0; ifup -v eth0
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.