There are several ways to change the hostname of a machine running Redhat 6.  These also works on CentOS, Fedora and older/other Redhat variants.

The hostname Command

You can use this command to see the current name of the system.

# hostname
bighat.putorius.net

You can also use this command to change the name of the machine.

# hostname smallhat.putorius.net

Then issue the hostname command again to see the changes.

# hostname
smallhat.putorius.net

This only makes a temporary or non-persistent change. If you reboot the system the changes will revert.

The /etc/sysconfig/network configuration file

This is the preferred method. In order for the change to survive a reboot, or to make it persistent, you must change it in the /etc/sysconfig/network file.

Open the file in your favorite editor and change the following line to reflect your desired name.

HOSTNAME=newname.putorius.net

After making changing to the configuration file you need to restart the network service in order to read that file.

/etc/init.d/network restart

NOTE: Do not do this remotely (via ssh) or you will lose your connection.

If you issue the hostname command now, you will see that it has changed. 

The /proc/sys/kernel/hostname entry

Another simple way is to echo the new name into the /proc/sys/kernel/hostname file.

echo "bighat.putorius.net" > /proc/sys/kernel/hostname

NOTE: Using the /etc/sysconfig/network file is the preferred method to make permanent changes.  Anything in the /proc/sys/kernel/hostname file will be overridden by the /etc/sysconfig/network file during a reboot. 

If you are using Red Hat 7 (RHEL7), CentOS 7 or newer versions of Fedora please read our updated tutorial How to Change the System Hostname in Red Hat 7 or CentOS 7.