在 Linux 中设置主机名(hostname)有多种方式,取决于你使用的是 临时设置 还是 永久设置,以及发行版(如 CentOS、Ubuntu、Rocky、Debian 等)。下面按常见场景说明。
hostname
或
hostnamectl
sudo hostname 新主机名
示例:
sudo hostname server01
⚠️ 仅对当前会话有效,重启后恢复。
hostnamectl(适用于 systemd 系统,推荐)适用于:
sudo hostnamectl set-hostname 新主机名
示例:
sudo hostnamectl set-hostname server01
✅ 立即生效
✅ 重启后仍然有效
/etc/hostnamesudo vi /etc/hostname
内容改为:
server01
/etc/hostssudo vi /etc/hosts
确保有类似内容:
127.0.0.1 localhost
127.0.1.1 server01
⚠️ 不修改 /etc/hosts 可能导致 sudo 变慢或部分服务异常。
reboot
/etc/hosts(不推荐单独使用)有些场景下只改 hosts,但 不会真正修改系统主机名,不建议单独使用。
✅ 推荐:
-❌ 不推荐:
_示例:
web01
db-master
k8s-node-01
hostname
hostnamectl
| 系统 | 推荐方式 |
|---|---|
| CentOS 7/8/9 | hostnamectl |
| Rocky / AlmaLinux | hostnamectl |
| Ubuntu | hostnamectl |
| Debian | hostnamectl 或 /etc/hostname |
| 老版本 Linux | /etc/hostname |
如果你愿意,可以告诉我:
我可以给你 最合适、最安全的修改方案 ✅