Linux操作系统永久修改主机名

先查看linux版本

[root@localhost ~]# cat /etc/redhat-release

主机名一般默认为 localhost.localdomain,可通过hostname 查看

[root@localhost ~]# hostname
localhost.localdomain

centos7

1、修改/etc/hostname文件,将localhost.localdomain改成自己定义的主机名

vim /etc/hostname

2、修改/etc/hosts文件,方便访问本机主机名时能解析出本机ip地址

sed -i 's/localhost.localdomain/local-192-168-203-80/g' /etc/hosts

3、重启使主机名生效,可使用hostname查看

reboot

centos6

1、修改/etc/sysconfig/network,将自己定义的hostname添加到 HOSTNAME= 之后

vim /etc/sysconfig/network

2、修改/etc/hosts文件,方便访问本机主机名时能解析出本机ip地址

sed -i 's/localhost.localdomain/local-192-168-203-80/g' /etc/hosts

3、重启使主机名生效,可使用hostname查看

reboot

临时修改可直接使用hostname接主机名,su重新登录即可显示,但是重启失效

hostname local-192-168-203-80

使用脚本修改主机名


#!/bin/bash# 获取centos版本
version=`cat /etc/redhat-release |awk '{print $4}'|awk -F'.' '{print $1}'`# 获取ip路径
path=/etc/sysconfig/network-scripts# 判断并修改主机名文件和hosts文件
if [ $version == '7' ];thenip=`awk -F'=' '/^IP/ {print $2}' $path/ifcfg-ens33|tr '.' '-'`echo "local-$ip" > /etc/hostnamesed -i "s/localhost.localdomain/local-$ip/g" /etc/hosts
elif [ $version == '6' ];thenip=`awk -F'=' '/^IP/ {print $2}' $path/ifcfg-eth0|tr '.' '-'`sed -i "/^HOSTNAME=/ s/localhost.localdomain/local-$ip" /etc/sysconfig/networksed -i "s/localhost.localdomain/local-$ip/g" /etc/hosts
fi# 确认是否重启
read -p "Rboot now(y/n)?" instring
if [ $instring == "y" ];thenreboot
elif [ $instring == "n" ];thenecho "Quit!!!"exit 1
esleecho "error!!!"exit 2
fi

如果需要批量修改主机名,可以使用ansible的script模块在中控机上进行操作

ansible hostname -m script -a "path"


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部