无法在 Ubuntu 14.04 上执行重新启动网络服务

无法在 Ubuntu 14.04 上执行重新启动网络服务

我使用Ubuntu 14.04 LTS,我尝试输入sudo /etc.init.d/networking restart但没有显示输出,也没有执行任何操作。

答案1

在 中/etc/init.d/networking,您可以看到:

....
force-reload|restart)
        if init_is_upstart; then
                exit 1
        fi
....

并来自/lib/lsb/init-functions

# If the currently running init daemon is upstart, return zero; if the
# calling init script belongs to a package which also provides a native
# upstart job, it should generally exit non-zero in this case.
init_is_upstart()
{
   if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | /bin/grep -q upstart; then
       return 0
   fi
   return 1
}

Ubuntu 14.04发行版使用upstartas init daemon,因此当您运行时/etc/init.d/networking restart,它会检查当前init daemon是否正在运行upstart。如果是upstart,那么它只是退出脚本。

笔记

在我的里面Ubuntu 12.04,没有。也许它已被添加到较新版本的.init_is_upstart/etc/lsb/init-functionsUbuntu

答案2

我记得在某处读过,sudo /etc/init.d/networking restart从 14.04 开始不再支持 using。您可以尝试先运行sudo ifdown eth0然后sudo ifup eth0.当然,您需要将“eth0”替换为您需要重新启动的任何接口。这应该与使用 init 脚本完成相同的任务。

我找到了一个 github 存储库,其中包含 Ubuntu 14.04 的替代网络脚本,它应该可以sudo service networking restart像 13.10 一样工作。我还没有尝试过这个脚本,但可能值得研究一下。

https://github.com/metral/restore_networking

相关内容