Ubuntu 终于决定移除 /etc/debian_version 文件,从而关闭一个早在近 21 年前(2005 年 7 月 31 日)就已提交的错误报告。

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/sid、trixie/sid 或 forky/sid。
对于 Ubuntu 26.04 而言,/etc/debian_version 文件包含 forky/sid,这意味着该系统关联的是 Debian Unstable (sid) 分支,正值 Debian 14 (forky) 准备发布期间。
该文件主要供脚本和程序使用,用于检测系统是否基于 Debian,或检查系统兼容哪个 Debian 发行版。
为什么要移除该文件?
正如该 Ubuntu 开发者所言,脚本和程序应当读取 /etc/os-release 文件(过去 10 年来的事实标准),而不是 /etc/debian_version。此外,鉴于 /etc/os-release 的广泛采用,最新版本的 base-files 已经移除了 /etc/lsb-release 文件。鉴于 Ubuntu 是最受欢迎的 Linux 发行版之一,且包含许多 Debian 中没有的库,如今大多数 Linux 程序都直接提供对 Ubuntu 的支持,而无需关注其基于哪个 Debian 版本。
如果你的某些工具仍依赖于 /etc/debian_version 文件,建议联系开发者进行更新,因为该文件很可能会在即将发布的 Ubuntu 26.10 版本中被移除。