首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Debian Linux内核版本控制

问Debian Linux内核版本控制
EN

Unix & Linux用户
提问于 2019-03-28 15:31:53
回答 1查看 2.5K关注 0票数 8

在Debian扩展发行版上,如果我运行uname -a,我将获得:

代码语言:javascript
复制
Linux index 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux

如果我运行dpkg -s linux-image-amd64 | grep Version,我会获得:

代码语言:javascript
复制
Version: 4.9+80+deb9u6

上面的命令打印了三个不同的内核版本:

  • 4.9.0-8
  • 4.9.144-3.1
  • 4.9+80+deb9u6

我的问题是:这些不同的版本是什么?它们的意义是什么?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-03-28 15:47:34

“80+deb9u6”是这个linux-latest源包的版本;它构建元包,这些包为每个平台引入当前的内核包,例如您拥有的linux-image-amd64,并且使用基本内核版本进行版本化,从而生成4.9+80+deb9u6。

“4.9.0-8”是内核的ABI版本;它出现在特定内核的包名中,例如linux-image-4.9.0-8-amd64。该版本表示内核系列的基本编号,以及每次内核ABI以不兼容的方式变化时都会遇到的数字--无论何时需要重新编译出树外的模块,用户都会考虑到这一点。

“4.9.144-3.1”是内核的包版本。这遵循标准的Debian版本控制方案: 4.9.144是上游内核版本,可以与上游内核发布匹配,3.1是打包的版本。给定上游版本的第一个包通常是打包的版本1,然后每次上传新包时(而不改变相应的上游版本),打包版本就会增加。您可以在特定于Debian的变化中看到每个版本中更改的细节。

所有这些结合起来提供了一些对最终用户有用的特性:

  • 用户可以安装一个特定于体系结构的元包,比如linux-image-amd64,并确保他们总是拥有最新可用的内核包--当前的元包是version 4.9+80+deb9u6,它引入了linux-image-4.9.0-8-...,并且当内核版本或ABI版本更改时,将上传一个新的元包;
  • 新的上游内核(或Debian补丁)不会以向后兼容的方式改变内核ABI,不会导致不必要的包搅动或本地重构(用于树外模块);
  • 需要修改的内核ABI将导致重新构建模块,因此安装的模块总是可用的,并且可以安装到正在运行的内核中(排除bug)。
票数 15
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/509247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档