[Linux] 在 CentOS 7 使用 hostnamectl,避免重開機後修改的電腦名稱消失

[Linux] 在 CentOS 7 使用 hostnamectl,避免重開機後修改的電腦名稱消失

今天發現一台機器上,Perforce 在 sync code 的時候,

都會說 Hostname 不對的錯誤訊息,

用平常常用的 hostname 指令看一下,是叫 build-server:

[root@build-server ~]# hostname
build-server

 

Perforce workspace 上指定的名稱是 tw-build,難怪會失敗…

很直覺地用 hostname 重新設定名稱為 tw-build,

問題也暫時解決了:

[root@build-server ~]# hostname tw-build
[root@build-server ~]# hostname
tw-build

 

不過,在重開機之後,問題就又出現,

電腦名稱又回復成 build-server 了!

看來 hostname 改的並不會永久儲存下來…

瞄了一下 /etc/hostname,的確內容也還是舊的 build-server:

[root@build-server ~]# cat /etc/hostname
build-server

 

研究了一下,CentOS 7 上有個新的 hostnamectl 指令,

執行的話可以發現,

用 hostname 指令設定的是一個暫時的 (Transient) hostname,

但固定的 (Static) hostname 並沒有被修改到:

[root@build-server ~]# hostnamectl
   Static hostname: build-server
Transient hostname: tw-build
         Icon name: computer
           Chassis: n/a
        Machine ID: 0000504d92611119aa5292368e3333f3
           Boot ID: 0000113be75a49c4ac422225cec44441
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-123.el7.x86_64
      Architecture: x86_64

 

用 hostnamectl set-hostname 來把固定的名稱也修改:

hostnamectl set-hostname tw-build

 

這樣就算重開機,電腦名稱也不會再被換回來囉:

[root@build-server ~]# hostnamectl
   Static hostname: tw-build
         Icon name: computer
           Chassis: n/a
        Machine ID: 0000504d92611119aa5292368e3333f3
           Boot ID: 0000113be75a49c4ac422225cec44441
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-123.el7.x86_64
      Architecture: x86_64

 

參考資料:How to change hostname on CentOS 6.5?

(本頁面已被瀏覽過 2,265 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料