我有一台 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
但我希望 hostname 只返回 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 上。
答案1
为什么不保留 FQDN 而只使用 CNAME 并始终通过 CNAME 引用它?
答案2
在您的 hosts 文件中使用本地主机地址作为主机名,并将公共地址与公共 IP 关联。
127.0.1.1 mycustomhostname
1.2.3.4 git.mydomain.com
答案3
您可以将 shell 的提示修改为您想要的任何内容,而根本不需要更改主机名。
/etc/profile
应该是一个很好的起点。