centos7 上在主机名变更新增了一个hostnamectl 指令 ,该指令的无论在输出和更改上都较之前更加的便利。先看下hostname的help帮助信息:

 1[root@361way ~]# hostnamectl  --help
 2hostnamectl [OPTIONS...] COMMAND ...
 3Query or change system hostname.
 4  -h --help              Show this help
 5     --version           Show package version
 6     --transient         Only set transient hostname
 7     --static            Only set static hostname
 8     --pretty            Only set pretty hostname
 9  -P --privileged        Acquire privileges before execution
10     --no-ask-password   Do not prompt for password
11  -H --host=[USER@]HOST  Operate on remote host
12Commands:
13  status                 Show current hostname settings
14  set-hostname NAME      Set system hostname
15  set-icon-name NAME     Set icon name for host
16  set-chassis NAME       Set chassis type for host

查看hostname信息

 1[root@361way ~]# hostnamectl
 2   Static hostname: 361way
 3         Icon name: computer-desktop
 4           Chassis: desktop
 5        Machine ID: 6917731f5fe447d0bca296ed2802e250
 6           Boot ID: e0d20bc2a3a4474c960394967d33ab53
 7  Operating System: CentOS Linux 7 (Core)
 8       CPE OS Name: cpe:/o:centos:centos:7
 9            Kernel: Linux 3.10.0-123.6.3.el7.x86_64
10      Architecture: x86_64

设置主机名

从上面的help 帮助里可以看到,在设置主机名时,这里涉及到四种主机名,在hostnamectl 的man手册里给予了说明和解释,如下:

This tool distinguishes three different hostnames: the high-level “pretty” hostname which might include all kinds of special characters (e.g. “Lennart’s Laptop”), the static hostname which is used to initialize the kernel hostname at boot (e.g. “lennarts-laptop”), and the transient hostname which might be assigned temporarily due to network configuration and might revert back to the static hostname if network connectivity is lost and is only temporarily written to the kernel hostname (e.g. “dhcp-47-11”). Note that the pretty hostname has little restrictions on the characters used, while the static and transient hostnames are limited to the usually accepted characters of Internet domain names.

更改主机名

一般情况下都是使用set-hostname进行更改:

1[root@361way ~]# hostnamectl set-hostname blog

更改主机名一般会涉及到/etc/hostname 、/etc/machine-info 两个文件,同时对于不同的名字修改在man手册上也给了说明:

1The static hostname is stored in /etc/hostname, see hostname(5) for more information. The pretty hostname, chassis type, and icon name are stored in /etc/machine-info, see machine-id(5).

set-icon-name 设置的主机一般和图形界面会用到,对应的hostnamectl 输出中的Icon name ,set-chassis 指定了主机的平台类型,如本机的是desktop,还可以设置为:”desktop”, “laptop”, “server”, “tablet”, “handset”