来自风滚草仓库的旧Linux内核存档吗?

时间:2017-04-10 12:57:46

标签: kernel archive suse tumbleweed

我需要缩小在风滚草内核中引入更改的内核版本。 4.4和4.10之间的任何内核都很有用。

这些内核的存档是否保存在某处?

如果可能,我宁愿避免必须从源代码构建。

1 个答案:

答案 0 :(得分:1)

要查看启用的存储库中可用的所有内核,您可以运行以下命令:

zypper se -s kernel-default

我的一些输出就像这样:

S | Name                 | Type       | Version       | Arch   | 
Repository            
--+----------------------+------------+---------------+--------+---------
--------------
i | kernel-default       | package    | 4.4.57-18.3.1 | x86_64 | Main Update Repository
v | kernel-default       | package    | 4.4.49-16.1   | x86_64 | Main Update Repository
v | kernel-default       | package    | 4.4.46-11.1   | x86_64 | Main Update Repository
i | kernel-default       | package    | 4.4.36-8.1    | x86_64 | Main Update Repository
v | kernel-default       | package    | 4.4.36-5.1    | x86_64 | Main Update Repository
v | kernel-default       | package    | 4.4.27-2.1    | x86_64 | Main Repository (OSS) 

之后,这取决于您是否只需要该软件包,或者是否要将其安装到您的系统中。要将其安装到您的系统,请运行以下命令:

zypper in --oldpackage kernel-default-<version number>

如果您只想下载rpm,可以像这样运行:

zypper in --download-only --oldpackage kernel-default-<version number>

它会将rpm包下载到/var/cache/zypp/packages/目录中。从那里它按存储库划分。您可以在前面的输出中看到最后一列说明了它来自哪个存储库。您可以使用它来帮助您确定要搜索包的目录。

以上仅提供常规的kernel-default和kernel-default-base软件包。如果您想获得包含源代码的软件包,您必须确保启用了调试存储库。

例如,在我的SUSE Leap 42.2中,我使用zypper lr来查看openSUSE-Leap-42.2-DebugopenSUSE-Leap-42.2-Update-Debug存储库是存储库编号13和15.所以我运行这些命令来启用和然后刷新它们:

zypper mr -e 13 15
zypper ref -s

之后我之前提供的zypper se -s kernel-default命令还将包含kernel-default-debuginfo包以及kernel-default-debugsource包。然后,您可以使用与以前相同的命令下载源代码包:

zypper in --download-only --oldpackage kernel-default-debugsource-<version-number>

然后,检查包的/var/cache/zypp/packages/目录中的相应存储库目录。就我而言,它位于以下位置:

/var/cache/zypp/packages/repo-debug/suse/x86_64/kernel-default-debugsource-4.4.27-2.1.x86_64.rpm