【问题标题】:yum does not return packages from a local created rpm repo in fedorayum 不会从 Fedora 中本地创建的 rpm 存储库返回软件包
【发布时间】:2013-12-18 00:59:40
【问题描述】:

我使用 createrepo 命令在主目录中的路径中创建了一个本地 repo。我在里面添加了三个包来测试它。我已经在 /etc/yum.repo.d/ 中创建了 myrepo.repo 文件,并且我运行“yum search runit --disablerepo=* --enablerepo=myrepo”,希望只从我的 repo 中返回包。包是 myrepo/runit-2.1.1-4.1.src.rpm。当我运行 repomanage --new myrepo 时,它会正确返回包列表。但我怀疑 yum 是否能找到包裹。当我运行 yum repolist 时,虽然列出了 repo,但状态仅提供创建代表后包含的任何内容。这是输出:

fedora/19/i386 Fedora 19 - i386 30,446

!google-talkplugin google-talkplugin 1

!livna rpm.livna.org for 19 - i386 8

!myrepo myrepo 2

rpmfusion-free/19/i386 RPM Fusion for Fedora 19 - 免费 377

我不确定我还必须做什么以及我必须在哪里寻求帮助。在互联网上搜索显示没有任何用处。有什么建议吗?

【问题讨论】:

  • 请在原始问题中包含“myrepo.repo”的内容。谢谢
  • myrepo/runit-2.1.1-4.1.src.rpm 似乎是一个源包。如果您只添加源包,yum 将看不到它们。您需要安装yum-utils 并使用yum-downloader 或在您自己的仓库中安装一些二进制包。

标签: fedora rpm yum


【解决方案1】:

我也遇到过类似的问题。我通过制作一个使用 createrepo 的脚本解决了这个问题,并每隔几分钟在 crontab 中运行它(我有另一个 cron 会不断从我的构建框中上传最近创建的包)。

#!/bin/sh

destdir="/share/CentOS/6/myrepo/i686/"

for arch in i686 x86_64

do

    pushd ${destdir}/${arch} >/dev/null 2>&1

        createrepo .

    popd >/dev/null 2>&1

done

如果你仍然不能让它工作,你需要按照上面的建议显示你的 .repo

【讨论】:

    【解决方案2】:

    本地 repo 的 createrepo 还不够,我必须添加 2 个需要 root 访问权限的额外命令,即使 sudo 对我也不起作用

    # First run createrepo.sh from Bruno9779
    
    # then, run this as root user
    yum --disablerepo="*" --enablerepo="local" clean metadata
    yum makecache --enablerepo="local" --disablerep="*"
    
    # yum search your-package-name-short
    

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 2014-09-24
      • 2021-11-19
      • 2012-10-09
      • 2018-02-07
      • 1970-01-01
      • 2017-01-06
      • 2011-02-23
      • 1970-01-01
      相关资源
      最近更新 更多