有没有一个不同的主机名到fqdn?

我有一个服务器与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

而普通的旧主机名应该返回服务器的UNqualified主机名。 我可以find的每一个资源都说这个不合格的名字应该是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(这很好),但主机名-f也返回mycustomhostname,这不是我想要的。

主要的原因是,当我在服务器ssh'ing我希望bash shell说

 myusername@mycustomhostname 

代替

 myusername@git 

只是因为它会让我更容易知道我正在使用的服务器。 如果我有另一台服务器的git仓库(比如git.mydomain2.com),并按照我在任何地方看到的惯例,那么如果我ssh进入该服务器bash也会说

 myusername@git 

这让我很困惑。

我如何正确地有不同的主机名到服务器的fqdn?

这是在Debian Linux btw上。

为什么不把FQDN放在一边,只使用一个CNAME,并且总是用CNAME引用它呢?

在主机文件中使用本地主机地址作为您的主机名,并将公共地址与公有IP关联。

 127.0.1.1 mycustomhostname 1.2.3.4 git.mydomain.com 

你可以根据需要修改shell的提示符而不用改变主机名。

/etc/profile应该是一个很好的起点。