温馨提示×

linux hostname存哪了

小樊
43
2026-08-31 21:14:58
栏目: 智能运维

在 Linux 里,“hostname(主机名)”其实可能存在于多个地方,具体取决于你用的是哪种系统/发行版以及是否用了 systemd。


1️⃣ 传统配置文件(最常见)

/etc/hostname

这是静态主机名最常存的地方(尤其 Debian / Ubuntu / CentOS 7+)。

cat /etc/hostname

示例:

my-server

2️⃣ /etc/hosts

这里不是真正存 hostname 的地方,但常把 hostname 和 IP 对应起来。

cat /etc/hosts

常见内容:

127.0.0.1   localhost
127.0.1.1   my-server

⚠️ 如果这里没写,某些程序会解析 hostname 失败。


3️⃣ systemd 系统(现代 Linux)

如果你用的是 systemd(Ubuntu 16.04+、CentOS 7+ 等):

查看当前 hostname

hostnamectl

实际存储位置

systemd 会把 hostname 存在:

  • /etc/hostname
  • 运行时在:/proc/sys/kernel/hostname
cat /proc/sys/kernel/hostname

4️⃣ 内核中的 hostname(运行时)

当前正在使用的 hostname 在内核里:

cat /proc/sys/kernel/hostname

或修改:

hostname newname

⚠️ 这只是临时生效,重启会丢。


5️⃣ 网络相关(可选)

某些系统还会在下面文件里配置:

  • /etc/sysconfig/network(CentOS 6 及以前)
HOSTNAME=my-server

✅ 总结一句话

Linux 的 hostname 主要存在 /etc/hostname,运行时在 /proc/sys/kernel/hostname,旧系统可能在 /etc/sysconfig/network

如果你是 想改 hostname / 重启不失效 / Docker / 容器,可以告诉我场景,我给你具体命令。

0