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: