Every Linux machine comes with a host name, which is usually configured during system installation. It is stored in /etc/hostname and normally displayed at the terminal as \h in the PS1 environment variable. You can view the current host name of the system via hostname command or by viewing the content of the /etc/hostname file.

The system host name in Linux could be changed via hostname command, but it is not persistent as it will return to the original host name after the system reboots.

[email protected]:~$ hostname host [email protected]:~$ sudo hostname newhost [email protected]:~$ hostname newhost [email protected]:~$ cat /etc/hostname host

The proper way to change the system host name in Linux and make it persist or permanent is by using hostnamectl tool at the terminal.

Steps to change system hostname in Linux:

  1. Launch a terminal application.
  2. Check current host name.

    [email protected]:~$ hostname host

  3. Change host name with hostnamectl.

    [email protected]:~$ sudo hostnamectl set-hostname newhost

  4. Check current hostname again to confirm.

    [email protected]:~$ hostname newhost

  5. Check /etc/hostname to ensure change is saved and is persistent.

    [email protected]:~$ cat /etc/hostname newhost

  6. Launch new shell to test if change is successful.

    [email protected]:~$ bash [email protected]:~$