centos永久修改主機名以及etc/hosts文件詳解

1 在CentOS7中,有三種定義的主機名

  • 靜態(tài)的(Static hostname)
    “靜態(tài)”主機名也稱為內核主機名,是系統(tǒng)在啟動時從/etc/hostname自動初始化的主機名。
  • 瞬態(tài)的(Tansient hostname)
    “瞬態(tài)”主機名是在系統(tǒng)運行時臨時分配的主機名,例如,通過DHCP或mDNS服務器分配。
  • 靈活的(Pretty hostname)
    “靈活”主機名也有人叫做“別名”主機名。
    “靈活”主機名則允許使用自由形式(包括特殊/空白字符)的主機名,以展示給終端用戶(如xh01@f5)。
    “靜態(tài)”主機名和“瞬態(tài)”主機名都遵從作為互聯(lián)網(wǎng)域名同樣的字符限制規(guī)則。

2 查看主機名

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


//查看一下當前主機名的情況,查看全部三種主機名和內核信息
hostnamectl   

//或者,查看全部三種主機名
hostnamectl status

//只查看靜態(tài)、瞬態(tài)或靈活主機名,分別使用--static,--transient或--pretty選項
[root@localhost ~]hostnamectl --static
localhost 

[root@localhost ~]hostnamectl --transient
localhost 

[root@localhost ~]hostnamectl --pretty
 localhost 

//hostname查看到的是瞬態(tài)的(Tansient hostname),重啟后不會保存修改
hostname
localhost 

//或者查看主機名配置文件,查看到的是靜態(tài)的(Static hostname)
cat /etc/hostname
localhost 

查看當前Linux操作系統(tǒng)相關信息(內核版本號、硬件架構、主機名稱和操作系統(tǒng)類型等):

uname 
Linux

uname -a            //查看到的是瞬態(tài)的(Tansient hostname)
Linux master 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/redhat-release     //查看操作系統(tǒng)環(huán)境
CentOS Linux release 7.6.1810 (Core) 

3 修改主機名

3.1 方法1:臨時有效

hostname 主機名 //只能臨時修改的主機名,當重啟機器后,主機名稱又變回來了。
hostname master

3.2 方法2:永久生效

//永久性的修改主機名稱,重啟后能保持修改后的。
hostnamectl set-hostname master
 
//刪除hostname 盡量不要使用此命令
hostnamectl set-hostname ""
hostnamectl set-hostname "" --static
hostnamectl set-hostname "" --pretty

4 注意事項

就像上面展示的那樣,在修改靜態(tài)/瞬態(tài)主機名時,任何特殊字符或空白字符會被移除,而提供的參數(shù)中的任何大寫字母會自動轉化為小寫。
一旦修改了靜態(tài)主機名,/etc/hostname 將被自動更新。然而,/etc/hosts 不會更新以保存所做的修改,所以你每次在修改主機名后一定要手動更新/etc/hosts,之后再重啟CentOS 7。否則系統(tǒng)再啟動時會很慢。(沒什么必要其實)

5 etc/hosts文件詳解

Linux 修改 etc/hosts文件

hosts文件

hosts —— the static table lookup for host name(主機名查詢靜態(tài)表)。

hosts文件是Linux系統(tǒng)上一個負責ip地址與域名快速解析的文件,以ascii格式保存在/etc/目錄下。hosts文件包含了ip地址與主機名之間的映射,還包括主機的別名。在沒有域名解析服務器的情況下,系統(tǒng)上的所有網(wǎng)絡程序都通過查詢該文件來解析對應于某個主機名的ip地址,否則就需要使用dns服務程序來解決。通過可以將常用的域名和ip地址映射加入到hosts文件中,實現(xiàn)快速方便的訪問。

優(yōu)先級 : dns緩存 > hosts > dns服務

  • hosts格式配置

hosts文件可以配置主機ip與對應的主機名。在局域網(wǎng)或者是萬維網(wǎng)上,每臺主機都有一個ip地址,它區(qū)分開每臺主機,并可以根據(jù)ip進行通訊。但是Ip地址不符合人腦的記憶規(guī)律,因此出現(xiàn)了域名,例如www.baidu.com.在一個局域網(wǎng)中,每臺機器都有一個主機名,用于區(qū)分主機,便于相互訪問。

  • hosts文件格式

ip地址 主機名/域名 (主機別名)

  • 主機名和域名的區(qū)別在于:
  • 主機名通常在局域網(wǎng)內使用,通過hosts文件,主機名就被解析到對應的ip。
  • 域名通常在internet上使用,但是優(yōu)先級低于hosts文件中內容,因此如果你不想使用internet上的域名解析,可以更改自己的hosts文件,加入自己的域名解析。
  • hosts文件作用

一個主要的作用是:線下環(huán)境模擬,通信雙方在同一個局域網(wǎng)內想通過internet上的域名相互訪問,則只需要修改自己的/etc/hosts文件內容即可。

例如,修改www.baidu.com的ip為127.0.0.1

重啟網(wǎng)絡生效參考http://m.itdecent.cn/p/6c166acd5ce1

[centos 8 如何重啟網(wǎng)絡 service network restart / systemctl restart network 失效的解決辦法]

systemctl restart network centos8失效了
重啟網(wǎng)絡可使用以下命令

#重啟整個網(wǎng)絡
nmcli n off && nmcli n on 
#重啟指定網(wǎng)卡
nmcli c down eth0 && nmcli c up eth0 
ifdown eth0 && ifup eth0

注意一定要使用&&一起執(zhí)行,否則關閉網(wǎng)絡后,會無法遠程連接到服務器
ifdown / ifup本質為調用nmcli的腳本

ps:
你可以通過圖形化工具來設置網(wǎng)絡

nmtui
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容