Change hostname on CentOS 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@localhost ~]# hostname
localhost.localdomain
1. nmtui tool: you using command nmtui
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@localhost ~]# systemctl restart systemd-hostnamed
You can verify the change in host name.
[root@localhost ~]# hostname
web.sysadmin.com.vn
[root@localhost ~]# cat /etc/hostname
web.sysadmin.com.vn
[root@localhost ~]# cat /etc/sysconfig/network
# Created by anaconda
sysadmin
[root@localhost ~]#
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@server ~]# hostnamectl status
[root@localhost ~]# hostnamectl status
   Static hostname: web.sysadmin.com.vn
         Icon name: computer
           Chassis: n/a
        Machine ID: 3132ab42b3b7405bbdc647ce36ca659f
           Boot ID: 0938b49f7e4045b899a110ccf17b54a7
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-123.6.3.el7.x86_64
      Architecture: x86_64
Set the hostname.
[root@server ~]# hostnamectl set-hostname web.sysadmin.com.vn
Check the host name again (Close the session and open new session using putty or console)
[root@client ~]# hostnamectl status
[root@localhost ~]# hostnamectl status
   Static hostname: web.sysadmin.com.vn
         Icon name: computer
           Chassis: n/a
        Machine ID: 3132ab42b3b7405bbdc647ce36ca659f
           Boot ID: 0938b49f7e4045b899a110ccf17b54a7
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-123.6.3.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@localhost ~]# nmcli general hostname
web.sysadmin.com.vn
Change the host name.
[root@localhost ~]# nmcli general hostname web.sysadmin.com.vn
restart the hostnamed to force the hostnamectl to notice the change in static host name.
[root@localhost ~]# 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.
Mới hơn Cũ hơn