![我的debian版本号](https://linux22.com/image/10371/%E6%88%91%E7%9A%84debian%E7%89%88%E6%9C%AC%E5%8F%B7.png)
我的操作系统是从 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
是(正在运行)的版本字符串核心,特别是这里包含内核的 Debian 内核包的版本字符串,而不是操作系统的版本字符串。
答案2
对于 Debian 9,您可以使用lsb_release -a
或cat /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