Linux修改主机名
方法一:hostnamectl 命令
这是最现代、最推荐的方法,尤其适用于基于 systemd 的系统
1. 设置新主机名
sudo hostnamectl set-hostname <新主机名>说明: 此命令会同时更新静态主机名 (保存在
/etc/hostname) 和临时主机名 (内核当前使用的主机名),效果立即显现。
2. 更新 /etc/hosts 文件
为了确保本地解析正确,需手动更新 hosts 文件。
sudo nano /etc/hosts方法二:手动修改配置文件
这种方法适用于较旧的系统,或在 hostnamectl 命令不可用时使用。
1. 修改主机名配置文件
对于 Ubuntu/Debian 及其衍生系统:
sudo nano /etc/hostname对于 CentOS/RHEL 及其衍生系统:
sudo nano /etc/sysconfig/network2. 更新 /etc/hosts 文件
为了确保本地解析正确,需手动更新 hosts 文件。
sudo nano /etc/hosts3. 使更改立即生效
重要: 手动修改配置文件后,更改只会在下次重启后生效。要让它立即生效 (仅限当前会话),请执行以下命令:
sudo hostname -F /etc/hostname注意: 重新建立 SSH 连接,您应该就能看到更新后的主机名了。
额外技巧:防止 hosts 文件被意外修改
在某些情况下,其他服务(如云初始化脚本、DHCP 客户端)可能会覆盖您的 /etc/hosts 文件。如果您希望将其锁定,可以使用 chattr (change attribute) 命令。
将文件设置为不可修改 (immutable):
sudo chattr +i /etc/hosts将文件恢复为可修改:
sudo chattr -i /etc/hosts