Centos yum--downloadonly忽略本地repo中的包

Centos yum--downloadonly忽略本地repo中的包,centos,rpm,yum,Centos,Rpm,Yum,我配置了两个repo,一个通过baseurl访问=http://...和一个通过baseurl=file://...(本地回购)。运行此命令时: sudo yum-y update--downloadonly--downloaddir=foo 该命令运行并列出许多包。但是foo仅包含来自远程回购的包,而不包含本地回购的包。我如何“下载”本地文件呢 我试图做的是配对一个本地回购协议,其中包含的RPM数量远远超过我需要的RPM数量,只包含运行更新所需的RPM数量。我的想法是创建一个新的本地回购协议,

我配置了两个repo,一个通过
baseurl访问=http://...
和一个通过
baseurl=file://...
(本地回购)。运行此命令时:

sudo yum-y update--downloadonly--downloaddir=foo

该命令运行并列出许多包。但是
foo
仅包含来自远程回购的包,而不包含本地回购的包。我如何“下载”本地文件呢


我试图做的是配对一个本地回购协议,其中包含的RPM数量远远超过我需要的RPM数量,只包含运行更新所需的RPM数量。我的想法是创建一个新的本地回购协议,其中只包含我需要的内容。

我通过阅读百胜源代码确认了这是有意的,但令人讨厌的行为

我找到的解决办法是:

在回购文件中:

[local]
name=local
baseurl=http://localhost:9999
在Python中:

导入http.server
导入socketserver
导入线程
os.chdir(“/path to repo”)
#我们需要web服务器在自己的线程中运行
类threadedtcserver(socketserver.ThreadingMixIn,socketserver.TCPServer):
通过
httpd=ThreadedTCPServer(((“127.0.0.1”,9999),http.server.simplehttpprequesthandler)
httpd_thread=threading.thread(target=httpd.serve_forever)
httpd_thread.daemon=True
httpd_thread.start()
...
好吃的东西
...
httpd.shutdown()
httpd.server_close()

yum通常不会区分两个存储库。他只接受版本号最高的软件包。因此,要么本地repo中的包较旧,要么本地存储库配置不好。是否尝试使用
yum
搜索本地包?@ChrisMaes本地repo中的包是更高版本。使用yum列表进行搜索可显示远程和本地repo中的版本。如果I
sudo-yum-install-top--downloadonly--downloaddir=./
不在本地repo中,它会下载。如果我尝试使用本地repo中的curl,它不会下载。如果我不使用downloadonly选项,那么这两个包实际上都会安装,不会出现任何问题。也就是说,本地repo没有问题,并且必须将yum编码为不下载baseurl=file://的repo,我怀疑这是预期行为: