linux – 如何覆盖DHCP在AWS中的CentOS7盒上配置的主机名?
参见英文答案 >
Correctly setting the hostname – Fedora 20 on Amazon EC25个
标题几乎说明了一切.我在运行CentOS 7的EC2中有一个VM.它使用DHCP,这似乎是EC2的要求.无论我尝试什么,DHCP都会在重启时不断覆盖主机名.我不会列举它,但我已经尝试了几乎所有的建议: Override DHCP hostname on RHEL5/CentOS/Amazon Linux以及谷歌搜索出现在其他几个网站上的那些建议.我不明白它是特定的OS版本还是AWS / EC2环境,但是我无法更改主机名并使其在重新启动时保持不变.甚至通过/etc/rc.d/rc.local强制它(添加“/ bin / hostnamectl set-hotname foo.bar.baz”)也行不通.我无法相信其他AWS / EC2用户没有想到这一点出来.请帮忙. 更新: 更新2: 解决方法
好的.在得到答案之前,我在这个问题上花了大概五个小时. @ Sirex建议卸载cloud-init是一个线索.从本质上讲,cloud-init是大多数EC2映像(AMI)内置的服务,包括AMI Linux和CentOS.该系统做了很多事情(谷歌),并可能对某些配置和维护foo有用.因此,我犹豫是否只是禁用它.但是,它似乎也设置了EC2主机名.因此,要使用您首选的主机名覆盖它,只需执行以下操作:
(1)创建一个名为99 _… cfg(我命名为我的99_hostname.cfg)的文件,并将以下内容写入其中: #cloud-config hostname: foo fqdn: foo.bar.baz 当然,用您的主机名和完全限定的域名替换“foo”和“foo.bar.baz”. (2)将此文件放在/etc/cloud/cloud.cfg.d/99_hostname.cfg中 (3)确保通过以下命令正确设置文件权限/ owner / selinux上下文(如果您有SELinux强制执行): sudo su - cd /etc/cloud/cloud.cfg.d/ chown root: 99_hostname.cfg chmod 644 99_hostname.cfg chcon system_u:object_r:etc_t:s0 99_hostname.cfg (4)重新启动VM,并设置新的主机名.如果您不信任bash提示符,则可以通过执行以下任一操作来检查: hostnamectl 要么 cat /etc/hostname (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |