After installing the CentOS 7 on my server, i tried to change host name by modifying the /etc/sysconfig/network; it did not take an effect of the modification. Even after multiple reboot of server, the host name remains localhost.localdomain. The procedure to change the host name in CentOS 7 is now totally different from the previous version, this guide will help you to setup the host name on CentOS 7 / RHEL 7.
CentOS 7 supports three class of Host Names:
Static – The static host name is traditional host which can be chosen by the user and is stored in /etc/hostname file.
Transient – The transient host name is maintained by kernel and can be changed by DHCP and mDNS.
Pretty – It is a free form UTF -8 host name for the presentation to the user.
HostName can be,
- 64 character in a length
- Recommend to have FQDN
- Consists of a-z,A-Z, 0-9, “-”, “_” and “.” only
How to Change:
Before changing the host name, lets check the current host name.
[root<span style="color: #000000;">@</span>localhost ~]# hostname |
localhost.localdomain
1. nmtui tool:
NetworkManaget tool is used to set the static host name in /etc/hostname file.
Set the host name.
restart the hostnamed to force the hostnamectl to notice the change in static host name.
[root<span style="color: #000000;">@</span>localhost ~]# systemctl restart systemd-hostnamed |
You can verify the change in host name.
[root<span style="color: #000000;">@</span>server ~]# hostname |
server.itzgeek.com
[root@server ~]# cat /etc/hostname
server.itzgeek.com
[root@server ~]# cat /etc/sysconfig/network
# Created by anaconda
HOSTNAME=server.itzgeek.com
2. hostnamectl:
hostnamectl is used to change the host name, with this tool we can change all the three class of host name; here we look only static host name.
Check the current host name.
[root<span style="color: #000000;">@</span>server ~]# hostnamectl status |
Static hostname: server.itzgeek.com |
Icon name: computer-vm
Chassis: vm
Machine ID: 565ea8b749544aca9d5563308f9e4bc2
Boot ID: 5c979d9b5f754df8b75a4e3aeabf2bad
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.el7.x86_64
Architecture: x86_64
Set the hostname.
[root<span style="color: #000000;">@</span>server ~]# hostnamectl set-hostname client.itzgeek.com |
Check the host name again (Close the session and open new session using putty or console)
[root<span style="color: #000000;">@</span>client ~]# hostnamectl status |
Static hostname: client.itzgeek.com |
Icon name: computer-vm
Chassis: vm
Machine ID: 565ea8b749544aca9d5563308f9e4bc2
Boot ID: 5c979d9b5f754df8b75a4e3aeabf2bad
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.el7.x86_64
Architecture: x86_64
If you use this command, you do not require to notify the change in host name. Close the current session and re launch the terminal.
3. nmcli tool:
It can be used to query and setup the static host name in /etc/hostname file.
Check the hostname.
[root<span style="color: #000000;">@</span>client ~]# nmcli general hostname |
client.itzgeek.com
Change the host name.
[root<span style="color: #000000;">@</span>client ~]# nmcli general hostname server.itzgeek.com |
restart the hostnamed to force the hostnamectl to notice the change in static host name.
[root<span style="color: #000000;">@</span>client ~]# systemctl restart systemd-hostnamed |
4. Edit /etc/hostname
This is the simple, but requires a reboot of server to take an effect.
Note: Use the hostnamectl to change the host name, which fair better than other commands and does not require to update the kernel about the change in host name.
来源URL:http://www.itzgeek.com/how-tos/linux/centos-how-tos/change-hostname-in-centos-7-rhel-7.html