How2 Change Linux Hostname Persistent

If you like to change the hostname persistent you have to do it in two places, otherwise, it will not persistent after reboot:

On newer Linux machines you can check the current state with:

> hostnamectl

you can find the transit and the static hostname here and it shows you also if you are on a virtual machine or a dedicated host.

to change the transit hostname:

> sudo hostname 

to change the static hostname:

> sudo hostnamectl set-hostname 

The above was the best solution I could found.

The following will may help with older machines:

To make it persistent after a reboot:

> sudo nano /etc/hostname

change here the hostname.

> sudo nano /etc/host

================================================================= localhost hostname
#The following lines are desirble for IPV6 capable hosts
::1 localhost hostname ip6-localhost ip6-loopbac$
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
replace hostname with the new hostname

To test that the file is set up correctly, run:

> sudo service hostname start

If you get the error: Failed to start hostname.service: Unit hostname.service is masked.

systemctl unmask hostname.service
systemctl unmask hostname

Leave a Reply

Your email address will not be published.