CentOS7修改主机名hostname

发布于 2017-04-07 作者 [重庆SEO]

在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。"静态"主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。"瞬态"主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,"灵活"主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Linuxidc)。

在CentOS 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。

hostnamectl使用说明帮助

[root@localhost ~]# hostnamectl --help
hostnamectl [OPTIONS...] COMMAND ...

Query or change system hostname.

 -h --help    Show this help
  --version   Show package version
  --no-ask-password Do not prompt for password
 -H --host=[USER@]HOST Operate on remote host
 -M --machine=CONTAINER Operate on local container
  --transient   Only set transient hostname
  --static   Only set static hostname
  --pretty   Only set pretty hostname

Commands:
 status     Show current hostname settings
 set-hostname NAME  Set system hostname
 set-icon-name NAME  Set icon name for host
 set-chassis NAME  Set chassis type for host
 set-deployment NAME Set deployment environment for host
 set-location NAME  Set location for host 

查看主机名和相关情况

[root@localhost ~]# hostnamectl
 Static hostname: n/a
Transient hostname: localhost.localdomain
   Icon name: computer-container
   Chassis: container
  Machine ID: 8036ae8206824a48b5f554f1e4439c99
   Boot ID: e5b4e16ae32141a997d0e9613dd326ff
 Virtualization: openvz
 Operating System: CentOS Linux 7 (Core)
  CPE OS Name: cpe:/o:centos:centos:7
   Kernel: Linux 2.6.32-042stab120.18
  Architecture: x86-64

#或者
[root@localhost ~]# hostnamectl status 

修改主机名为vps-seonoco

[root@localhost ~]# hostnamectl set-hostname vps-seonoco

PS: 如果名称有空格,必须要用引号, 因为空格会用来切割参数,其他命令也是一个道理。

重点来了,hostname 重启失效的问题

不想修改/etc/hosts,可以通过crontab定时任务解决

### 通用系统启动时修改hostname
@reboot hostname vps-seonoco >/dev/null 2>&1