My system administrator installed minimal CentOS server and forgotten to setup the hostname. Now it has localhost.localadmin. How would I change the hostname on CentOS?
Solution: A computer hostname represents a unique name that identifies a machine on a network. You need follow few rules in setting up the hostname:
- You shouldn’t assign the same hostname for two different machines on the same network.
- hostnames can contain letters, digits (from a to z, 0 to 9)
- hostnames can contain only the hyphen character
( - )as a special character - hostnames can contain the dot special character
( . ) - hostnames can contain a combination of all three rules but must start and end with a letter or a number
- hostnames letters are case-insensitive.
- hostnames must contain between 2 and 63 characters long.
- recommended to use a fully-qualified domain name
(FQDN)
This tutorial guides you through to change hostname on CentOS system.
Display the hostname on CentOS/RHEL 7/8
Below are few different ways you can view the current hostname:
-s flag is for the short name and -f for the FQDN.
# hostname # hostname -s # hostname -f # cat /etc/hostname
# hostnamectl
Static hostname: controller.tg.com
Icon name: computer-server
Chassis: server
Machine ID: 79844c6ca7f24d85a5becbd55aa4a6c9
Boot ID: 406b7146411e403eaceefdc06a769eff
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.80.1.el7.x86_64
Architecture: x86-64Change Hostname on CentOS/RHEL 7/8
Open the file /etc/hostname and change the hostname appropriately.
# vim /etc/hostname
Edit /etc/hosts file and replace any occurrence of the existing computer name with the new name.
# vim /etc/hosts
You can also use the hostnamectl command as below:
# hostnamectl set-hostname your-new-hostname
Reboot the server for changes to take effect.
# systemctl reboot
Verify the Hostname on CentOS/RHEL 7/8
After the machine is rebooted, use the hostnamectl command to verify that the hostname was successfully changed.
# hostnamectl
