在 Ubuntu 的世界里,区分 LTS(Long Term Support,长期支持版)和普通版本其实非常直接。LTS 版本每两年发布一次(如 20.04, 22.04, 24.04),提供长达 5 年的免费安全更新和企业级支持,是生产环境的首选;而非 LTS 版本通常只维护 9 个月,主要用于尝鲜或开发测试。
判断当前系统是否为 LTS,有几种从“最直观”到“最底层”的方法,你可以根据手头的权限和场景选择:
1. 最简单粗暴:看版本号
Ubuntu 的版本号格式为 YY.MM。
- LTS 版本:年份
YY是偶数。例如:20.04、22.04、24.04。 - 非 LTS 版本:年份
YY是奇数。例如:23.10、21.04。
所以,如果你看到的版本号结尾年份是偶数,基本就是 LTS。但这只是经验法则,为了严谨,建议结合以下命令确认。
2. 标准命令:lsb_release -a
这是最通用、最标准的做法。执行以下命令:
lsb_release -a
重点关注输出中的 Description 或 Release 字段。
- 如果显示
Ubuntu 22.04.3 LTS,那么它就是 LTS。 - 如果显示
Ubuntu 23.10,后面没有 “LTS” 字样,那就是普通版本。
注意:某些精简版或服务器最小化安装可能默认未安装
lsb-release包。如果遇到command not found,请跳过此方法或使用下面的方法。
3. 读取系统标识文件:/etc/os-release
这是最可靠的方法,因为所有现代 Linux 发行版都遵循 freedesktop.org 的标准,这个文件几乎存在于每个系统中,且内容不可篡改(除非你手动改)。
执行:
cat /etc/os-release
查找 VERSION_ID 和 VERSION_CODENAME 字段。虽然这个文件不一定会直接写 “LTS”,但你可以通过以下方式间接判断:
- 查看
VERSION_CODENAME:- LTS 版本的代号通常是:focal, jammy, noble, xenial, trusty 等。
- 非 LTS 版本如:mantic, kinetic, lunar 等。
更直接的方法是结合 grep 过滤:
grep PRETTY_NAME /etc/os-release
如果输出包含 LTS,那就是 LTS。例如:
PRETTY_NAME="Ubuntu 22.04.3 LTS"
4. 检查 /etc/lsb-release
这是一个专门用于 LSB(Linux Standard Base)兼容性的文件,通常比 /etc/os-release 更简洁。
cat /etc/lsb-release
输出示例:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
同样,看 DISTRIB_DESCRIPTION 是否包含 “LTS”。
5. 进阶:通过内核模块或软件源判断(适用于无 GUI 的服务器)
如果你在一个极其精简的系统里,连 cat 都觉得麻烦,可以检查软件源配置。LTS 版本的默认源指向的是 ubuntu 仓库,而非常规版本可能会启用 updates 或 proposed 等更频繁的更新通道,但这并不绝对。
更准确的方式是检查 apt 缓存中的元数据:
apt-cache policy ubuntu-minimal
或者查看 /var/lib/dpkg/status 中是否有特定于 LTS 的标记,但这过于复杂,不推荐日常使用。
✅ 最佳实践总结
| 方法 | 命令 | 优点 | 缺点 |
|---|---|---|---|
| 推荐 | lsb_release -a |
简洁明了,直接显示 “LTS” | 需安装 lsb-release 包 |
| 最稳 | grep PRETTY_NAME /etc/os-release |
几乎所有系统都有该文件 | 需要人工识别 “LTS” 字符串 |
| 快速 | 看版本号年份 | 无需命令 | 仅靠经验,不够严谨 |
🛠️ 实际应用场景建议
- 在生产环境中:务必使用 LTS 版本。你可以用以下脚本一键检测并告警:
if grep -q "LTS" /etc/os-release; then
echo "✅ Current system is an LTS version."
else
echo "⚠️ Warning: This is NOT an LTS version. Consider upgrading."
fi
-
在云服务器控制台:阿里云、腾讯云、AWS 等厂商在购买镜像时,会明确标注“Ubuntu 22.04 LTS”或“Ubuntu 24.04 LTS”。如果你是通过云厂商提供的自定义镜像启动实例,通常可以在实例详情或初始化日志中看到完整信息。
-
关于升级:如果你当前使用的是非 LTS 版本(如 23.10),想要升级到 LTS,可以使用
do-release-upgrade命令,但建议在升级前备份数据,并确保网络稳定。LTS 之间的跨版本升级(如 20.04 → 22.04)也是支持的,但路径可能不同,需查阅官方文档。
总之,记住一点:偶数年发布的 Ubuntu 就是 LTS。这是由 Canonical 公司制定的发布策略决定的,从未改变过。
云技术博客