Linux Hostname: Difference between revisions
Line 64: | Line 64: | ||
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;"> | <blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;"> | ||
:[[Linux 7 Configuring the Machine Name]] | :[[Linux 7 Configuring the Machine Name|Configuring the Machine Name]] | ||
</blockquote> | </blockquote> |
Revision as of 05:02, 7 August 2016
External
Internal
Overview
There are three different hostnames:
- The high-level "pretty" hostname which might include special characters.
- The static hostname which is used to initialize the kernel hostname at boot.
- The transient hostname which might be assigned temporarily due to network configuration and might revert back to the static hostname if network connectivity is lost and is only temporarily written to the kernel hostname.
The static and transient hostnames are limited to the usually accepted characters of Internet domain names.
The static hostname is stored in /etc/hostname, see hostname(5) for more information.
The pretty hostname, chassis type, and icon name are stored in /etc/machine-info.
The hostname can be set at runtime with at least two commands: hostname and hostnamectl. The hostname command shows or set the system's host name. Note that the name set is such a way is ephemeral - will disappear at reboot. There's also a daemon that reacts to network events and sets the hostname: systemd-hostnamed. To permanently set name, configure the appropriate file. See below.
Host Name and the Domain Name
When a machine is initially configured, the installation program usually suggest a fully qualified host name that usually has a host name component and a domain name component.
Finish this.
Getting the Hostname
Display the hostname:
hostname
Display the fully qualified domain name (the long host name):
hostname -f
Display the DNS domain:
hostname -d
/etc/hostname
The /etc/hostname file configures the name of the local system that is set during boot using the sethostname(2) system call. It should contain a single newline-terminated hostname string. Depending on the operating system, other configuration files might be checked for configuration of the hostname as well, however only as fallback.
You may use hostnamectl to change the value of this file from the command line. Also see systemd-hostnamed /etc/hostname.
/proc/sys/kernel/hostname
cat /proc/sys/kernel/hostname