How to Change the Hostname on a Linux Machine

Sometimes you wanted to change the Hostname on a Linux machine like on your Ubuntu PC or a Fedora machine or any other Linux distro like a Citrix XenServer to somewhat relevant to the service running on a server or say you have some slogan of yours that you want to put as a Hostname on your computer.

Here I will show you how exactly you can change the Hostname on a Linux powered computer machine.

If you are a newbie to Linux then you might be wondering what is a Hostname and where can you find it on a Linux machine?
When you type the following command on a Linux machine:

uname -a

You will get similar outputs as below:

Linux elinux-machine.cyanogenmods.org 2.6.18-308.20.1.el5 #1 SMP Tue Nov 6 04:38:29 EST 2012 x86_64 x86_64 x86_64 GNU/Linux

The string “linux-machine” is the hostname or system name you can say. Sometimes the hostname will be visible on your command prompt itself. Like this:

root@linux-machine:~$

The “root” is the username and the “linux-machine” is the Hostname.

Can I change the Hostname for the current session only?

Yes. Instead of changing the Hostname permanently if you want it to be changed for the current session only then yes you can do that easily but you need to be a ROOT user.
Just follow the below command to change the Hostname for the current session only and not permanently:

root@linux-machine:/# hostname
elinux-machine.cyanogenmods.org
root@linux-machine:/# hostname new_hostname

The hostname command (the 1st command) will print the current hostname set in the system.
The second command hostname NEW_HOSTNAME will change the hostname temporarily.

Hostname changes will be lost after logout or machine reboot.

How to change the Hostname permanently?

Usually the Hostname string is stored in a file. The filename may be different for different platform.
For Ubuntu and Fedora the file is located at: /etc/hostname and for Citrix Linux machine the file is at /etc/hosts. The file content may be looking like this:

root@linux-machine:/# cat /etc/hostname
elinux-machine.cyanogenmods.org

Or on a Citrix machine it may be looking like this:

root@linux-machine:/# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1	localhost.localdomain localhost
xxx.xxx.xxx.xxx	elinux-machine.cyanogenmods.org

Open the file and change the string to a desired one:

root@linux-machine:/# vim /etc/hostname
or
root@linux-machine:/# vim /etc/hosts
#Change the current hostname to something you want:
new_hostname.cyanogenmods.org [Ubuntu and Fedora]
or
xxx.xxx.xxx.xxx	new_hostname.cyanogenmods.org [Citrix]

In some cases the /etc/hostname will have only the hostname without the domain name string at the end:

root@linux-machine:/# cat /etc/hostname
linux-machine

Open the file and change the string to a desired one:

root@linux-machine:/# vim /etc/hostname

linux-machine
#Change the above name to something you want:

new_hostname

Before leaving from here, you can take a look at some of the gcam port collections we have:

Leave a Comment