Device or system hostnames are used to easily recognize a machine within a network in a human-readable format. It is not much of a surprise, but on the Linux system, the hostname can be easily changed by using the simple command as “hostname“.


Running hostname on its own, without any parameters, will return the current hostname of your Linux system like this:

$ hostname



If you want to change or set the hostname of your Linux system, simply run:

$ hostname NEW_HOSTNAME


Of course, you will need to replace “NEW_HOSTNAME” with the actual hostname that you wish to set. This will change the hostname of your system immediately, but there is one problem – the original hostname will be restored upon next reboot.


There is another way to change the hostname of your system – permanently. You might have already figured it out that this will require a change in some configuration files and you will be correct.


Set System Hostname Permanently in Linux


A newer version of different Linux distributions such as latest Ubuntu, Debian, CentOS, Fedora, RedHat, etc. comes with systemd, a system and service manager that provides a hostnamectl command to manage hostnames in Linux.


To set system hostname on SystemD based distributions, we will use hostnamectl command as shown:

$ sudo hostnamectl set-hostname NEW_HOSTNAME


For Older Linux distributions, which uses SysVinit in short init, can have their hostnames changed by simply editing the hostname file located in:

# vi /etc/hostname


You then have to add another record for the hostname in:

# vi /etc/hosts


For example: Rootadminz


You then need to run:

# /etc/init.d/hostname restart


On RHEL/CentOS based systems that use init, the hostname is changed by modifying:

# vi /etc/sysconfig/network


Here is a sample of that file:



Was this answer helpful? 0 Users Found This Useful (0 Votes)