Hostnamectl

From NovaOrdis Knowledge Base
Revision as of 02:49, 4 April 2017 by Ovidiu (talk | contribs) (→‎Change the Host Name)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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>