问:有没有一种简单的方法可以在系统启动时自动将linux机器的DHCP颁发的IP地址和主机名添加到/etc/hosts中?
背景:我的Linux机器在/etc/hostname中有一个主机名,当我执行ping操作时,它不会解析到任何内容。我在/etc/hosts中手动添加了我的主机名和ip地址,以便我的一个与网络相关的java程序能够工作。
谢谢,
发布于 2011-03-01 00:40:43
dhcpcd有一个-c/--script选项,可以在配置或启动接口时随时运行外部脚本。您可以使用已配置的主机名手动更新主机文件。
发布于 2011-07-21 21:22:19
在Ubuntu中,将一个可执行文件添加到/etc/network/if-up.d目录。此目录中的文件在网络管理器配置网络接口后执行。
您可以修改以下脚本:
#!/bin/sh
set -e
if [ "$IFACE" = lo ]; then
exit 0
fi
myHostName=`hostname`
# Remove current line with hostname at the end of line ($ means end of line)
sed -i '/'$myHostName'$/ d' /etc/hosts
ipaddr=$(ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}')
echo "$ipaddr $myHostName" >>/etc/hosts发布于 2011-03-01 05:40:52
使用avahi (它应该在您的发行版存储库中),然后您可以
$ ping youhostname.localhttps://stackoverflow.com/questions/5144738
复制相似问题