習慣了在Centos6系統下修改主機名的操做,可是Centos7下修改主機名的操做卻大不相同!操做筆記以下:vim
在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