1. 程式人生 > >修改CentOS7的hostname

修改CentOS7的hostname

在CentOS中,有三種定義的主機名:靜態的(static),瞬態的(transient),和靈活的(pretty)。靜態主機名也稱為核心主機名,是系統在啟動時從/etc/hostname自動初始化的主機名。瞬態主機名是在系統執行時臨時分配的主機名,例如,通過DHCP或mDNS伺服器分配。靜態主機名和瞬態主機名都遵從作為網際網路域名同樣的字元限制規則。而另一方面,靈活主機名則允許使用自由形式(包括特殊/空白字元)的主機名,以展示給終端使用者(如Linuxidc)。

在CentOS 7中,有個叫hostnamectl的命令列工具,它允許你檢視或修改與主機名相關的配置。

要檢視主機名相關的設定

hostnamectl
[[email protected] ~]# hostnamectl  
   Static hostname: apm-slave01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: e13059d324bc44c699cb44fd01af48df
           Boot ID: f1efa859613549008d87b0507f534d26
    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
      Architecture: x86-64

或者

hostnamectl status
[[email protected] ~]# hostnamectl status
   Static hostname: apm-slave01
         Icon name: computer-vm
           Chassis: vm
        Machine ID: e13059d324bc44c699cb44fd01af48df
           Boot ID: f1efa859613549008d87b0507f534d26
    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
      Architecture: x86-64

只檢視靜態、瞬態或靈活主機名

hostnamectl --static
hostnamectl --transient
hostnamectl --pretty

要同時修改所有三個主機名:靜態、瞬態和靈活主機名

hostnamectl set-hostname apm-slave01

就像上面展示的那樣,在修改靜態/瞬態主機名時,任何特殊字元或空白字元會被移除,而提供的引數中的任何大寫字母會自動轉化為小寫。一旦修改了靜態主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以儲存所做的修改,所以你每次在修改主機名後一定要手動更新/etc/hosts,之後再重啟CentOS 7。否則系統再啟動時會很慢。

vim /etc/hosts
[[email protected] ~]# vim /etc/hosts
127.0.0.1   localhost apm-slave01
#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

如果你只想修改特定的主機名(靜態,瞬態或靈活),你可以使用“–static”,“–transient”或“–pretty”選項。

例如,要永久修改主機名,你可以修改靜態主機名:

hostnamectl --static set-hostname apm-slave01

重啟

reboot

其實,你不必重啟機器以啟用永久主機名修改。上面的命令會立即修改核心主機名。登出並重新登入後在命令列提示來觀察新的靜態主機名。