linux的hostname修改详解
host
fi 确实使用了/etc/sysconfig/network里的hostname值.不过后面还有一段关于设置hostname的 ipaddr= if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ] ; then ipaddr=$(ip addr show to 0/0 scope global | awk ''/[[:space:]]inet / { print gensub("/.*","","g",$2) }'') if [ -n "$ipaddr" ]; then eval $(ipcalc -h $ipaddr 2>/dev/null) hostname ${HOSTNAME} fi fi 脚本判断hostname是否为localhost或者localhost.localdomain,如果是的话,将会使用接口IP地址对应的 hostname来重新设置系统的hostname.问题就出在这里,我的/etc/sysconfig/network默认的hostname是 localhost.localdomain,eth0的IP是192.168.1.61,而/etc/hosts里有192.168.1.61的记录.于是就用192.168.1.61这条记录来替换了hostname. 估计这也是很多人将/etc/hosts误以为是hostname的配置文件的原因. hostname带选项查询 hostname的-s -f -i等等选项都用到了/etc/hosts或者DNS系统,跟我们讨论的hostname有点远了,也容易产生误会.具体可以man hostname查看. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |