W Ubuntu 14.04 sudo service networking restart
ani sudo /etc/init.d/networking restart
nic więcej. Oboje wychodzą również z kodem 1. Coś oczywiście się zmieniło (lub połowa zmieniło się), ale nie mogę znaleźć co. To oczywiście powoduje problemy ze zdalną rekonfiguracją sieci i narzędziami takimi jak Ansible.
$ sudo bash -x /usr/sbin/service networking restart
[sudo] password for wirehive:
++ basename /usr/sbin/service
+ VERSION='service ver. 0.91-ubuntu1'
++ basename /usr/sbin/service
+ USAGE='Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]'
+ SERVICE=
+ ACTION=
+ SERVICEDIR=/etc/init.d
+ OPTIONS=
+ '[' 2 -eq 0 ']'
+ cd /
+ '[' 2 -gt 0 ']'
+ case "${1}" in
+ '[' -z '' -a 2 -eq 1 -a networking = --status-all ']'
+ '[' 2 -eq 2 -a restart = --full-restart ']'
+ '[' -z '' ']'
+ SERVICE=networking
+ shift
+ '[' 1 -gt 0 ']'
+ case "${1}" in
+ '[' -z networking -a 1 -eq 1 -a restart = --status-all ']'
+ '[' 1 -eq 2 -a '' = --full-restart ']'
+ '[' -z networking ']'
+ '[' -z '' ']'
+ ACTION=restart
+ shift
+ '[' 0 -gt 0 ']'
+ '[' -r /etc/init/networking.conf ']'
+ which initctl
+ grep -q upstart
+ initctl version
+ case "${ACTION}" in
+ stop networking
stop: Job failed while stopping
+ :
+ exec start networking
start: Job is already running: networking
Jaki jest prawidłowy sposób zdalnego restartowania sieci w Ubuntu 14.04 Server?
networking
network-manager
services
SimonJGreen
źródło
źródło
sudo bash -x /usr/sbin/service networking restart
isudo bash -x /etc/init.d/networking restart
Odpowiedzi:
Okazuje się, że jest to „funkcja”. Tylko obsługiwane sposobem ponownego uruchomienia interfejsu w Ubuntu Server jest
sudo ifdown eth0 && sudo ifup eth0
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1301015
źródło
sudo service networking restart
wydawało się popsuć. Musiałem więc biecsudo ifdown eth0 && sudo ifup eth0
dwa razy. Tak, dwa razy.;
zamiast&&
bezpieczniejszą opcją?ifdown, ifup nie działało dla mnie (prawdopodobnie przekroczono limit czasu połączenia SSH przed drugim poleceniem). Co zadziałało to:
To było na systemie Ubuntu-Desktop 14.04.
źródło
Zmieniło się to, że nie chcą, abyś „odbijał” sieć. zatrzymywanie i uruchamianie nadal działa. restart nie działa. Właśnie „rozwiązałem” ten „problem”, to znaczy przywróciłem stare zachowanie. Aby przywrócić poprzednie zachowanie: Weź plik 13.10 /etc/init/networking.conf i zastąp go plikiem 14.04. (edytuj: wyjaśniono, który zastępuje który)
Proces wygląda następująco:
Zrób to samo dla skryptu /etc/init.d/networking, do którego odwołuje się / wywołuje plik /etc/init/networking.conf.
Oczywiście istnieje powód, dla którego wprowadzili tam obronne wyjście, ale nie zadają sobie trudu, aby naprawdę dobrze przedstawić to, co się dzieje.
Wpis próbuje przejść do pliku /var/log/upstart/networking.log, gdy wygląda to następująco:
Ale tak naprawdę mogą / powinny wyświetlać to jako komunikat dialogowy podczas próby ponownego uruchomienia sieci serwisowej. ach tak. wymyśliłem to, a nawet obejrzałem po staremu.
EDYCJA: Odkryłem, że powoduje to niezamierzone uruchomienie skryptu kontrolowanego przez /etc/init/failsafe.conf, co jest niepożądane, ponieważ powoduje 120-sekundowe opóźnienie przy każdym uruchomieniu ... a także może maskować rzeczywiste błędne konfiguracje / sieć problemy, które wskazywałoby na to pojawienie się tego opóźnienia, ale cały czas się pojawia. (np. Odłączony kabel, który umożliwiał dostęp do sieciowego udziału plików zmapowanego na przykład w / etc / fstab)
W każdym razie dowiem się, co powoduje to przekroczenie limitu czasu, i opublikuję poprawkę, gdy ją znajdę.
źródło
questionable
.W nawiązaniu do odpowiedzi kvm-user420, poszedłem naprzód i skonfigurowałem skrypt zastępujący skrypty sieciowe Ubuntu 14.04 skryptami Ubuntu 13.10
Można go znaleźć tutaj: https://github.com/metral/restore_networking
Cieszyć się!
źródło
Naprawiam problem z tym skryptem: dodaj ten skrypt do „/etc/network/if-down.d”
zawartość :
i w końcu :
teraz możesz zmienić adres IP i ponownie uruchomić usługę sieciową za pomocą polecenia systemctl lub service.
UWAGA : ten skrypt jest zbyt prosty i NIE NALEŻY OBSŁUGIwać interfejsów vm, tap, bridge, ... faktycznie opróżniają wszystkie interfejsy z wyłączeniem lo (loopback).
źródło