In the systemd Environment there has been an architectural change and the systemd daemon controlling all the essential processes
root 1 0 0 Apr15 ? 00:00:12 /usr/lib/systemd/systemd --switched-root --system --deserialize 32
We can make use of the hostnamectl
command to immediately reflect the system hostname change.
Command to get the current hostname on Linux:
[vamshi@server02 ~]$ sudo hostnamectl Static hostname: server02.linuxcent.com Pretty hostname: SERVER02 Icon name: computer-vm Chassis: vm Machine ID: 2338f55840d640689fc5ac4b356b160c Boot ID: 418256281d2f4e11822809dde7c1b09e Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1062.18.1.el7.x86_64 Architecture: x86-64
As you can see the current hostname is set to SERVER02
The file /etc/hostname
also used to have the same effect but on the cloud systems this is dynamically generated and doesn’t hold true on cloud and tends to get overwritten after reboot.
On the general DataCenter or PC environment we can use the static files to populate the hostnames and make them permanent:
$ cat /etc/sysconfig/network HOSTNAME=node2.linuxcent.com
But only /etc/hostname file is given importance since the systemd
version and updating this ensures persistence.
$ cat /etc/hostname node02.linuxcent.com
Process to set or change the hostname in Linux Commandline:
The systemd provides a sophisticated command hostnamectl
to set the hostname, It will also update the static file /etc/hostname
and ensure the changes are permanent across reboots.
$ sudo hostnamectl set-hostname node02.Linuxcent
To get the hostname along with FQDN
[vamshi@server02 ~]$ hostname --fqdn node02.linuxcent.com
[vamshi@node02 ~]$ sudo hostnamectl status Static hostname: node02.linuxcent.com Icon name: computer-vm Chassis: vm Machine ID: 2338f55840d640689fc5ac4b356b160c Boot ID: 33619e39ea4c4900bd848e13d2a6239e Virtualization: kvm Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1062.18.1.el7.x86_64 Architecture: x86-64
Changing hostname is ubuntu and Debian systems can be done through hostnamectl
command
vamshi@debian:~$ hostnamectl Static hostname: debian Icon name: computer-vm Chassis: vm Machine ID: b4adcdb84c724856b577524ebbfa0003 Boot ID: 67e1bf27946a4770b8e939f2420d06fd Virtualization: oracle Operating System: Debian GNU/Linux 10 (buster) Kernel: Linux 4.19.0-5-amd64 Architecture: x86-64