在 Linux 系统中修改 hostname 后,需要确保配置在多处生效。以下是详细步骤和注意事项:
sudo hostname new-hostname # 立即修改内核中的主机名(无需root权限也可用`hostnamectl`)
/etc/hostname
文件(主流方法)sudo nano /etc/hostname # 删除旧内容,写入新主机名(无扩展名)
sudo hostnamectl set-hostname new-hostname # 推荐:自动同步到/etc/hostname
/etc/hosts
文件确保包含本地解析记录(避免某些服务报错):
127.0.0.1 localhost
127.0.1.1 new-hostname # 关键!Ubuntu系默认用此格式
::1 localhost ip6-localhost ip6-loopback
如果使用 NetworkManager:
sudo nmcli general hostname new-hostname # RHEL/CentOS/Fedora
sudo systemctl restart systemd-hostnamed # systemd系统
# 或
sudo service hostname restart # SysVinit系统
hostname # 查看当前内核主机名
hostnamectl # 查看详细主机名状态(静态/瞬态)
cat /proc/sys/kernel/hostname # 内核参数
-
),不能以下划线或点开头/结尾。sudo nano /etc/sysconfig/network # RHEL 6及以下
HOSTNAME=new-hostname
sudo /etc/init.d/network restart
按此流程操作后,主机名将在当前会话和重启后均生效。遇到问题时,检查/var/log/syslog
或journalctl -u systemd-hostnamed
排查错误。