我需要缩小在风滚草内核中引入更改的内核版本。 4.4和4.10之间的任何内核都很有用。
这些内核的存档是否保存在某处?
如果可能,我宁愿避免必须从源代码构建。
答案 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-Debug
和openSUSE-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