On 4/10/19 8:23 AM, Simon Matter via CentOS wrote:
Hi,
For the last ten years or so, I've defined the short hostname in /etc/hostname and the FQDN in /etc/hosts. Now I wanted to double-check this information, which eventually led me to this page:
https://serverfault.com/questions/331936/setting-the-hostname-fqdn-or-short-...
Now I admit I'm even more confused than before.
Is there some reliable piece of information on this subject for CentOS ?
IMHO for those having proper DNS in place, the hostname should be set to the FQDN in whatever place it is supposed to be set. I quite feel there is something wrong if the only place where the FQDN is listed is the /etc/hosts file.
I'm not very happy with how the issue was handled in Linux and the different distributions in the last decades. Not to mention the inconsistency in the relevant man pages.
Well, I am unhappy for about as long about /etc/hosts and how name resolution "should" happen which it doesn't, namely, if /etc/nsswitch.conf says
hosts: files dns
then ideally /etc/hosts should be used first, then nameservers. However (and this is true both for Linux and FreeBSD), some commands never look into /etc/hosts (e.g., command host), whereas some do use /etc/hosts (e.g., command ping).
Well, in case of the host command it seems clear that it doesn't look up /etc/hosts as it is a "DNS lookup utility", as the man page states, and not a general name resolution utility. I had to learn this, guess how.
It's my impression that trying to resolve a host on a Linux system (and also other *nix like systems) is best done with the getent utility:
getent hosts <hostname>
It shows what other programs see as well.
Regards, Simon