Ubuntu 修改主机名永久生效教程

很多小伙伴在搭建 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,重启生效,全版本通用

规范的主机名是服务器运维、多设备管理的基础,统一命名后能极大提升服务器管理效率,建议刚搭建完系统就提前配置好。

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress