Debian

debian 中的 /etc/hosts 會在重啟時自行重置

  • June 20, 2019

我一直遇到一個問題,當我們的 vps 提供商決定重新啟動伺服器(執行 Debian 5.0.8)時,伺服器無法記住對/etc/hosts. 我所需要的只是一個數據庫別名,用於伺服器上指向127.0.0.1( localhost) 的 Web 應用程序。

我希望它看起來像這樣:

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


127.0.0.1 localhost.localdomain localhost webservice database
# Auto-generated hostname. Please do not remove this comment.
XXX.XX.XXX.XX xxxxxx.net.au  xxxxxx www.xxxxxxx.net.au xxxxxxx

但是,每當重新啟動時,它都會自行重置為:

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


127.0.0.1 localhost.localdomain localhost webservice
# Auto-generated hostname. Please do not remove this comment.
XXX.XX.XXX.XX xxxxxx.net.au  xxxxxx www.xxxxxxx.net.au xxxxxxx

沒有數據庫,我必須手動更改文件才能正常工作。這已經發生了一段時間並且已經成為一種麻煩,但我似乎無法找到一種方法來讓改變堅持下去。有誰知道該怎麼做?

刪除 #Auto-generated hostname 行然後進行更改會導致生成主機名的任何內容現在記住它。對我有用,但這可能不適用於所有人。

這可能是因為您的系統使用 Cloud-init ( https://cloudinit.readthedocs.io/en/latest/ )。要重新獲得對主機文件的控制權,您必須編輯 /etc/cloud/cloud.cfg 並將 manage_etc_hosts 從“true”更改為“false”。

引用自:https://unix.stackexchange.com/questions/16449