想我泱泱google,居然找不到几篇写CentOS7主机名的文章,于是鄙人查了些资料,写了这篇博客,希望各位大佬指正!
1、查看主机名
CentOS7使用 hostnamectl 命令来管理主机名,该命令不带参数时可以查看主机名信息
[root@CentOS7-1 ~]# hostnamectl
Static hostname: CentOS7-1
Icon name: CentOS7-1
Chassis: vm
Machine ID: 0b269f4da7e94412992cbfa2562855be
Boot ID: 24c06429f69048639a7e155f7d14ef87
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
2、查看虚拟化
其实这个命令很强大,还可以看出虚拟化的类型,比如我现在用的就是vmware。所以,我们可以通过这个命令知道
AWS用的是xen
阿里云使用的是kvm
京东云用的也是kvm
没有腾讯云的主机,不知道他是什么
3、主机名种类
CentOS7中,一共有三种主机名(man手册中说的,其实加上 icon name 一共有4个),分别是 pretty、static 和 transient 。
pretty:可以包含各种特殊字符
static:用于在启动时初始化内核主机名,只能用可作为域名的字符,这个名字就是我们在终端看到的名字
transient:从网络配置中接收到的默认临时主机名,只能用可作为域名的字符
static hostname 保存在 /etc/hostname 中,而 pretty hostname 和 icon name 保存在 /etc/machine-info 中
如果设置了静态主机名并且该主机名有效(不是localhost),则不使用临时主机名。
4、设置主机名
另外,如果使用 hostnamctl set-hostname NAME 的话,pretty 会接受大写字母,而 static 会将大写字母转换为小写字母。
但如果我们确实希望 static hostname 大写怎么办呢,那就可以带上参数,分别设置
hostnamectl --pretty set-hostname TEST-name # 设置pretty hostname
hostnamectl --static set-hostname TEST-name # 设置static hostname
hostnamectl --transient set-hostname TEST-name # 设置transient hostname
5、icon name
再来说说 icon name,这个名字主要用于一些图形化界面中,某些桌面会读取这个参数来作为主机名字,类似于 windows 上的“此电脑”,可以使用如下命令设置
hostnamectl set-icon-name MY-comp