【问题标题】:How to publish a rpm package to YUM如何将 rpm 包发布到 YUM
【发布时间】:2017-07-04 19:59:09
【问题描述】:

我已经创建了一个rpm包,我需要将它发布到YUM,以便用户可以直接执行yum install softwareName来安装应用程序。我在谷歌上搜索但找不到很多资源。我对这件事很陌生,所以我真的不知道我想要做什么是可能的。我试图为应用程序创建一个本地 yum 存储库,但它似乎只适用于本地机器。有人可以帮忙吗?谢谢。

【问题讨论】:

  • 如果您的目标只是让其他用户可以安装此 rpm,您可以通过 GoogleDrive / DropBox / Web 服务器 / FTP 服务器等方式共享它。用户可以下载它,验证签名并通过 @ 安装它987654321@。不幸的是,我也不知道如何将您的 rpm 放入公共 RPM 存储库之一。

标签: centos rpm yum


【解决方案1】:

假设你已经在 Linux 机器上安装了 YUM。

您需要创建一个包含您的 RPM 的 YUM 存储库。例如,

./mydir/Packages/my.rpm

使用createrepo 为该目录创建存储库。

createrepo ./mydir

上面将在./mydir 中创建一个repodata 目录

然后通过在/etc/yum.repos.d/my.repo 中创建一个 repo 文件来告诉 YUM 该存储库在哪里。 my.repo 的内容可以是这样的:

[my_repo]
name=My YUM REPO
baseurl=file:///path/to/mydir
enabled=1

那么,yum --enablerepo=* clean all。这应该会为 yum 重新生成元数据。

最后,

`yum --enablerepo=* install my`

以上,my 指的是my.rpm

为了从网络上的其他机器访问这个,你需要一个网络访问,

安装http。将您的存储库放在某处,/var/www/html/repos/mydir/Packages/my.rpm

然后按照其他步骤编辑my.repo文件,将机器的hostname包含在baseurl属性中:

 baseurl=http://myrepository.com/mydir

【讨论】:

  • 谢谢!但是我收到了这样的错误:failure: repodata/repomd.xml from c7-media: [Errno 256] No more mirrors to try. file:///media/CentOS/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/CentOS/repodata/repomd.xml" file:///media/cdrom/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/cdrom/repodata/repomd.xml" file:///media/cdrecorder/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /media/cdrecorder/repodata/repomd.xml" 我正在 Docker 上测试这个,因为我使用的是 Mac。这是我收到错误的原因吗?谢谢!
  • 您可以在运行时通过执行 yum --enablerepo=* --disablerepo=c7-media install my 来禁用任何 repo。你也可以只使用你自己的 repo,yum --enablerepo=my_repo install my。您还可以禁用 /etc/yum.repos.d/name.repo 内的 repo 并标记 enabled=0
  • 只是小的修正——你应该尽可能使用createrepo_c。它的运行速度要快得多。
  • @iamauser 所以如果我有网络访问权限,其他机器如何安装我的包?他们是否还需要做上面列出的事情,比如拥有 rpm 包和创建 repo?非常感谢!
  • 另外,当我尝试安装 http 时,它显示 No package http available. 我该如何解决这个问题?谢谢您的帮助!我真的很感激。
猜你喜欢
  • 1970-01-01
  • 2015-03-29
  • 1970-01-01
  • 2018-06-03
  • 2012-06-24
  • 1970-01-01
  • 2014-09-24
  • 2012-08-13
  • 1970-01-01
相关资源
最近更新 更多