How to Change Hostname on Debian Linux
This tutorial explains how to change the hostname on Debian 10 Buster without restarting the system.
The hostname is set at the time when the Debian operating system is installed or if you are spinning up a virtual machine it is dynamically assigned to the instance at startup.
Prerequisites
To be able to change the system hostname you need to be logged in as root or user with sudo privileges.
Display the Current Hostname
In Debian 10 and all other Linux distributions using systemd, you can change and display the hostname of a given system. with the hostnamectl
tool.
To view the current system hostname, type hostnamectl
without any option:
~] hostnamectl
Static hostname: proxy-kj-nginx
Icon name: computer-vm
Chassis: vm
Machine ID: 8d63a028e37747ff949e6f56d76fb283
Boot ID: 31fe9d1ed6b04e0099022f96e646d5cf
Virtualization: vmware
Operating System: Debian GNU/Linux 10 (buster)
Kernel: Linux 4.19.0-5-amd64
Architecture: x86-64
Change the System Hostname
A hostname is a label that identifies a machine on the network. You shouldn’t set the same hostname on two different machines on a same network. It is recommended to use a fully-qualified domain name (FQDN
) as the system hostname.
There are two steps involved when changing the system hostname on Debian 10
. First, set the new hostname using the hostnamectl set-hostname
command followed by the desired hostname and then update the /etc/hosts
file with the new hostname.
For example, to change the system hostname to server1.example.com
, you would do the following steps:
- First set the new hostname by running:
~] sudo hostnamectl set-hostname server1.example.com
- Second, open the
/etc/hosts
file and replace the old hostname with the new one.
127.0.0.1 localhost
127.0.0.1 server1.example.com server1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Verify the Change
To verify that the hostname was successfully changed, once again use the hostnamectl
command:
~] hostnamectl
Static hostname: server1
Icon name: computer-vm
Chassis: vm
Machine ID: 8d63a028e37747ff949e6f56d76fb283
Boot ID: 31fe9d1ed6b04e0099022f96e646d5cf
Virtualization: vmware
Operating System: Debian GNU/Linux 10 (buster)
Kernel: Linux 4.19.0-5-amd64
Architecture: x86-64
The new system hostname will be printed on the command line.