前幾天在hyper-v上搭一個centos虛擬機。不想一步步地安裝,就用centos官方的 generic cloud-init enabled image搭建了。把網絡配置爲static ip地址,而後發生一個奇怪的現象,不論怎麼改hostname,過一段時間都會自動在hostname後附加一個 .localdomainhtml
改/etc/hostname , 改/etc/network , 改/etc/hosts , 改/etc/resolv.cfg, hostnamectl 都無效。查看日誌終於發現是cloud-init服務在修改hostname。只要阻止cloud-init服務改hostname就行了,可在 /etc/cloud/cloud.cfg.d 的目錄下增長一個配置文件。執行:windows
sudo echo "preserve_hostname: 1" > /etc/cloud/cloud.cfg.d/00_preserve_hostname.cfg
或者另外一個辦法,把 /etc/cloud/cloud.cfg 配置文件中把一下2行刪掉:centos
- set_hostname - update_hostname
注:cloud-init的0.7.9版的changelog中提到一條:服務器
set_hostname: avoid erroneously appending domain to fqdn 。 可能做爲bug修復掉了吧[centos 7目前(2017/7/18)使用的是0.7.5版]網絡
對cloud-init一直都比較模糊,只知道和openstack之類的雲服務平臺有關。之前下載來的虛擬機雲映像文件,不知道登入密碼,搜索的時候總有高手神祕的說一句 #cloud-cofig 啥啥啥的,然而具體怎麼搞,一頭霧水。偶只想搭個服務器,不想搞雲平臺,偶的笨辦法就是掛載映像文件,而後操做映像裏的文件-_-!!!app
好吧,解決此次問題,仍是閱讀了一下cloud-init的文檔,同時記點筆記。dom
/user-data /meta-data
#cloud-config password: passw0rd chpasswd: { expire: False } ssh_pwauth: True
instance-id: iid-local01 local-hostname: cloudimg
mkisofs.exe -r -R -J -l -L -V cidata -o seed.iso meta-data user-data