我的debian版本号

我的debian版本号

我的操作系统是从 debian 8.5.0 amd64 安装的。
安装后执行命令。

cat /etc/issue
Debian GNU/Linux 8 \n \l

这里没有8.5。

cat /proc/version
Linux version 3.16.0-4-amd64 ([email protected]) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26)

这里也没有8.5。

deb8u2 是否意味着 debian 8.5?

答案1

/etc/os-release尽管手册中明确指出允许使用次要版本号,并且尽管其他 Linux 发行版也包含了 次要版本号,但 Debian 并未在 中包含次要版本号。

任何人对此提出的唯一解释是相当薄弱的解释——不可否认,这是由一个在讨论论坛上仅以化名认识的人提出的,几乎没有任何官方依据——8.5 版本发布公告表示“此更新并不构成 Debian 8 的新版本”。然而,该公告在标题中使用了“8.5”作为字符串。

您可以通过 Debian 特定的方式获取次要编号,这仍然是唯一的机制在其常见问题解答文档中提到,其中根本没有提及/etc/os-release:使用lsb_release或读取特定于 Debian 的/etc/debian_version文件,其中包含次版本号,再次证明次版本号被视为版本的一部分。

Debian 并不是唯一一个在/etc/os-release. CentOS 也没有。 (参见 CentOS错误#9448错误 8359.) Arch 根本不包含版本字符串。

至于deb8u2,那不是完整的版本字符串任何一个。实际的版本字符串,你可以在该输出中,是3.16.43-2+deb8u2.该字符串遵循将本地版本字符串添加到原始版本字符串后的约定。这里的原始版本是3.16.43,后缀是2+deb8u2,称为Debian版本包裹的。您会发现这个方案在 Debian 软件包版本中被大量使用。后缀确实表示Debian 8,但更新号是更新号debNuM对于 Debian 软件包版本, 并且是不是Debian 操作系统的次版本号。这是Debian 中的 Linux 内核包有 Linux 版本3.16.43和 Debian 版本2+deb8u2。看该包的版本历史记录

在更大的图中,里面的/proc/version是(正在运行)的版本字符串核心,特别是这里包含内核的 D​​ebian 内核包的版本字符串,而不是操作系统的版本字符串。

答案2

对于 Debian 9,您可以使用lsb_release -acat /etc/debian_version

## Example Debian 9.13 ##

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.13 (stretch)
Release:        9.13
Codename:       stretch

$ cat /etc/debian_version
9.13

至少从 Debian 11(.2?) 开始,只会cat /etc/debian_version显示“次要”版本:

## Example Debian 11.2 ##

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

$ cat /etc/debian_version
11.2

相关内容