很多小伙伴在搭建 Ubuntu 服务器、多主机集群、虚拟机开发环境时,都会遇到一个问题:系统默认的主机名冗长、不规范,终端显示杂乱,不方便服务器管理和区分设备。
本文给大家分享 Ubuntu 全系通用 的主机名修改方法,包含 临时修改(重启失效) 和 永久修改(无需重启/重启生效) 两种方案,适配 Ubuntu 20.04/22.04/24.04 所有版本,新手也能无脑操作。
文末附验证方法和常见问题排查,一次彻底解决主机名修改问题。
一、先查看当前主机名
操作前先查看系统当前主机名,确认修改前后的变化,执行任意一条命令即可:
# 简易查看
hostname
# 详细信息查看(推荐)
hostnamectl
执行后会显示当前静态主机名、系统版本、硬件信息等内容,方便后续核对修改结果。
二、临时修改主机名(重启失效)
适合临时调试、短期测试场景,修改后立即生效,服务器重启后会恢复默认,无需修改配置文件,操作最简单。
操作命令
sudo hostname 自定义主机名
示例
sudo hostname ubuntu-test
执行命令后,新开终端即可看到新主机名,重启系统后失效。
三、永久修改主机名(生产环境推荐)
这是服务器、开发环境首选方案,永久生效,分为两种方式:极简一键命令(主流新版系统)、配置文件修改(全系兼容)。
方式一:hostnamectl 一键修改(推荐 Ubuntu 20.04+)
Ubuntu 20.04、22.04、24.04 等新版系统支持 hostnamectl 工具,一条命令永久生效,无需重启系统,安全高效。
执行命令
sudo hostnamectl set-hostname 自定义主机名
实操示例
# 将主机名修改为 ubuntu-server
sudo hostnamectl set-hostname ubuntu-server
生效方式
执行命令后,关闭当前终端,重新连接 SSH 或打开新终端,即可看到全新主机名,永久保存,重启不失效。
方式二:修改配置文件(全系 Ubuntu 兼容)
适配所有 Ubuntu 老旧版本,兼容性拉满,通过修改系统核心配置文件实现永久生效,步骤简单稳定。
步骤1:修改 hostname 文件
该文件专门存储系统静态主机名:
sudo vim /etc/hostname
打开文件后,删除文件内默认的旧主机名,输入自己的全新主机名(仅一行,无空格、无特殊符号)。
保存退出
步骤2:修改 hosts 解析文件
避免本地域名解析异常、局域网访问报错,必须同步修改 hosts 文件:
sudo vim /etc/hosts
找到文件中 127.0.1.1 对应的旧主机名,替换为你刚刚设置的新主机名,其余内容保持不变。
修改前示例:127.0.1.1 旧主机名 修改后示例:127.0.1.1 ubuntu-server
同样使用 Ctrl+O 保存、Ctrl+X 退出。
步骤3:重启系统生效
sudo reboot
四、验证主机名是否修改成功
系统重启或重新打开终端后,执行以下命令验证结果:
# 快速验证
hostname
# 详细状态验证
hostnamectl
若输出内容显示为你设置的新主机名,即代表修改成功。
五、常见问题排查
1. 修改后终端主机名没变
属于正常缓存问题,关闭当前终端,重新连接 即可刷新,无需重启系统。
2. 修改后 ping 本机主机名报错
大概率是 /etc/hosts 文件未同步修改,重新核对文件中 127.0.1.1 对应的主机名是否一致。
3. 主机名包含特殊符号报错
Ubuntu 主机名仅支持 字母、数字、中划线,不支持空格、下划线、中文、特殊符号,修改时请严格规范命名。
六、总结
- 临时使用:
sudo hostname 主机名,重启失效,适合临时测试 - 生产首选:
hostnamectl set-hostname 主机名,一键永久生效、无需重启 - 老旧系统兼容:修改
/etc/hostname+/etc/hosts,重启生效,全版本通用
规范的主机名是服务器运维、多设备管理的基础,统一命名后能极大提升服务器管理效率,建议刚搭建完系统就提前配置好。