Gdb 什么';s两个内核版本之间的差异,如‘;uname-a’;?

Gdb 什么';s两个内核版本之间的差异,如‘;uname-a’;?,gdb,debian,kernel,crash-dumps,uname,Gdb,Debian,Kernel,Crash Dumps,Uname,我使用的是Debian9.4,uname-a显示的内核版本不同,实际的内核版本是什么?“4.9.82-1+deb9u3”是什么意思 Linux debian 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux apt get source linux可以得到当前内核的源代码,然后我可以得到原始内核tar文件和debian补丁 $ls linux-4.9.82

我使用的是Debian9.4,
uname-a
显示的内核版本不同,实际的内核版本是什么?“4.9.82-1+deb9u3”是什么意思

Linux debian 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
apt get source linux
可以得到当前内核的源代码,然后我可以得到原始内核tar文件和debian补丁

$ls     
linux-4.9.82                         linux_4.9.82-1+deb9u3.dsc
linux_4.9.82-1+deb9u3.debian.tar.xz  linux_4.9.82.orig.tar.xz 
linux_4.9.82-1+deb9u3.debian.tar.xz
包含许多文件,它们的用途是什么?如何将it修补到
linux_4.9.82.orig.tar.xz


linux-4.9.82
是通过
apt-get-source
命令输出的内核源文件夹,可以编译成vmlinux。但是,我通常无法使用vmlinux调试崩溃转储文件,因为“crash”命令会给出错误消息:版本不匹配。我应该从kernel.org下载
kernel 4.9.0
而不是
linux-4.9.82
来调试我当前运行的内核吗?

您有软件包版本。该名称由以下人员命名:

  • 4.9.82
    :上游版本
  • -1
    :分隔符和Debian版本的
    4.9.82
    上游包。注意:如果Debian也是包的上游,则跳过此字段
  • +deb9u3
    :这是一种微型版本。
    +deb
    用于安全咨询,因此与
    4.9.82-1
    相比变化最小。
    9
    是Debian版本,
    u3
    是第三个安全版本
但是内核是不同的(与大多数其他软件包相比):可以并行安装许多内核(但只使用一个)。因此,在包名中可能有
linux-image-4.9.0-3-amd64
。在我的系统中,此软件包的版本为
4.9.30-2+deb9u1
。因此
4.9
是内核版本
-amd64
是体系结构,这是
4.9
.0
)系列的第三个主要Debian版本(
-3
),它基于
4.9.30

命令
uname
将在
kernelrelease
字段中为您提供内核(作为包名,与功能非常接近),并在
kernel version
字段中为您提供包版本(与源代码非常接近)


对于主要问题:我会使用原始内核,并使用上游方法编译(如果我认为bug与内核相关,因此更容易与内核维护人员讨论),或者我会使用Debian源代码(例如,带有补丁),并使用Debian工具构建内核(并安装包以安装内核),如果我认为问题出在Debian上,或者只是在旧的内核版本上。

非常感谢。那么你的意思是4.9.82是我的系统中从kernel.org获得的原始内核版本吗@贾科莫·卡特纳齐