How to Change Linux Hostname Using 3 Different Methods

How to Change Linux Hostname Using 3 Different Methods

A hostname is a name used to identify a device on a network. Usually, it is set as localhost during the operating system installation.

However, if there are several devices in a network, this might generate duplicates and cause network conflict. To avoid that, you’re advised to change the hostname of your Linux system.

In this article, we will illustrate three methods to change the hostname on CentOS and other Linux distributions like Debian, Ubuntu, and Red Hat Enterprise Linux (RHEL).

How to Change Hostname Permanently on Linux

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

Pro Tip

If you’re just starting, you’ll find all the instructions on how to set up VPS in our step-by-step guide.

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.

Using 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 VPS tab and select server you want to change.
  2. Select Settings on the left sidebar.
  3. Scroll down and type the new hostname in the Change Hostname box. Click Save.
The section to change the VPS hostname on hPanel

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.

Editing 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.

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.
  • Changing Linux hostname permanently on Hostinger VPS via the hPanel.
  • Using the hostname [new_host_name] command to change the hostname temporarily and without rebooting the system.

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.

Author
The author

Edward S.

Edward is a content editor with years of experience in IT writing, marketing, and Linux system administration. His 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 web development enthusiast with customer obsession at heart. Linux commands and web hosting are like music to her ears. When she's not writing, Noviantika likes to snuggle with her cats and brew some coffee.