Когда я перезапускаю сеть, используя:
/etc/init.d/networking restart
Я получаю это предупреждение:
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces
Итак, как лучше всего перезапустить сеть после внесения изменений?
Эта проблема также относится к Debian, поскольку пакет netbase унаследован от debian.
Это просто говорит о том, что опция перезапуска уходит
/etc/init.d/networking stop; /etc/init.d/networking start
Обратите внимание, что есть только одна строка! Это важно при перезапуске сети через сеть.
Запустите команду init.d без параметров, она сообщит вам, какое использование:
~# /etc/init.d/networking
Usage: /etc/init.d/networking {start|stop}
Кажется, перезагрузка устарела
Он также устарел в Debian по крайней мере с тех пор, как:
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
Связанная ошибка # 550240 здесь
Что довольно неприятно. Чтобы перезапустить netwokring с удаленного компьютера, вероятно, лучшим и самым безопасным подходом будет выполнение следующего в пределах экранная сессия:
~# /etc/init.d/networking stop; /etc/init.d/networking start
На сегодняшний день networking
сценарий инициализации, restart
и force-reload
буду работать в большинстве обстоятельства. Я думаю, что достаточно безопасно игнорировать предупреждение и по-прежнему использовать перезапуск. Однако я пойду с остановкой + старт :-)
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
я использую nohup sh -c "/etc/init.d/networking stop; sleep 2; /etc/init.d/networking start"
. я добавить sleep 2
потому что я думаю, что, возможно, проблемы с перезапуском были как-то связаны с аппаратно-зависимыми задержками, но это не подтверждено, и мне немного стыдно обнародовать это как полуправило. Так что можете пропустить это, если чувствуете себя рационально!
Приведенная ниже команда хорошо работает в серверной среде без выдачи предупреждений. Он реализует как запросы остановки, так и запуска в сетевой службе.
sudo service networking start
как насчет nohup sh -c "ifdown -a && ifup -a"
В Debian Wheezy,
service networking restart
кажется, делает то, что ожидается, и не жалуется.
Думаю, в Jessie с systemd все может быть иначе.
Если вы не можете найти причину, по которой сеть не перезапускается, сделайте это в подробном режиме внутри screen
сессия:
ifdown -v --force eth0; ifup -v eth0