我使用createrepo命令在主目录的路径中创建一个本地仓库。我在里面添加了三个包来测试它。我已经将myrepo.repo文件创建到/etc/yum.repo.d/并运行“yum search runit --disablerepo = * --enablerepo = myrepo”,期望只返回我的repo中的包。包是myrepo / runit-2.1.1-4.1.src.rpm。当我运行repomanage --new myrepo时,它会正确返回包列表。但我怀疑yum是否设法找到包裹。当我运行yum repolist时,虽然列出了repo,但状态仅提供创建rep后包含的内容。这是输出:
fedora / 19 / i386 Fedora 19 - i386 30,446
!google-talkplugin google-talkplugin 1
!livna rpm.livna.org for 19 - i386 8
!myrepo myrepo 2
rpmora-free / 19 / i386 RPM融合Fedora 19 - 免费377
我不确定我必须做些什么以及我必须寻求帮助的地方。在互联网上搜索没有任何用处。有什么建议吗?
答案 0 :(得分: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
答案 1 :(得分:0)
本地仓库的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