在使用 Ubuntu 的过程中,有时我们会想要修改主机名,例如为了统一命名规范、更好地识别主机,或者只是因为安装系统时随便填了个名字。本文将带你一步一步地,在 Ubuntu 24.04 系统中 优雅且安全地修改主机名。
无论你是 Linux 新手还是老司机,看完这篇文章你都能轻松完成主机名的修改。
📌 主机名是什么?
主机名(Hostname)是你系统在网络中的标识,就像是你的电脑名字。在局域网环境下,它可以用于主机之间的识别,部分软件或脚本也依赖这个名称来运行。
你可以用以下命令查看当前的主机名:
hostname
或者更详细地查看主机状态:
hostnamectl
✅ 推荐方法:使用 hostnamectl
命令修改主机名(适用于 Ubuntu 16.04+,包括 24.04)
Ubuntu 24.04 使用的是 systemd 系统管理器,因此我们可以使用 hostnamectl
命令来修改主机名,这也是最现代、最推荐的方式。
步骤如下:
1. 修改主机名
在终端中执行以下命令,将 my-new-hostname
替换为你想要的新主机名:
sudo hostnamectl set-hostname my-new-hostname
这个命令会自动修改 /etc/hostname
文件,并即时生效(无需手动编辑文件)。
2. 修改 /etc/hosts
文件(非常重要❗️)
虽然 hostnamectl
命令会修改系统主机名,但 /etc/hosts
文件也需要同步更新,否则有些服务(比如 SSH、sudo)可能会出现警告或者无法识别主机名。
编辑 hosts 文件:
sudo nano /etc/hosts
找到类似这样的行:
127.0.1.1 原来的主机名
将其修改为:
127.0.1.1 my-new-hostname
保存并退出:Ctrl+O
保存,Enter
确认,Ctrl+X
退出。
3. 重启系统(建议)
虽然主机名大多数时候会即时生效,但为了确保所有服务和终端都识别新主机名,建议重启一次:
sudo reboot
🔍 如何验证修改是否成功?
修改完成后,可以使用以下命令验证当前主机名:
hostname
以及:
hostnamectl
你应该能看到类似这样的输出:
Static hostname: my-new-hostname
Icon name: computer-laptop
Chassis: laptop
Machine ID: xxxx
Boot ID: xxxx
Operating System: Ubuntu 24.04 LTS
Kernel: Linux 6.x.x
Architecture: x86-64
🧰 进阶方法:手动修改配置文件(不推荐,但可以了解)
如果你不想用 hostnamectl
,可以手动编辑两个文件:
-
/etc/hostname
-
/etc/hosts
分别修改内容为新主机名,并运行:
sudo hostname my-new-hostname
这种方式修改的是当前会话中的主机名(临时生效),下次重启会还原,所以必须修改配置文件才能持久生效。相比之下,hostnamectl
更简单可靠。
🛠 一键修改主机名脚本(Bonus)
如果你经常需要更改主机名,比如在配置新服务器或虚拟机时,可以使用以下脚本:
#!/bin/bash
# 一键修改 Ubuntu 主机名脚本
read -p "请输入新的主机名: " newname
if [ -z "$newname" ]; then
echo "主机名不能为空!"
exit 1
fi
sudo hostnamectl set-hostname "$newname"
sudo sed -i "s/127.0.1.1.*/127.0.1.1 $newname/" /etc/hosts
echo "主机名已修改为 $newname,请重启系统以完全生效。"
保存为 change_hostname.sh
,给予执行权限并运行:
chmod +x change_hostname.sh
./change_hostname.sh
🧾 总结
修改 Ubuntu 主机名并不复杂,只要遵循以下三步:
-
使用
hostnamectl set-hostname 新主机名
修改主机名; -
同步修改
/etc/hosts
文件; -
重启系统让所有服务识别新主机名。
Ubuntu 24.04 完美支持这套流程,推荐使用它替代手动编辑配置文件的老旧做法。