温馨提示×

Ubuntu hostname如何批量修改

小樊
54
2025-09-29 09:05:46
栏目: 智能运维

在Ubuntu系统中,批量修改主机名可以通过编写脚本来实现。以下是一个简单的示例,展示了如何使用Bash脚本批量修改多个主机名。

  1. 首先,创建一个包含所有新主机名的文件,例如new_hostnames.txt。每行一个主机名:
new-hostname-1
new-hostname-2
new-hostname-3
  1. 创建一个Bash脚本,例如rename_hosts.sh,并添加以下内容:
#!/bin/bash

# 读取新主机名文件
while IFS= read -r new_hostname
do
  # 获取当前主机名
  current_hostname=$(hostname)

  # 检查新主机名是否与当前主机名相同
  if [ "$new_hostname" != "$current_hostname" ]; then
    # 修改/etc/hostname文件
    sudo sed -i "s/^$(hostname)/$new_hostname/g" /etc/hostname

    # 修改/etc/hosts文件
    sudo sed -i "s/$(hostname)/$new_hostname/g" /etc/hosts

    # 重启网络服务以应用更改
    sudo systemctl restart networking
  fi
done < new_hostnames.txt
  1. 为脚本添加执行权限:
chmod +x rename_hosts.sh
  1. 运行脚本:
sudo ./rename_hosts.sh

这个脚本会读取new_hostnames.txt文件中的每个新主机名,并检查它是否与当前主机名相同。如果不同,它会修改/etc/hostname/etc/hosts文件,然后重启网络服务以应用更改。

请注意,这个脚本假设你的系统使用的是传统的/etc/hostname/etc/hosts文件。如果你使用的是systemd-resolved或其他现代系统,可能需要调整脚本以适应你的环境。

0