1、养成好习惯,修改前备份文件
cp -f /etc/hosts /etc/hosts.default
cp -f /etc/sysconfig/network /etc/sysconfig/network.default
2、修改主机名文件
a_host_name=XY_TEST_192.168.1.22 ##定义变量
centos 6 :
sed -i "/^HOSTNAME/c HOSTNAME=${a_host_name}" /etc/sysconfig/network
如果 /etc/sysconfig/network文件没有定义hostname :
echo "HOSTNAME=${a_host_name}" >> /etc/sysconfig/network ## 重启生效
hostname ${a_host_name} ## 立即生效
centos 7 :
hostnamectl set-hostname --static ${a_host_name} ## 一步到位,就很棒
## 检查
cat /proc/sys/kernel/hostname
3、主机名解析
echo "127.0.0.1 ${a_host_name} localhost" > /etc/hosts
遇到的奇怪事:
以前用的centos6 修改主机名用 hostname 命令就会直接临时生效 而且是自动区分大小写
现在用centos7 使用 hostnamectl 修改主机名的时候,竟然会自动换成小写!!
在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Dan's Computer)。