1

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

这些内核的存档是否保存在某个地方?

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

4

1 回答 1

3

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

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
于 2017-04-27T17:29:48.170 回答