方法一:
hostnamectl set-hostname 命令用于设置主机名。
使用方法为: hostnamectl set-hostname [new_hostname] 。
例如,要将主机名更改为 "mycomputer",可以使用命令 hostnamectl set-hostname mycomputer 。
执行bash可以立即生效
hostnamectl set-hostname
命令会自动更新/etc/hostname
文件中的主机名,并且还会更新其他与主机名相关的配置文件。使用hostnamectl set-hostname
命令修改主机名后,会自动重启相关的系统服务以应用新的主机名。而直接修改/etc/hostname
文件后,需要手动重启相关的服务或者重启整个系统以使新的主机名生效。
总的来说,建议使用hostnamectl set-hostname
命令来修改Linux系统的主机名,因为它能够自动更新相关配置文件、重启服务以及校验主机名的格式,更加方便和安全。
方法二 (Oracle Linux 6-10系统):
如果您的Oracle Linux 6-10系统不支持hostnamectl命令,请尝试使用以下替代方法:
1. 使用hostname命令来设置主机名,例如:
sudo hostnamectl set-hostname myhostname
可以替换为:
sudo hostname myhostname
2. 编辑/etc/sysconfig/network文件并添加或更改以下行:
HOSTNAME=myhostname
注意:更改此文件后,请务必重新启动网络服务或重启系统以使更改生效。
3. 编辑/etc/hosts文件并添加或更改以下行:
127.0.0.1 myhostname
这将确保您的系统可以正常解析主机名。
请注意,在Oracle Linux 7及更高版本中,建议使用hostnamectl命令来设置主机名。
问题
hostnamectl set-hostname 命令更改主机名后,echo $HOSTNAME还是默认的localhost.localdomain。
这可能是因为更改主机名后需要重新加载一些配置文件才能生效。你可以尝试重新启动系统或者手动执行以下命令来使更改生效:
source /etc/profile
这样应该会使更改后的主机名生效并在`echo $HOSTNAME`命令中显示正确的主机名。如果还是不起作用,可能需要重启系统来使更改生效。