【问题标题】:Corresponding package names in "yum" from "apt-get"来自“apt-get”的“yum”中对应的包名
【发布时间】:2019-06-15 00:15:24
【问题描述】:

我的程序在 Ubuntu 中有以下依赖项:

apt-get install unzip wget
apt-get install mesa-common-dev -y
apt-get install libglu1-mesa-dev -y
apt-get install libfontconfig1 -y
apt-get install libglib2.0-0 -y
apt-get install libxcursor-dev libxtst-dev libxi-dev libxrender-dev -y
apt-get install libxss-dev libxcomposite-dev libxslt1-dev -y
apt-get install libasound2-dev -y

现在我还需要在使用“yum”而不是“apt-get”的 RHEL 上进行部署,所以我的问题是上面使用的所有软件包的“yum”等价物是什么。是否有映射它们的表?基本上对于上面的每个包,我想知道或如何找出“yum”存储库等效项。

另外,如果我正在使用 BuildRequires 编写 SPEC 文件...它们都是 yum 包名称吗,因为 RPM 主要用于 RedHat?

【问题讨论】:

    标签: ubuntu-14.04 redhat yum apt-get rhel7


    【解决方案1】:

    RHEL 变体将使用 -devel 约定,而不是来自 debian 世界的 -dev。除了名称相似之外,yum search PKG 会指出正确的方向

    如果事情变得困难,您可以使用dpkg -L PKG,获取一个密钥文件并使用yum whatprovides FILE 找出提供该文件的软件包。

    【讨论】:

    • 感谢您的回复...非常感谢。我通过:rosindex.github.io 找出了从“apt-get”到“yum”的所有映射。我确实有一个后续问题...在 RPM 的 SPEC 文件中...“BuildRequire”的包名称主要在“yum”repo 或“apt-get”中还是可以是?
    • 所以对于我的 RPM SPEC 文件,我使用的是 Ubuntu 14.04+、RHEL 7+ 和 CentOS 7+...现在在我的 SPEC 文件中如何在处理包时包含条件名字。例如,如果我是 Ubuntu,我想 BuildRequire apt-get 特定的包名,而不是 Red Hat 的“yum”包名。
    • 你有一些选择,使用条件就是其中之一:stackoverflow.com/questions/22991975/…。您还可以拆分规范以支持多个主机,我猜它会构建多个 RPM 文件,每个文件都有自己的构建需要。我不明白的是你正在为 ubuntu 构建一个 rpm?这对我来说没有意义:/
    • 我会解除你的困惑。我正在抛弃条件......我们的 RPM 规范文件中的所有内容都需要在 yum 中用于 RedHat。我只是有点困惑。我们的构建服务器在 Ubuntu 中,但我们正在尝试支持所有构建类型,所以当我们构建时,我们会生成一个 tar、deb 和一个 RPM 文件。你是对的 RPM 内容不应该用于 Ubuntu。
    • 哦,我明白了,您也许可以从一台机器构建多个 RPMS。看看tito [1]和mock [2],它可能会对你有所帮助:[1] github.com/dgoodwin/tito [2] github.com/rpm-software-management/mock/wiki
    猜你喜欢
    • 2012-10-30
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2014-09-27
    • 2014-10-31
    • 2017-01-07
    相关资源
    最近更新 更多