如何获得 CentOS 内核源代码

Eug*_*ene 2 linux centos kernel

我正在构建第三个工具,它依赖于Linux kernel源代码。

该工具指定Linux kernelby的发布版本uname -r,结果为:

3.10.0-862.el7.x86_64

但是,我在 下没有找到这个源代码/usr/src/,我想我应该自己安装源代码。

我使用下面的命令来安装它: yum install kernel-source kernel-devel

好消息是我得到了源代码/usr/src/kernels,坏消息是版本是3.10.0-957.27.2.el7.x86_64,它与uname -r.

如何准确获取与指定版本一致的源代码uname -r

提前感谢您的帮助。

小智 5

yum如果通过您有权访问的存储库提供内核版本,您可能会幸运地通过 指定内核版本。

sudo yum install -y kernel-devel-3.10.0
Run Code Online (Sandbox Code Playgroud)

如果您有源 RPM,则可以使用 rpm2cpio 和 cpio。

rpm2cpio kernel-3.10.0-862.el7.src.rpm | cpio -idmv
Run Code Online (Sandbox Code Playgroud)

这是我通过谷歌快速搜索找到的kernel-3.10.0-862.el7.src.rpm镜像。所以完整的命令集将是:

wget ftp://ftp.pbone.net/mirror/ftp.redhat.com/pub/redhat/linux/enterprise/7Server/en/RHEV/SRPMS/kernel-3.10.0-862.el7.src.rpm

rpm2cpio kernel-3.10.0-862.el7.src.rpm | cpio -idmv
Run Code Online (Sandbox Code Playgroud)