Setting Fully Qualified Domain Name (FQDN) on Linux
There are many ways of setting the fully qualified domain name on a Linux machine. Some set it directly in
/etc/hostname, something which, after reboot, will make the hostname command return the fqdn:
# hostname host.example.com
This is a bit of the easy and quick fix, and will not necessarily work with all systems. Also, it doesn’t work to well on multi-domain systems.
A better trick that I found while dealing with Openstack hosts that are managed via cloud-init is to set just the hostname in
/etc/hostname, then add an entry to
/etc/hosts. It doesn’t have to be an entry that points at any real IP address, just as it contains both the FQDN and the hostname. So:
# cat /etc/hosts 127.0.1.1 hostname.example.com hostname # cat /etc/hostname hostname
This is something I have been struggling with for years, yet the fix is so easy.