我正在尝试在 CentOS 7 中设置主机名hostnamectl set-hostname server.domain.tld
,但当我重新启动时,它会返回到 sp-30.localdomain
我总是使用该命令来更改主机名,但现在不起作用,所以或者我遗漏了一些东西或者是存在一些错误?
但是,我如何才能永久更改我的主机名?
重启之前我检查了 /etc/hostname 文件并且它是正确的,但是当我重启时它又恢复了
“SP-30”是我给 OVH 公共云中的实例起的名字。
答案1
我发现我的 CentOS 7 实例每次重新启动时都会使用 Cloud-Init,并且每次重新启动实例时它都会设置为最初给定的主机名。
我在这里找到了一个解决方案:
https://www.ovh.pt/g1928.hostname
这说明,要解决这个问题,必须使用以下命令停用 cloud-init 模块:manage_etc_hosts: false
在/etc/cloud/cloud.cfg
文件中,然后将主机名改为您想要的任何名称。
但由于我的/etc/cloud/cloud.cfg
文件不同,所以我删除了:
- set_hostname
- update_hostname
cloud_init_modules
对我来说很有用
答案2
不确定 CentOS 是否如此,但我在 Ubuntu Server 上也遇到了这个问题。解决方法:
sudo apt-get remove cloud-init