By default, the system hostname is set during the installation process, or if you are creating a virtual machine it is dynamically assigned to the instance at startup, but there are situations when you need to change it. This tutorial will walk you through the process of changing the hostname in Linux without the need of restarting the system. The instructions should work on any modern Linux distribution that uses systemd. A hostname is a label assigned to a machine that identifies the machine on the network. Each device in the network should have a unique hostname. The hostname can be a simple string containing alphanumeric characters, dots and hyphens. If the machine is connected to the Internet (such as web or mail server) it is recommended to use a fully qualified domain name (FQDN) as a system hostname. The FQDN consists of two parts, the hostname, and the domain name.
On Linux systems using systemd, the hostnamectl command can be used to query and change the hostname and related settings on a given machine. To view the current hostname, invoke the hostnamectl command without any arguments: Changing the Hostname To change the hostname invoke the hostnamectl command with the set-hostname argument followed by the new hostname. Only the root or a user with sudo privileges can change the system hostname. The hostnamectl command does not produce output. On success, 0 is returned, a non-zero failure code otherwise. Finally, to verify that the hostname was successfully changed, once again use the hostnamectl command: In this tutorial, we have shown you how to change the hostname of your Linux system. Depending on your Linux distribution and the virtualization type, additional steps may be required to complete the process.