ubuntu

Ubuntu主机名如何同步

小樊
49
2025-10-03 19:35:55
栏目: 云计算

Ubuntu主机名同步方法

一、单台Ubuntu主机名同步(永久生效)

要同步Ubuntu主机的主机名(即永久修改并确保各配置文件一致),需通过以下步骤操作:

1. 使用hostnamectl命令设置主机名(推荐)

hostnamectl是systemd提供的工具,可同时更新内核主机名、动态主机名及/etc/hostname文件,无需重启即可生效(部分服务可能需要重启)。

sudo hostnamectl set-hostname new-hostname  # 将"new-hostname"替换为目标主机名

2. 手动同步/etc/hostname文件

/etc/hostname是Ubuntu存储静态主机名的核心文件,需确保其内容与hostnamectl设置的一致:

sudo nano /etc/hostname  # 删除旧主机名,写入"new-hostname",保存退出

3. 更新/etc/hosts文件

/etc/hosts文件用于本地主机名解析,需将旧主机名替换为新主机名(避免网络服务无法识别):

sudo nano /etc/hosts  # 找到"127.0.1.1"或"127.0.0.1"行,将旧主机名替换为"new-hostname"
# 示例:127.0.1.1 new-hostname

4. 重启网络服务(可选)

若系统使用networking服务或NetworkManager,重启服务可使更改立即生效:

sudo systemctl restart networking  # 适用于传统networking服务
# 或
sudo systemctl restart NetworkManager  # 适用于NetworkManager

5. 验证主机名

通过以下命令确认主机名已同步:

hostnamectl  # 显示详细主机名信息(静态/动态/灵活主机名)
hostname     # 仅显示当前主机名

二、多台Ubuntu主机批量同步主机名(自动化)

若需在多台Ubuntu主机间同步主机名(如集群环境),可使用配置管理工具Ansible自动化操作,避免手动重复执行:

1. 安装Ansible

在控制节点(管理主机)上安装Ansible:

sudo apt update
sudo apt install ansible -y

2. 创建Ansible Playbook

新建sync_hostname.yml文件,定义主机名同步任务:

---
- hosts: all  # 目标主机组(需在ansible inventory文件中定义)
  become: yes  # 以root权限执行
  tasks:
    - name: Set new hostname
      hostname:
        name: new-hostname  # 替换为目标主机名
      notify:
        - restart networking

  handlers:
    - name: restart networking
      systemd:
        name: networking
        state: restarted

3. 运行Playbook

通过以下命令执行同步(需提前配置目标主机的SSH免密登录):

ansible-playbook sync_hostname.yml

注意事项

0
看了该问题的人还看了