CentOS配置:主机名【hostname】
accttodo 12/31/2024 操作系统LinuxCentOS
目录
参考:
# CentOS配置:主机名【hostname】
# 环境依赖
软件/系统 | 版本 | 架构 | 包名 | 备注 |
---|---|---|---|---|
Linux | CentOS7.X | x86_64 |
# 一、主机名的定义
在CentOS7中,有三种定义的主机名:
- 静态的(Static hostname):“静态”主机名,也称为内核主机名,是系统在启动时从
/etc/hostname
自动初始化的主机名。 - 瞬态的(Tansient hostname):“瞬态”主机名,是在系统运行时临时分配的主机名,例如通过DHCP或mDNS服务器分配。
- 灵活的(Pretty hostname):“灵活”主机名,也称为别名主机名。
- “灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户。
- “静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。
# 二、主机名的命令行工具【hostnamectl】
# 查看全部主机名相关的设置
hostnamectl status
# 或
hostnamectl
1
2
3
4
2
3
4
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: ef196de94a4e4f9ca53bfd3f64c71b68
Boot ID: fc70a29ed37f4af4bb433bbd40fa2094
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.el7.x86_64
Architecture: x86-64
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- Static hostname:
localhost.localdomain
- 这是主机的静态名称,通常用于网络识别。在开发或测试环境中,这个名称很常见,但在生产环境中,你会希望使用更具描述性的主机名。 - Icon name:
computer-vm
- 这可能是一个图形界面(如某些桌面环境)中用于表示这台虚拟机的图标名称。 - Chassis:
vm
- 这表明系统正在一个虚拟机(Virtual Machine)中运行。 - Machine ID:
ef196de94a4e4f9ca53bfd3f64c71b68
- 这是一个唯一的机器标识符,用于区分系统。 - Boot ID:
fc70a29ed37f4af4bb433bbd40fa2094
- 这是一个在每次系统启动时都会改变的标识符,用于区分不同的启动会话。 - Virtualization:
vmware
- 这表明虚拟机是在VMware的虚拟化平台上运行的。 - Operating System:
CentOS Linux 7 (Core)
- 这是你的操作系统,CentOS 7,一个开源的、基于Red Hat Enterprise Linux(RHEL)的社区企业操作系统。 - CPE OS Name:
cpe:/o:centos:centos:7
- 这是Common Platform Enumeration(CPE)名称,用于唯一地标识软件产品及其版本。 - Kernel:
Linux 3.10.0-1160.el7.x86_64
- 这是你的Linux内核版本,是系统的核心,负责管理硬件和软件资源。 - Architecture:
x86-64
- 这表明系统是基于x86-64架构的,也称为AMD64或Intel 64,是一种64位版本的x86指令集架构。
#查看静态主机名
hostnamectl --static
# 或
cat /etc/hostname
1
2
3
4
2
3
4
# 查看瞬态主机名
hostnamectl --transient
# 或
hostname
# 或
uname -a
1
2
3
4
5
6
2
3
4
5
6
# 查看灵活主机名
hostnamectl --pretty
1
2
2
# 三、修改主机名
# 3.1 永久生效
# 3.1.1 方式一:命令set-hostname
# 永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname xxx
1
2
2
只想修改特定的主机名(静态,瞬态或灵活),你可以使用--static,--transient或--pretty选项。
hostnamectl --static set-hostname xxx
hostnamectl --transient set-hostname xxx
hostnamectl --pretty set-hostname xxx
1
2
3
2
3
注意:
- 直接更改系统的静态主机名,更改会立即生效,无需重启系统。
- 在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。
- 存储静态主机名的配置文件
/etc/hostname
将被自动更新,执行更改之前可以考虑备份。
# 备份
cp /etc/hostname /etc/hostname.bak
1
2
2
- 更改主机名后,还需要更新
/etc/hosts
文件,以确保主机名称解析正常,在hosts文件末尾添加所有主机名和IP的对应。
# 查看
cat /etc/hosts
# 编辑
vi /etc/hosts
1
2
3
4
2
3
4
- 检查
/etc/sysconfig/network
文件里的HOSTNAME,改成对应的服务器的主机名。
# 3.1.2 方式二:编辑/etc/hostname
修改配置文件/etc/hostname
来实现主机名的修改。
# 查看
cat /etc/hostname
# 备份
cp /etc/hosts /etc/hosts.bak
# 编辑
vi /etc/hostname
1
2
3
4
5
6
2
3
4
5
6
注意:
- 更改在文件被保存后并不会立即生效。为了让更改生效,需要重启系统或者重启
systemd-hostnamed
服务(如果系统支持)。 - 更改主机名后,还需要更新
/etc/hosts
文件,以确保主机名称解析正常,在hosts文件末尾添加所有主机名和IP的对应。
# 查看
cat /etc/hosts
# 备份
cp /etc/hosts /etc/hosts.bak
# 编辑
vi /etc/hosts
1
2
3
4
5
6
2
3
4
5
6
- 检查
/etc/sysconfig/network
文件里的HOSTNAME,改成对应的服务器的主机名。
# 3.2 临时有效
只能临时修改的主机名,当重启机器后,主机名称又变回来了。
hostname xxx
1
# 3.3 示例
永久修改
# 查看
cat /etc/hostname
# 备份
cp /etc/hostname /etc/hostname.bak20240828
ll /etc |grep hostname
# 永久性的修改主机名称
hostnamectl set-hostname g1server1
hostnamectl --pretty set-hostname g1server1
# 查看
cat /etc/hostname
hostname
hostnamectl --pretty
# 更新/etc/hosts
cat /etc/hosts
cp /etc/hosts /etc/hosts.bak20240828
ll /etc |grep hosts
printf "\n192.168.102.229 g1server1" >> /etc/hosts
cat /etc/hosts
# 检查/etc/sysconfig/network
cat /etc/sysconfig/network
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20