温馨提示×

linux hostname怎么生效

小樊
40
2026-09-03 17:05:16
栏目: 智能运维

在 Linux 中修改 hostname 后,是否立即生效、能否永久生效,取决于你用的是什么方式、什么发行版。下面分情况说明。


一、临时生效(重启后失效)

hostname 新主机名

sudo hostname new-hostname

立即生效(当前会话)
❌ 重启后恢复

注意:有些 shell(如 bash)提示符不会自动刷新,需要重新登录或 exec bash


二、永久生效(推荐方式)

✅ 通用(Systemd 系统,CentOS 7+/Ubuntu 16.04+)

sudo hostnamectl set-hostname 新主机名

特点:

  • ✅ 立即生效
  • ✅ 写入 /etc/hostname
  • ✅ 重启也生效

查看当前主机名:

hostnamectl

✅ 手动修改文件(兼容老系统)

1️⃣ 修改 hostname 文件

sudo vim /etc/hostname

内容只写一行:

new-hostname

2️⃣ 修改 hosts 文件(很重要)

sudo vim /etc/hosts

确保有:

127.0.0.1   localhost
127.0.1.1   new-hostname

3️⃣ 让修改生效

sudo hostname new-hostname

或重启:

reboot

三、为什么改了不生效?

常见原因

  1. 只改了 /etc/hostname,没改 /etc/hosts
  2. 没重新登录 shell
  3. 网络管理服务覆盖了 hostname(如 DHCP)
  4. 容器环境(Docker)不认 hostnamectl

四、Docker / 容器环境

docker run --hostname=new-hostname ...

或在容器内:

hostname new-hostname

⚠️ 容器重启即失效


五、快速检查

hostname
hostnamectl
cat /etc/hostname

如果你能告诉我:

  • 用的 发行版(CentOS / Ubuntu / 麒麟 / 龙蜥?)
  • 物理机 / 虚拟机 / 容器
  • 是否已经重启过

我可以给你最精确的命令

0