Change HostName in CentOS 7 / RHEL 7

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.

nmtui -Select Set HostName
nmtui -Select Set HostName

Set the host name.

nmtui - Change HostName 2
nmtui – Change HostName 2

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