CentOS配置:主机名【hostname】

12/31/2024 操作系统LinuxCentOS

目录


参考:


# CentOS配置:主机名【hostname】

# 环境依赖

软件/系统 版本 架构 包名 备注
Linux CentOS7.X x86_64

# 一、主机名的定义

在CentOS7中,有三种定义的主机名:

  1. 静态的(Static hostname):“静态”主机名,也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。
  2. 瞬态的(Tansient hostname):“瞬态”主机名,是在系统运行时临时分配的主机名,例如通过DHCP或mDNS服务器分配。
  3. 灵活的(Pretty hostname):“灵活”主机名,也称为别名主机名。
  • “灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户。
  • “静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。

# 二、主机名的命令行工具【hostnamectl】

# 查看全部主机名相关的设置
hostnamectl status
# 或
hostnamectl
1
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
  • 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
# 查看瞬态主机名
hostnamectl --transient
# 或
hostname
# 或
uname -a
1
2
3
4
5
6
# 查看灵活主机名
hostnamectl --pretty
1
2

# 三、修改主机名

# 3.1 永久生效

# 3.1.1 方式一:命令set-hostname

# 永久性的修改主机名称,重启后能保持修改后的。
hostnamectl set-hostname xxx   
1
2

只想修改特定的主机名(静态,瞬态或灵活),你可以使用--static,--transient或--pretty选项。

hostnamectl --static set-hostname xxx
hostnamectl --transient set-hostname xxx
hostnamectl --pretty set-hostname xxx
1
2
3

注意:

  • 直接更改系统的静态主机名,更改会立即生效,无需重启系统
  • 在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。
  • 存储静态主机名的配置文件/etc/hostname 将被自动更新,执行更改之前可以考虑备份
# 备份
cp /etc/hostname /etc/hostname.bak
1
2
  • 更改主机名后,还需要更新/etc/hosts文件,以确保主机名称解析正常,在hosts文件末尾添加所有主机名和IP的对应
# 查看
cat /etc/hosts
# 编辑
vi /etc/hosts
1
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

注意:

  • 更改在文件被保存后并不会立即生效。为了让更改生效,需要重启系统或者重启systemd-hostnamed服务(如果系统支持)。
  • 更改主机名后,还需要更新/etc/hosts文件,以确保主机名称解析正常,在hosts文件末尾添加所有主机名和IP的对应
# 查看
cat /etc/hosts
# 备份
cp /etc/hosts /etc/hosts.bak
# 编辑
vi /etc/hosts
1
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
上次更新时间: 9/25/2024, 1:19:15 AM