首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得准确的Centos内核版本

无法获得准确的Centos内核版本
EN

Stack Overflow用户
提问于 2022-05-16 08:14:31
回答 1查看 63关注 0票数 1

uname -a告诉“内核版本”是3.10.0

代码语言:javascript
复制
[root@iZbp16uggk8lf3x949ewxiZ ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@iZbp16uggk8lf3x949ewxiZ ~]# uname -a
Linux iZbp16uggk8lf3x949ewxiZ 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

LINUX_VERSION_CODE还说当前的内核版本是3.10.0

代码语言:javascript
复制
[root@iZbp16uggk8lf3x949ewxiZ ~]# grep -rni "LINUX_VERSION_CODE" /usr/include/
/usr/include/linux/version.h:1:#define LINUX_VERSION_CODE 199168

但是当我找到一个核函数时,tcp_rtx_synack存在

代码语言:javascript
复制
[root@iZbp16uggk8lf3x949ewxiZ ~]# cat /proc/kallsyms | grep tcp_rtx_synack
ffffffff952a0700 t tcp_rtx_synack.part.26
ffffffff952a0730 T tcp_rtx_synack
ffffffff95721f90 r __ksymtab_tcp_rtx_synack
ffffffff95739e78 r __kcrctab_tcp_rtx_synack
ffffffff95765c36 r __kstrtab_tcp_rtx_synack

3.17 辛纳克 func tcp_rtx_synack存在

3.16 辛纳克 func tcp_rtx_synack不存在

这意味着我的centos内核版本至少是3.17而不是3.10

我正在编写eBPF,它需要更精确的内核版本信息,因为函数和数据结构与每个内核版本不同。

我在不同的云提供程序上购买了两个VM,两个VM都像上面这样显示。

EN

回答 1

Stack Overflow用户

发布于 2022-05-16 08:31:27

CentOS和RHEL一样,包含各种补丁的后端(特性、修复等)。到较旧的内核版本。因此,您不能依赖内核版本来知道哪些特性或函数可用。

相反,您可以从userspace (例如,使用bpftool feature probe)或用CO进行BTF检测。来探测可用的特性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72256058

复制
相关文章

相似问题

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