溫馨提示×

如何批量修改Debian Hostname

小樊
45
2025-06-07 12:59:42
欄目: 智能運維

在Debian系統中,批量修改主機名可以通過以下步驟實現:

方法一:使用腳本

  1. 創建一個腳本文件: 打開終端,創建一個新的腳本文件,例如 change_hostname.sh。

    nano change_hostname.sh
    
  2. 編寫腳本內容: 在腳本文件中編寫以下內容,用于批量修改主機名。假設你要將所有主機名修改為 new-hostname。

    #!/bin/bash
    
    # 定義新的主機名
    NEW_HOSTNAME="new-hostname"
    
    # 獲取當前主機名
    CURRENT_HOSTNAME=$(hostname)
    
    # 修改 /etc/hostname 文件
    echo $NEW_HOSTNAME > /etc/hostname
    
    # 修改 /etc/hosts 文件
    sed -i "s/$CURRENT_HOSTNAME/$NEW_HOSTNAME/g" /etc/hosts
    
    # 重啟網絡服務以應用更改
    systemctl restart networking
    
    # 輸出成功信息
    echo "Hostname changed from $CURRENT_HOSTNAME to $NEW_HOSTNAME successfully."
    
  3. 賦予腳本執行權限: 保存并關閉文件后,賦予腳本執行權限。

    chmod +x change_hostname.sh
    
  4. 運行腳本: 在終端中運行腳本。

    ./change_hostname.sh
    

方法二:使用Ansible自動化工具

如果你有多臺Debian主機需要批量修改主機名,可以使用Ansible自動化工具來實現。

  1. 安裝Ansible: 在控制節點上安裝Ansible。

    sudo apt update
    sudo apt install ansible
    
  2. 創建Ansible Playbook: 創建一個新的Ansible Playbook文件,例如 change_hostname.yml。

    ---
    - name: Change hostname for Debian hosts
      hosts: all
      become: yes
      tasks:
        - name: Set new hostname
          hosts:
            - all
          tasks:
            - name: Update /etc/hostname
              replace:
                path: /etc/hostname
                regexp: '^.*$'
                replace: 'new-hostname'
    
            - name: Update /etc/hosts
              replace:
                path: /etc/hosts
                regexp: '^127.0.0.1.*'
                replace: '127.0.0.1 new-hostname'
    
            - name: Restart networking service
              service:
                name: networking
                state: restarted
    
  3. 運行Ansible Playbook: 在控制節點上運行Ansible Playbook。

    ansible-playbook change_hostname.yml
    

通過以上兩種方法,你可以輕松地在Debian系統中批量修改主機名。選擇適合你需求的方法進行操作即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女