Ubuntu 终于决定移除 /etc/debian_version 文件,从而关闭一个早在近 21 年前(2005 年 7 月 31 日)就已提交的错误报告。
2005-07-31
2026-07-24
Debian 和 Ubuntu 开发者 Benjamin Drung 在 Ubuntu 开发(Devel)频道宣布了这一决定:

大家好,对于从 `base-files` 包中移除 `/etc/debian_version` 有什么异议吗?过去 10 年里,`/etc/os-release` 一直是事实上的标准。那些原本读取 `/etc/debian_version` 的工具,现在应该改用 `/etc/os-release` 了。

请允许我关闭这个已存在 20 年的错误报告:
https://bugs.launchpad.net/ubuntu/+source/base-files/+bug/19353

什么是 /etc/debian_version 文件?

来自 base-files 软件包的 /etc/debian_version 文件,用于标识当前 Ubuntu 系统所基于的 Debian 基础包版本。

由于 Ubuntu(在开发过程中)主要从 Debian 的 Unstable 分支(代号为 sid)导入软件包,而 Debian Unstable 正是用于准备下一个稳定版本的开发分支,因此该文件的内容通常显示为 bookworm/sidtrixie/sidforky/sid

对于 Ubuntu 26.04 而言,/etc/debian_version 文件包含 forky/sid,这意味着该系统关联的是 Debian Unstable (sid) 分支,正值 Debian 14 (forky) 准备发布期间。
etcdebian-version
该文件主要供脚本和程序使用,用于检测系统是否基于 Debian,或检查系统兼容哪个 Debian 发行版。

为什么要移除该文件?

正如该 Ubuntu 开发者所言,脚本和程序应当读取 /etc/os-release 文件(过去 10 年来的事实标准),而不是 /etc/debian_version。此外,鉴于 /etc/os-release 的广泛采用,最新版本的 base-files 已经移除了 /etc/lsb-release 文件。鉴于 Ubuntu 是最受欢迎的 Linux 发行版之一,且包含许多 Debian 中没有的库,如今大多数 Linux 程序都直接提供对 Ubuntu 的支持,而无需关注其基于哪个 Debian 版本。
basefiles-removelsbrelease
如果你的某些工具仍依赖于 /etc/debian_version 文件,建议联系开发者进行更新,因为该文件很可能会在即将发布的 Ubuntu 26.10 版本中被移除。

最后修改:2026 年 07 月 27 日
如果觉得我的文章对你有用,请随意赞赏