所以,我想做的只是永久更改主机名。我可以更新主机名,但是当重新启动时,将使用原始主机名!
我知道有一个文件主机名位于:/etc/主机名。我更新了此文件并重新启动,但是主机名又回到了之前的设置!
我尝试过的:
- 更新中/etc/主机文件新主机名
- 更新中主机文件 - 127.0.0.1 新主机名
- 重启
我也尝试过使用 sudo 用户和 root !
为什么会出现这种情况?!
感谢您的任何意见或建议,我觉得我已经尝试了所有其他解决方案但无济于事。
编辑:
我刚刚更新了/etc/主机名在本地运行 debian 7 的虚拟机上运行该文件,它按预期工作。为什么当使用 SSH 连接到远程服务器时这不起作用?
答案1
hostnamectl set-hostname servername.example.com
这适用于 RHEL 7。
答案2
主机名重置的另一个原因可能是 cloud-init 包。该包用于配置主机,也可用于设置系统主机名。
对于我的 Ubuntu 系统,该选项在文件中preserve_hostname
设置为.将此选项设置为,将使新设置的主机名在重新启动后继续存在。false
/etc/cloud/cloud.cfg
true
答案3
/etc/hosts
是 DNS 解析的第一步。如果您尝试访问那里的主机,它将使用该记录而不是查询 DNS。
正如您所发现的,/etc/hostname
这是 Debian 中更改主机名的一种选择。在 RHEL6 中,它是/etc/sysconfig/network
,在 RHEL7 中它是hostnamectl
命令 或/etc/hostname
。
在 Linux 主机上更改主机名可能会因发行版和版本而异,因此最好在 Google 上搜索适合您的特定平台的过程。
答案4
尝试设置运行时内核参数
sudo bash -c "echo 'kernel.hostname = YOUR_HOSTNAME' >> /etc/sysctl.conf"
应用您的更改
sudo sysctl -p
现在,简单地注销并重新登录,您的主机名应该是您应用的主机名。