在Ubuntu和Debian中重新启动networking的首选方法是什么?

当我使用以下命令重启networking时:

/etc/init.d/networking restart 

我得到这个警告:

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

那么现在进行更改后重新启动networking的最佳方法是什么?

这个问题也适用于Debian,因为netbase包是从debianinheritance而来的。

这只是说,重启选项将消失

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

注意只有一行! 在通过networking运行networking重启时这很重要。

运行不带参数的init.d命令,会告诉你哪个是用法:

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

似乎不推荐重新启动

至less在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 <[email protected]> Sun, 06 Dec 2009 17:09:41 +0100 

相关的错误#550240在这里

这是相当讨厌的。 要从远程重新启动networking,最好和最安全的方法将在屏幕会话中运行以下内容:

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

截至今天的networking初始化脚本, restartforce-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" 。 我joinsleep 2因为我认为或许重新启动的问题与硬件相关的延迟有关,但是这是未经证实的,我半觉得羞于公开。 所以你可以跳过,如果你感觉合理!

下面的命令在服务器环境中运行良好,不会引发警告。 它在networking服务上实现停止和启动请求。

 sudo service networking start 

怎么样nohup sh -c "ifdown -a && ifup -a"

在Debian Wheezy中,

 service networking restart 

似乎做了什么预料,不抱怨。

我猜在Jessie和systemd可能会有所不同。

如果找不到networking无法重新启动的原因,请在screen会话的详细模式下执行此操作:

 ifdown -v --force eth0; ifup -v eth0