CentOS 6中,修改主机名方式很简单,临时修改主机名使用hostname命令,永久修改主机名直接写进文件/etc/sysconfig/network中即可。
在CentOS 7中,主机名分3类:static、pretty和transient
和主机名有关的文件为/etc/hostname(/etc/sysconfig/network文件已经失效),它是在系统初始化的时候被读取的,并且内核根据它的内容设置transient主机名。
其中:
1.static主机名就是我们常说的主机名。
2.transient主机名也就是我们常说的临时主机名,是由内核动态维护的主机名。在系统启动的时候默认会根据/etc/hostname文件中的静态主机名进行初始化。
3.pretty主机名是给人看的,它可以提供非标准的主机名,以前版本(例如CentOS 6)没有这功能。可以包含特殊符号,例如空格。
修改主机名
hostnamectl set-hostname HOSTNAME修改/etc/hostname文件(不存在的时候生成),同时修改三个主机名。名称参数中如果包含任何特殊字符或空白字符,都会被移除,任何大写字母会自动转化为小写,成为新的static主机名,并写入/etc/hostname。pretty主机名则会不加修改地获取新文件名。
hostnamectl --static/transient/pretty set-hostname HOSTNAME可以单独设置各类主机名
hostnamectl --static set-hostname HOSTNAME修改static主机名(设置已经生效,但是此时显示仍是旧主机名,登出再登入即可看到效果)
直接修改/etc/hostname文件效果一样
hostnamectl --transient set-hostname HOSTNAME只会暂时修改transient主机名(立即生效),重启之后会恢复旧主机名
同时修改了pretty 和 static/transient中的一种时,将取pretty名去除特殊字符或空白符之后的部分作为static/transient主机名
使用nmtui命令在图形化界面修改主机名。它会直接修改/etc/hostname文件
或者
nmcli general hostname servername
systemctl restart systemd-hostnamed
hostname HOSTNAME命令修改的是transient主机名
可以用
hostnamectl set-hostname “”
hostnamectl set-hostname “” --static/transient/pretty
删除主机名,实际上是删除了/etc/hostname文件。重启后只有transient主机名会根据安装系统时设置的主机名作为当前transient主机名在终端上进行显示
查看主机名
hostnamectl [–pretty|–static|–transient] status可以查看当前主机名
使用hostname命令或者uname -n可以读取transient主机名
修改、查看远程主机的主机名
使用"-H"或"–host"选项。连接基于SSH。
注意,无法远程修改CentOS 5或6主机名,因为它使用的是systemd类的命令进行修改的。
hostnamectl -H [USER@]HOST set-hostname NAME
hostnamectl -H [USER@]HOST status
https://www.linuxidc.com/Linux/2018-03/151464.htm
https://blog.csdn.net/xuheng8600/article/details/79983927