Networking
自動生成的 /etc/hosts 錯誤
我創建了一個 kickstart 腳本,以完全自動化的方式安裝 CentOS 5.5(32 位)。
DNS/DHCP 設置在正向和反向查找中正確地為系統提供了正確的主機名。
探勘 node4.mydomain.com。+ 短
10.10.10.64
挖 -x 10.10.10.64 + 短
node4.mydomain.com.
安裝完成後系統安裝狀態如下:
貓 /etc/sysconfig/網路
NETWORKING=yes NETWORKING_IPV6=yes GATEWAY=10.10.10.1 HOSTNAME=node4.mydomain.com
迴聲 ${HOSTNAME}
node4.mydomain.com
貓 /etc/hosts
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 10.10.10.64 node4
我的問題是這個自動生成的主機文件與我想要的方式略有不同(或者更好的是:Hadoop 想要的方式)。
最後一行應如下所示:
10.10.10.64 node4.mydomain.com node4
我要修改什麼來解決這個問題?
謝謝。
編輯:我試圖找到實際創建此文件的程式碼。我查看了 acaconda 原始碼和 setup src rpm,但不是從其中之一完成的。這裡有人知道創建 /etc/hosts 文件的程式碼所在的位置嗎?
我將以下內容添加到適用於我的情況的 kickstart 文件的 %post 中:
# ========================= # Force the right hosts file for Hadoop and such cat > /etc/hosts <<End-of-file # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 \$(dig +short \$(hostname)) \$(hostname -f) \$(hostname -s) End-of-file
不熟悉 RedHat 的 kickstart 系統,我會使用補充腳本在安裝結束時執行並按照您想要的方式設置線路。