是否有来自 Tumbleweed 存储库的较旧 Linux 内核的存档?

Posted

技术标签:

【中文标题】是否有来自 Tumbleweed 存储库的较旧 Linux 内核的存档?【英文标题】:Is there an archive of older Linux kernels from the tumbleweed repo? 【发布时间】:2017-04-10 12:57:45 【问题描述】:

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

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

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于是否有来自 Tumbleweed 存储库的较旧 Linux 内核的存档?的主要内容,如果未能解决你的问题,请参考以下文章

快照和发布存储库的使用方式有何不同?

保持来自外部存储库的源是最新的

如何在 Git 中标记较旧的提交?

合并来自不同存储库的 Mercurial 分支

来自私人 github 存储库的 Pip install wheel

Xcode的多个副本-针对iOS的较早版本测试代码