習慣了在Centos6系統下修改主機名的操作,但是Centos7下修改主機名的操作卻大不相同!操作筆記如下:
在CentOS中,有三種定義的主機名:靜態的(static),瞬態的(transient),和靈活的(pretty): * "靜態"主機名也稱為核心主機名,是系統在啟動時從/etc/hostname自動初始化的主機名。 * "瞬態"主機名是在系統執行時臨時分配的主機名,例如,通過DHCP或mDNS伺服器分配。靜態主機名和瞬態主機名都遵從作為網際網路域名同樣的字元限制規則。 * "靈活"主機名則允許使用自由形式(包括特殊/空白字元)的主機名,以展示給終端使用者(如kevin-test.kevin.com)。 在CentOS 7中,有個叫hostnamectl的命令列工具,它允許你檢視或修改與主機名相關的配置。 1)要檢視主機名相關的設定: [root@kevin-test ~]# hostname kevin-test.kevin.com [root@kevin-test ~]# hostnamectl Static hostname: kevin-test.kevin.com Icon name: computer-vm Chassis: vm Machine ID: 45461f76679f48ee96e95da6cc798cc8 Boot ID: 1e7ed2e4777240529451d611c03465c6 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.13.1.el7.x86_64 Architecture: x86-64 或者 [root@kevin-test ~]# hostnamectl status Static hostname: kevin-test.kevin.com Icon name: computer-vm Chassis: vm Machine ID: 45461f76679f48ee96e95da6cc798cc8 Boot ID: 1e7ed2e4777240529451d611c03465c6 Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-327.13.1.el7.x86_64 Architecture: x86-64 2)只檢視靜態、瞬態或靈活主機名,分別使用"--static","--transient"或"--pretty"選項 [root@kevin-test ~]# hostnamectl --static kevin-test.kevin.com [root@kevin-test ~]# hostnamectl --transient kevin-test.kevin.com [root@kevin-test ~]# hostnamectl --pretty [root@kevin-test ~]# 3)要同時修改所有三個主機名:靜態、瞬態和靈活主機名 [root@kevin-test ~]# hostnamectl set-hostname kevin-test.kevin.com [root@kevin-test ~]# hostnamectl --pretty set-hostname kevin-test.kevin.com [root@kevin-test ~]# hostnamectl --static set-hostname kevin-test.kevin.com [root@kevin-test ~]# hostnamectl --transient set-hostname kevin-test.kevin.com 修改靜態主機名 [root@kevin-test ~]# hostnamectl --static set-hostname kevin-test.kevin.com 其實,不必重啟機器以啟用永久主機名修改。上面的hostnamectl命令會立即修改核心主機名。登出並重新登入後在命令列提示來觀察新的靜態主機名。 就像上面展示的那樣,在修改靜態/瞬態主機名時,任何特殊字元或空白字元會被移除,而提供的引數中的任何大寫字母會自動轉化為小寫。一旦修改了靜態主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以儲存所做的修改,所以你每次在修改主機名後一定要手動更新/etc/hosts,之後再重啟CentOS 7。否則系統再啟動時會很慢。 4)手動更新/etc/hosts(這個只是臨時生效,重啟伺服器後,主機名還是會恢復預設) [root@kevin-test ~]# cat /etc/hosts ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 kevin-test.kevin.com =============================================================================== 除此之外,還有一種永久修改主機名的方法:修改配置檔案 /etc/hostname [root@kevin-test ~]# vim /etc/hostname kevin-test.kevin.com 然後重啟伺服器即可永久生效 [root@kevin-test ~]# reboot