在Debian系統中,批量修改多個主機的hostname可以通過編寫腳本來實現。以下是一個簡單的示例,展示了如何使用Bash腳本批量修改一組主機的hostname。
首先,你需要一個包含所有主機名的文件。假設這個文件名為hosts_list.txt
,內容如下:
host1
host2
host3
創建一個Bash腳本文件,例如change_hostname.sh
,并添加以下內容:
#!/bin/bash
# 讀取主機名列表文件
while IFS= read -r hostname; do
# 檢查主機名是否為空
if [[ -z "$hostname" ]]; then
echo "跳過空主機名: $hostname"
continue
fi
# 修改主機名
sudo hostnamectl set-hostname "$hostname"
# 更新/etc/hosts文件
sudo sed -i "s/^127.0.0.1.*$/127.0.0.1 $hostname/g" /etc/hosts
# 可選:重啟網絡服務以確保更改生效
sudo systemctl restart networking
done < hosts_list.txt
echo "所有主機名已成功修改。"
在終端中運行以下命令,賦予腳本執行權限:
chmod +x change_hostname.sh
在終端中運行腳本:
sudo ./change_hostname.sh
/etc/hosts
文件需要超級用戶權限,因此腳本中使用了sudo
。通過以上步驟,你可以批量修改Debian系統中的主機名。