Hostnamectl

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

hostnamectl is the recommended tool to administer the three separate classes of host names (static, pretty and transient) in use on a given system.

Displaying Hostname Information

hostnamectl status
   Static hostname: docker-server.local
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 265bdd8b7fe74f8db5fa674d8afde0c2
           Boot ID: e862ea344dd24bcfa7c398039a0a9493
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.10.2.el7.x86_64
      Architecture: x86-64

Change the Host Name

The preferred way to change a host name is with hostnamectl as follows:

hostnamectl set-hostname <name>

Example:

hostnamectl set-hostname docker-server.local

This commands changes all the hostnames (static, pretty and transient) of the system. For more details on host names and recommended naming conventions, see

Linux Host Names

hostnamectl set-hostname and /etc/hosts


Note that changing the host name with hostnamectl set-hostname does not update /etc/hosts so you may want to review /etc/hosts and change the mapping of the host's network interface addresses to the new name.

If the Name is Publicly Resolved by DNS

TODO http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-hostname.html

/etc/sysconfig/network HOSTNAME

Setting HOSTNAME in /etc/sysconfig/network as shown in the following example

...
NETWORKING=yes
GATEWAY=192.168.0.1
...
HOSTNAME=not500.localdomain

may interfere with network configuration script and change the host name.


This is NOT the preferred way of changing the host name, hostnamectl is.

Setting a Particular Host Name

hostnamectl [--static|--pretty|--transient] set-hostname <name>