Hostname

與 fqdn 有不同的主機名可以嗎?

  • November 29, 2012

我有一個帶有 fqdn git.mydomain.com 的伺服器(這是在 DNS 中),但我真的不希望機器將 git 作為其主機名。現在我將 /etc/hostname 中的主機名設置為(例如):

mycustomhostname

在 /etc/hosts 我有

1.2.3.4 git.mydomain.com mycustomhostname

(其中 1.2.3.4 是我伺服器的 IP)

我讀過 FQDN 的第一個組件應該始終是不合格的主機名,所以我做錯什麼?

如果是這樣,做我想做的事情的正確方法是什麼?

**編輯:**可能不清楚我想要什麼。或者也許我真的不明白這一切應該如何運作,但我的理解是

hostname -f

應該返回伺服器的 fqdn,在這種情況下是 git.mydomain.com

並且普通的舊主機名應該返回伺服器的不合格主機名。我能找到的每個資源都說不合格的名稱應該是 fqdn 的開頭,但這似乎很煩人且不方便。

我想

hostname -f

返回 git.mydomain.com 因為那確實是伺服器的 fqdn

但我希望主機名只返回 mycustomhostname

按照其中一個答案的說明,我在 /etc/hosts 中添加了一個別名,如下所示:

127.0.0.1 mycustomhostname
1.2.3.4 git.mydomain.com

而 /etc/hostname 仍然只是 mycustomhostname

但是,這會導致 hostname 命令返回 mycustomhostname(這很好),但 hostname -f 也返回 mycustomhostname,這不是我想要的。

主要原因是當我 ssh 進入伺服器時,我希望 bash shell 說

myusername@mycustomhostname

代替

myusername@git

僅僅是因為它會讓我更容易知道我正在使用什麼伺服器。如果我有另一個用於 git 儲存庫的伺服器(例如 git.mydomain2.com)並遵循我在各處看到的約定,那麼如果我 ssh 進入該伺服器 bash 也會說

myusername@git

這讓我很困惑。

如何正確使用與伺服器的 fqdn 不同的主機名?

順便說一句,這是在 Debian Linux 上。

為什麼不單獨使用 FQDN,只使用 CNAME 並始終通過 CNAME 引用它?

在 hosts 文件中使用本地主機地址作為主機名,並將公共地址與公共 IP 相關聯。

127.0.1.1 mycustomhostname
1.2.3.4 git.mydomain.com

引用自:https://serverfault.com/questions/453277