How to Change Hostname on Debian 9 Linux

The hostname is known as the system’s identifier, which is set at the time when we are installing the Debian operating system.

This tutorial will explain setting the hostname for your system or virtual machine after Debian 9 installation.

Prerequisites

Before going through with this tutorial, make sure your system has Debian 9 Linux installed and have user access with sudo privileges to execute administrative commands.

Display the Current Hostname

To check the current hostname on the Debian system, use the hostnamectl command as shown below:

$ hostnamectl
 Static hostname : satishsystem
       Icon name : satish-vm
         Chassis : vm
      Machine ID : 6f17445f53074505a008c9abd8ed64a5
         Boot ID : 1c769ab73b924a188c5caeaf8c72e0f4
  Virtualization : kvm
Operating System : Debian 9
          Kernel : Linux 4.15.0-22-generic
    Architecture : x86-64

You can see in the above output; the current hostname is set to the satishsystem.

Change the Hostname

To set the new hostname for your Debian 9 system, use the following steps.

Step 1 – Change hostname using hostnamectl command.

You can change the hostname in Debian 9 using the hostnamectl command.

For example, we can change the system static hostname to linuxconcept by using the following command:

$ sudo hostnamectl set-hostname linuxconcept

The command hostnamectl does not return any output on success. It returns 0 on success or failure code on failure results.

Step 2 – Edit the /etc/hosts configuration file

Open the /etc/hosts file in your preferred editor and change the old hostname with a new desire hostname.

127.0.0.1   localhost
127.0.0.1   linuxconcept
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Step 3 – Edit the cloud.cfg configuration file

If you are using the cloud-init package in your Debian machine, then you need to edit the cloud.cfg file also. Using your Debian box on a cloud like AWS, this package will be preinstalled on those instances used to handle the instance’s initialization.

You can check the package is installed in your Debian machine or not use the ls command:

$ ls -l /etc/cloud/cloud.cfg

If the package is not installed, you will get output on the screen like below:

output:
ls: cannot access '/etc/cloud/cloud.cfg': No such file or directory

But, if the package is installed, you will get output like this:

output:
-rw-r--r-- 1 root root 3169 Apr 27 09:30 /etc/cloud/cloud.cfg

In the case of the package is installed, to change the hostname, open the file with your text editor:

$ sudo vim /etc/cloud/cloud.cfg

Now, search for string preserve_hostname and change the value of it from false to true, as shown below:

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true

And close the file after saving it.

Verify new hostname after change

You can verify the hostname has changed in your Debian system by checking hostname using the hostnamectl command, as shown below:

$ hostnamectl

You will get your new hostname on the output screen.

 Static hostname : linuxconcept
       Icon name : satish-vm
         Chassis : vm
      Machine ID : 6f17445f53074505a008c9abd8ed64a5
         Boot ID : 1c769ab73b924a188c5caeaf8c72e0f4
  Virtualization : kvm
Operating System : Debian 9
          Kernel : Linux 4.15.0-22-generic
    Architecture : x86-64

Conclusion

Now, you have learned to change the hostname for your installed Debian 9 Linux server or system without restarting the system.

If you get any problem with changing the hostname of your system, please leave a comment below.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Related Articles