elrepo-kernel 问题:软件包不可用

elrepo-kernel 问题:软件包不可用

我在使用 yum 和 elrepo 时遇到了很大的问题。让我从头开始。有一台装有 CentOS 7 的本地机器:

$ uname -a   
Linux vt001.localdomain 3.10.0-327.36.3.el7.xppsl_1.4.3.3482.x86_64 #1 SMP Fri Nov 18 10:03:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

我想将内核更新到当前版本(现在是 4.18.8)。为此,我按照以下指示进行操作https://server.etutsplus.com/centos-7-how-to-update-kernel-to-the-latest-mainline-stable/(抱歉,它是日语的,但谷歌翻译工作正常,我发现迄今为止最详细的说明)。

主要问题是安装elrepo后,yum看不到与内核相关的包:

$ yum list available --disablerepo='*' --enablerepo=elrepo-kernel   
Loaded plugins: fastestmirror, langpacks   
Loading mirror speeds from cached hostfile   
 * elrepo-kernel: ftp.ne.jp   
Available Packages   
perf.x86_64                            4.18.9-1.el7.elrepo          elrepo-kernel   
python-perf.x86_64                     4.18.9-1.el7.elrepo          elrepo-kernel   

可以看出,repo 中的最后两个包被识别,但所有其他包都不存在。我检查了回购内容(通过链接http://www.ftp.ne.jp/Linux/RPMS/elrepo/kernel/el7/x86_64/RPMS/)并且它有一堆包,包括我正在寻找的 kernel-ml 。我还尝试了列表中的另外两个存储库(https://elrepo.org/tiki/Download),但结果总是相同:elrepo-kernel 存储库中仅提供最后两个包。顺便说一句,其他的elrepo早午餐似乎也看得不错。

正如故事所述,我决定直接从 rpm 安装 kernel-ml。那是成功的:

$ yum info kernel-ml   
Loaded plugins: fastestmirror, langpacks   
Loading mirror speeds from cached hostfile   
 * base: ftp.jaist.ac.jp   
 * elrepo: ftp.ne.jp   
 * extras: ftp.jaist.ac.jp   
 * updates: ftp.jaist.ac.jp   
Installed Packages   
Name        : kernel-ml   
Arch        : x86_64   
Version     : 4.18.8   
Release     : 1.el7.elrepo   
Size        : 203 M   
Repo        : installed   

我什至可以使用该内核重新启动,但随后我需要交换与内核相关的包:kernel-headers、kernel-tools、kernel-tools-libs 和 kernel-devel。问题是这些包又在 elrepo-kernel 中,我无权访问它们。由于缺乏经验,我有点害怕手动执行此操作。我不知道如何在没有 的情况下做到这一点yum swap,或者如何使用yum swap本地 rpm 包(我已经从 elrepo-kernel 下载了所有这些包)。

有趣的是,我什至尝试使用 createrepo 创建自己的本地存储库,在特定目录中包含 .rpm 文件。当我在 /etc/yum.repos.d/ 中编写 .repo 文件并将该存储库添加到 yum 时,它在 repolist 中显示了一些对我来说很奇怪的内容:

$ yum repolist   
...   
repo id         repo name                          status   
...   
!my-kernel2     Downloaded kernel rpms                2+7   

我想知道,(2+7)是什么意思?因为如果我想查看可用的软件包,则只​​有两个存在:

$ yum list available --disablerepo='*' —enablerepo=my-kernel2   
Loaded plugins: fastestmirror, langpacks   
Loading mirror speeds from cached hostfile   
Error: No matching Packages to list   

或者

$ sudo yum repo-pkgs my-kernel2 list   
...   
Available Packages   
perf.x86_64                            4.18.8-1.el7.elrepo          my-kernel2   
python-perf.x86_64                     4.18.8-1.el7.elrepo          my-kernel2   

虽然我在 my-kernel2 存储库的 RPMS 文件夹中有这个:

$ ls -l RPMS/   
total 69776   
-rw-r--r-- 1 ivan ivan  46M Sep 25 12:22 kernel-ml-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan  12M Sep 25 12:22 kernel-ml-devel-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan 7.4M Sep 25 12:22 kernel-ml-doc-4.18.8-1.el7.elrepo.noarch.rpm   
-rw-r--r-- 1 ivan ivan 1.3M Sep 25 12:22 kernel-ml-headers-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan 164K Sep 25 12:22 kernel-ml-tools-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan  66K Sep 25 12:22 kernel-ml-tools-libs-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan  47K Sep 25 12:22 kernel-ml-tools-libs-devel-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan 1.9M Sep 25 12:22 perf-4.18.8-1.el7.elrepo.x86_64.rpm   
-rw-r--r-- 1 ivan ivan 481K Sep 25 12:22 python-perf-4.18.8-1.el7.elrepo.x86_64.rpm   

所以,我完全迷失了。基本上,我可以提出两个问题:

  1. 我可以将 yum swap 与本地 .rpm 文件一起使用吗?
  2. 存储库中但 yum 看不到的软件包有什么神秘之处???

编辑

感谢 GracefulRestart 的评论和回答,我在 yum.config 中找到了排除的软件包:

排除=内核* centos* ibutils-libs*

我不知道(在地球上)该行是如何出现在配置中的,但没有它,百胜就能看到我需要的一切。

答案1

关于 YUM 存储库的两个简短评论然后我将尝试回答您的两个主要问题:

每当向本地存储库添加更多包时,请确保更新本地存储库。

另外,请检查/etc/yum.conf您是否排除了任何包裹。

至于您的实际问题:

YUM 应该能够使用任何本地 RPM 文件,只需确保使用正确的路径(即yum install ./RPMS/kernel-ml-*.rpm)。

我相信幻影包的神秘性以及您的神秘2+7状态与排除的包有关(即 YUM 找到了向您显示的两个包,并且有七个隐藏的包与您的查询匹配,但由于某种原因被排除在外)。

相关内容