需要强制更新主机名而不重新启动

需要强制更新主机名而不重新启动

我需要更改系统的主机名而不重新启动它。我正在运行 CentOS 7,并且 /etc/hostname 文件中具有正确的主机名,但我仍然在提示时显示旧主机名。我知道当我重新启动系统时,它会检查主机名文件并应用它,但是我是否可以在不重新启动的情况下更新该文件?以下是来自命令行的一些信息:

[root@gandalf sysconfig]# cat network
NETWORKING=yes
GATEWAY=192.168.80.1
HOSTNAME="sauron.domain.com"
[root@gandalf sysconfig]# cd ..
[root@gandalf etc]# cat hostname
sauron
[root@gandalf etc]# 

我无法很快重新启动该服务器,并且由于主机名显示较旧的系统名称,我的一些团队正在混淆服务器。简单地说:需要提示来显示[user@sauron dir]#而不是[user@gandalf dir]#.

谷歌对此进行了搜索,但找不到一种无需重新启动即可实现此目的的方法。感谢您的考虑!

答案1

您应该能够使用以下hostname命令来执行此操作:

hostname -F /etc/hostname

进行此更改后,之前的主机名仍将显示在当前提示符下。要在不重新启动的情况下查看更改,请输入新的 shell。如果您使用的是bash,请输入:

bash

hostname现在应该会显示 您的新内容。

答案2

不需要重新启动网络服务。您可以按照以下任一程序进行操作。

hostnamectl set-hostname "new.host.name"

注销并登录系统

或者

hostname "new.host.name"

注销并登录系统

或者

echo "new.host.name" > /proc/sys/kernel/hostname

注销并登录系统

但请确保HOSTNAME在文件中设置,/etc/sysconfig/network否则在系统重新引导期间无法分配主机名。

答案3

使用hostname(busybox & GNU)并在以下位置编辑所需的主机名/etc/hostname

hostname -F /etc/hostname

相关内容