重启

时间:2018-04-15 11:43:07

标签: google-cloud-platform google-compute-engine hostname fqdn

我已经使用CentOS操作系统在Google Compute Engine中创建了Google实例,然后我安装了Cpanel。我的问题是WHM / Cpanel,它需要一个主机名 FQDN主机名,专门用于更新Cpanel或它将失败。

我的问题是,在更改主机名后,实例会在重新启动操作系统或重置/停止/启动实例后恢复为旧主机名。

之前我已经检查过大多数问题,而且我已经尝试了大多数解决方案而没有运气。它在重启后不断变化,我尝试了以下所有方法以及更多:

在以下位置创建sh脚本:

/etc/dhcp/dhclient-exit-hooks.d/

更改

中的主机名
/etc/hostname

编辑文件

/etc/dhclient.conf

然后在其中添加,为我的网络接口:

supersede host-name "host.domain.com"
crontab中的

添加到结尾:

@reboot hostname="host.domain.com"; sed -i "s/.*Google.*//" /etc/hosts; hostname "$hostname"

但重启后,主机名会更改回实例名称。 是否还有其他解决方法即使在重新启动后也会永久更改我的主机名。?

由于

4 个答案:

答案 0 :(得分:0)

您可以创建一个类似的crontab条目,但不是在帖子中使用该行,而是可以使用hostnamectl在启动时设置主机名。

我已经使用Google的Centos7和Debian9图片对此进行了测试,它适用于两者。但是,我发现使用Centos时,我必须在执行命令之前添加一个延迟(见下文)。

例如,打开crontab:

sudo crontab -e

然后为Centos输入以下行:

@reboot sleep 15 && hostnamectl set-hostname YOUR_HOSTNAME

对于Debian来说,这有效:

@reboot hostnamectl set-hostname YOUR_HOSTNAME

我没有用crontab Centos计时进行太多实验(你可以使用比15秒更低的数字),但根据我的经验,单独使用@reboot似乎并没有启动启动时改变。

答案 1 :(得分:0)

自动更改主机名而无需重启的问题通过创建" .sh"来解决它可执行文件位于" /etc/dhcp/dhclient-exit-hooks.d /",例如:下面我们创建文件" set_my_hostname.sh",您可以创建任何sh文件名:

cd /etc/dhcp/dhclient-exit-hooks.d/
nano set_my_hostname.sh

然后在文件中放置:

hostname hosting.domain.com

保存文件并使其可执行:

chmod +x set_my_hostname.sh

并修复,主机名在重新启动后自动更改,创建一个cronjob以在重新启动时启动延迟
(感谢neilH提供帮助):

sudo env EDITOR=nano crontab -e

然后添加以下行:

@reboot sleep 20 && hostnamectl set-hostname "hosting.domain.com"

答案 2 :(得分:0)

这对我有用,我希望我的主机名是一个子域,即:server1.example.com:

1:更改<response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">31</int> </lst> <result name="response" numFound="0" start="0"/> </response> 添加:

/etc/hosts file

2:更改127.0.0.1 localhost.localdomain localhost 192.168.1.100 server1.example.com server1 文件(如果不存在,请创建它):    仅添加子域部分,即:etc/hostname

3:更改server1添加:

/etc/dhcp/dhclient.conf

4:创建一个supersede host-name "server1.example.com"; cron job,然后添加:

run sudo crontab -e

5:@reboot hostnamectl set-hostname server1.example.com

答案 3 :(得分:0)

这在运行Ubuntu 16.04的GCE实例中对我有用:

1:打开/etc/hostnamesudo nano /etc/hostname)并将主机名更改为新的主机名。

2:打开/etc/hostssudo nano /etc/hosts)。第一行可能是:

127.0.0.1 localhost

将新的主机名添加到该行的末尾,因此它应如下所示:

127.0.0.1 localhost <new_hostname>

3:打开/etc/rc.localsudo nano /etc/rc.local)。在exit 0行之前,添加另一行:

hostname <new_hostname>

4:就这样!主机名已被永久更改。您可以通过运行bash打开新的bash shell或重新启动实例。