Although first assigned during installation, we can change the hostname later on. This guide showcases changing the hostname on Debian 10.
Debian 10 Hostname
The hostname is mandatory during the installation of Debian 10. The demonstrations were performed on a properly-configured Debian 10 virtual machine. For reference, check out this guide on installing Debian 10.
The hostname is a system-wide configuration. Trying to make any changes requires permission from the root. Here, we’ll assume that you have access to the root account or a non-root user with sudo permission. Check out how to add users to sudoers in Debian 10.
Displaying Current System Hostname
First, we need to know how to check the current hostname of the system. There are a couple of ways we can check it.
Displaying Hostname Using hostnamectl
All the Linux distros that use systemd comes with the tool hostnamectl. It’s a dedicated command-line tool to work with the system hostname.
The following command will print the current hostname.
In the report, hostnamectl will list various information. For example, processor architecture, kernel version, OS info, virtualization, etc.
Displaying Hostname Using hostname
Similar to hostnamectl, hostname is also a dedicated command to display the hostname of the system.
Run hostname.
The hostname tool is a part of a group of tools that prints various system info. For example, domain name, DNS domain name, NIS/YP domain name etc.
Run the following command(s) to print the system’s NIS/YP domain name.
$ ypdomainname
$ nisdomainname
The following command will show the system’s DNS domain name.
For further in-depth info, check out the hostname man page.
Displaying Hostname From /proc/sys/kernel/hostname
As the title of this section suggests, the file located at the following location contains the hostname of the system. We can read the content using cat.
Displaying Hostname From /etc/hostname and /etc/hosts
Similar to the previous section, the files located at /etc/hostname and /etc/hosts also contain the hostname of the system.
Check out the content of these files.
$ cat /etc/hosts
Changing Hostname
There are multiple ways to change the system hostname. In most cases, it’s strongly recommended to use hostnamectl to change the system hostname.
Changing Hostname Using hostnamectl
Hostnamectl is a dedicated tool to manage the system hostname. The following hostname command will change the static hostname.
Hostnamectl distinguishes three different types of hostnames.
Pretty hostname: It’s the high-level hostname that may contain all kinds of special characters.
Static hostname: The hostname that initializes the kernel hostname at boot.
Transient hostname: It’s a fallback value assigned during network configuration. If the static hostname is available and valid, then the transient hostname isn’t used.
The static and transient hostnames have a limit of 64 characters at maximum.
To change the pretty hostname, add the flag –pretty.
The hostnamectl tool can also change the value of other host-related info. For example, chassis, deployment environment, location, etc. For further info, check out the hostnamectl man page.
Changing Hostname Manually
Instead of using hostnamectl, we can manually tweak the content of a couple of hostname-related files and change the system hostname.
We’re going to edit the two files /etc/hostname and /etc/hosts. It requires root permission (or sudo privilege) to make changes.
The file /etc/hostname contains the current hostname. Open up the file in a text editor and change the hostname.
Next, we’ll make changes to /etc/hosts. This file links hostnames to IP addresses. Open it up in a text editor and change the hostname of the current system.
These changes won’t take into effect without system reboot.
Changing Hostname Using GUI
We can also change the hostname using GUI. Here, I’ll demonstrate how to change it on the GNOME desktop.
Go to “Settings”.
From the left panel, scroll down and go to “Details”.
From the “About” tab, click the field “Device name”.
Changing the value of the device name will change the hostname of the system.
Final Thoughts
Hostname is a simple yet important value for every operating system. On Debian, changing the hostname is a simple task. After consulting this guide, you should be able to change the hostname on any Debian system. Follow whichever method suits you the best.
As we’ve seen, the hostname is used when connecting to a network. Learn how to find the hostname of a system given its IP address.
Happy computing!