修改/etc/hosts后需要重启哪些服务?

Ash*_*rpe 117 network-manager networking hosts etc 14.04

修改后/etc/hosts,需要重启哪些服务才能生效?

Arr*_*cal 93

您不需要重新启动任何服务。

在 14.04 服务器安装上进行测试时,更改会立即反映出来。

我认为唯一可能相关的服务是“网络”,但没有必要重新启动它。

  • 不!它不适用于`Ubuntu 16.04.4 LTS` (5认同)
  • // ,顺便说一下,Mac OS X (10.12.4 (16E195)) 也是如此。 (2认同)
  • 从技术上讲,重新启动是重新启动 _every_ 服务。并且它应该不是必需的......但是,请注意某些应用程序(例如,firefox)可能会缓存此数据并且需要重新启动 _applications_ 。 (2认同)
  • 不适用于更新的 Linux, (2认同)

小智 11

您可以尝试:(免责声明:如果您通过 SSH 连接,请不要运行它)

sudo ifconfig eth0 down
sudo ifconfig eth0 up
Run Code Online (Sandbox Code Playgroud)

eth0用你的网卡代替)

但 Arronical 在理论上是正确的:你不需要它。

  • 除非,呃……你已经远程连接到机器上了? (23认同)
  • 这是我在任何网络更改后倾向于做的事情,我通常在两个命令之间放置 `&&` 以使其成为单行。 (7认同)
  • 如果通过远程 ssh 连接,则重新启动可能与手动网络停止/启动一样(不)安全(因为,当然,在关闭网络后,您已断开连接并且无法重新打开它——或者甚至重启!)。但是,要执行 `ifconfig` down + up,然后使用类似 gnu screen(或 tmux)的东西,并通过 `ifconfig up && ifconfig down` 一次运行这两个命令,或者将它们放入一个两行的 shell 脚本中并运行它. 然后重新连接到您的 gnu screen/tmux 会话 - 如果一切顺利。 (4认同)

And*_*sev 5

如果您使用dnsmasq(默认设置),请执行以下操作:

$ pkill -HUP dnsmasq
Run Code Online (Sandbox Code Playgroud)

  • 或者对于 systemd 系统,使用“systemctl restart dnsmasq.service”。 (2认同)

var*_*nsh 5

理论上,对/etc/hosts文件的更改会立即生效。

但是,如果您在此之后获得旧主机名

$ hostname
Run Code Online (Sandbox Code Playgroud)

然后,重新启动或重新启动您的网络连接...应该会显示正确的主机名。