想我泱泱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