Managing Linux: Change Hostname Tutorial

A hostname is a name that identifies a device in a network. Usually, it is set as localhost during the operating system’s installation process.

However, if there are several devices in a network, this will generate duplicates and cause network conflict. To avoid that, we recommend changing the hostname of your Linux system.

In this article, we will explain three methods to change hostname on CentOS and any other Linux distributions, such as Debian, Ubuntu, and Red Hat Enterprise Linux (RHEL).

Download Complete Linux Commands Cheat Sheet

How to Change Current Hostname Permanently on Linux Servers

In this section, you’ll learn how to change the current hostname permanently on Linux old or new virtual private servers – using the hostnamectl command, nmtui, or editing your configuration files.

Option 1. Using the hostnamectl Command

Modern Linux distributions come with systemd, a system and service manager that has the hostnamectl command installed by default to manage and change hostnames.

Here’s how to change your current hostname using hostnamectl:

  1. Open the terminal.
  2. Log in to your Linux server via SSH.
  3. If your system doesn’t have systemd, use this command to install it and press Enter:
apt-get install systemd
  1. Once the installation is complete, type the following command to view the current hostname and hit Enter:
hostnamectl
  1. Here’s how the output looks like:
Static hostname: hostinger
Icon name: computer-vm
Chassis: vm
Machine ID: 45598cbdb6ee462e8696166b520fe788
Boot ID: 99526e56aeea45c2a0f3b2ffaaffe9d9
Virtualization: openvz
Operating System: Ubuntu 20.04.3 LTS
Kernel: Linux 5.4.0
Architecture: x86-64
  1. On the output, the current hostname is listed as the static hostname. To change it permanently, insert the following command – using your new desired hostname – and hit Enter:
hostnamectl set-hostname hostname
  1. The command above does not produce an output. Therefore, to verify the new hostname, run the command below and press Enter:
hostnamectl

The output will show you the new hostname.

Option 2. Using the Network Manager Text User Interface (nmtui)

The Network Manager Text User Interface (nmtui) is a text user interface that lets you configure the network and hostname in a terminal window. It is available in various Linux distributions, including CentOS and RHEL.

Here’s how to change the hostname using the nmtui command:

  1. Open the terminal and connect to your account via SSH.
  2. Install the NetworkManager-tui package by inserting the following command and hitting Enter:
sudo yum install NetworkManager-tui
Terminal interface with the command to install the NetworkManager-tui package
  1. The package and list of dependencies will be loaded. Type y and press Enter to start the installation process.
The package and list of dependencies of the NetworkManager-tui
  1. The Complete! line will appear once the nmtui package has been successfully installed.
The terminal interface, where the Complete! line indicates the nmtui installation process has been completed
  1. Run this command to check the status of the network manager and press Enter:
service NetworkManager status
The output of the command to check the service status of the network manager
  1. To start the nmtui service, type the following command and hit Enter:
service NetworkManager start
The terminal interface with the command to start the nmtui service
  1. Next, type this command and click Enter:
sudo nmtui
The terminal interface with the sudo nmtui command
  1. On the NetworkManager TUI window, select Set system hostname and press Enter.
The the Set system hostname option on the NetworkManager TUI window
  1. Type the desired hostname and choose OK.
Set hostname to 'examplevps' – OK

You’ve successfully changed the hostname.

Option 3. Edit the Configuration Files

The next option is editing the configuration files – /etc/hostname and /etc/hosts. Here’s how to do it:

  1. Open the terminal and connect via SSH.
  2. Open the /etc/hostname file and replace the old hostname with the new one:
vi /etc/hostname
hostinger
  1. Next, update the hostname record in the /etc/hosts file so that the system resolves the new hostname in the network.
# vi /etc/hosts
127.0.0.1 hostinger

At this point, you finished updating the records in the configuration files. However, to apply the changes, you’ll need to edit the cloud configuration file.

Here’s how to do it:

  1. Open the cloud configuration file by inserting this command on the terminal and pressing Enter:
sudo vim /etc/cloud/cloud.cfg
  1. Change the value of the following line to true:
preserve_hostname: true
  1. Reboot your system and open the terminal. To verify if the hostname was indeed preserved during the reboot, run the following command and hit Enter:
hostname

This will display the new hostname you have set up.

Important! If the cloud configuration file is not available in your system, you can safely skip these steps.

How to Change Hostname Without Rebooting

In this section, you’ll learn how to change the hostname without rebooting the system. However, as soon as you restart the system, it will revert to the old hostname.

This method is useful when you need to complete a minor task that requires temporary changes. The basic syntax of the command is:

hostname [new_host_name]

Here’s how to use it:

  1. On the terminal, type the hostname command along with the new hostname and hit Enter.
hostname hostinger
  1. Verify if the hostname has been set correctly by inserting the following command and pressing Enter:
hostname

The output will display the updated hostname.

How to Change Linux Hostname Permanently on Hostinger VPS

If you use Hostinger VPS, the only way to change the hostname permanently is through the hPanel. Here’s how to do it:

  1. Go to the Servers tab and select Settings.
  2. Scroll down and type the new hostname in the Change Hostname box. Click Save.
How to Change Linux Hostname Permanently on Hostinger VPS

That’s it, you changed your hostname on Hostinger VPS.

Conclusion

The system hostname is an essential part of a Linux server as it helps identify your machine within a network.

Most Linux systems provide tools and commands so users can customize the system hostnames to their preferences. We shared three methods to change hostnames based on your needs:

  • Running the hostnamectl command, using nmtui, or editing the hosts file to change the hostname permanently.
  • Using the hostname [new_host_name] command to change the hostname temporarily and without rebooting the system.
  • Changing Linux hostname permanently on Hostinger VPS via the hPanel.

We hope this article has helped you set up a new hostname in your Linux system. If you have any questions or suggestions, please share them in the comment section below.

Was this tutorial helpful?

Author
The author

Edward S.

Edward is a Content Editor with years of experience in IT as a writer, marketer, and Linux enthusiast. Edward's goal is to encourage readers to establish an impactful online presence. He also really loves dogs, guitars, and everything related to space.

Author
The Co-author

Noviantika G.

Noviantika is a Digital Content Writer at Hostinger. Passionate in web hosting, WordPress, and SEO, she's driven to share her knowledge with the world through her writing. During her free time, Noviantika likes to hop on a plane and discover places.