我建立一个rpm,我有一些要求,其中一些并不是真的有效: 这是我在规范文件中写的内容:
Requires : java-1.8.0-openjdk = 1.8.0.65-3.b17.el7
Requires : apache-tomcat = 8.0.24-8.el7
Requires : postgresql-server = 9.2.14-1.el7_1
Requires : PyGreSQL = 4.0-9.el7
Requires : systemd-units
Requires : logrotate = 3.8.6-6.el7
Requires : influxdb = 0.9.4.2-6
Requires : kafka = 0.8.2.0-6.el7
Requires : curl = curl-7.29.0-25.el7
Requires : python-iptools = 0.6.1-1.el7
Requires : shadow-utils = 4.1.5.1-18.el7
当我尝试使用以下命令安装rpm时:
yum --nogpgcheck localinstall $myrpm
我收到以下错误:
Error: Package: $myrpm (/$myrpm)
Requires: curl = curl-7.29.0-25.el7
Installed: curl-7.29.0-25.el7.x86_64 (@anaconda/7.1)
curl = 7.29.0-25.el7
Available: curl-7.29.0-19.el7.x86_64 (rhel-7-1-base)
curl = 7.29.0-19.el7
Error: Package: $myrpm (/$myrpm)
Requires: java-1.8.0-openjdk = 1.8.0.65-3.b17.el7
Available: 1:java-1.8.0-openjdk-1.8.0.31-1.b13.el7.centos.x86_64 (pd-3rdparty)
java-1.8.0-openjdk = 1:1.8.0.31-1.b13.el7.centos
Available: 1:java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64 (rhel-7-1-base)
java-1.8.0-openjdk = 1:1.8.0.31-2.b13.el7
Available: 1:java-1.8.0-openjdk-1.8.0.45-30.b13.el7_1.x86_64 (pd-3rdparty)
java-1.8.0-openjdk = 1:1.8.0.45-30.b13.el7_1
Available: 1:java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64 (rhel-7-server-rpms)
java-1.8.0-openjdk = 1:1.8.0.65-3.b17.el7
Error: Package: $myrpm (/$myrpm)
Requires: shadow-utils = 4.1.5.1-18.el7
Installed: 2:shadow-utils-4.1.5.1-18.el7.x86_64 (@anaconda/7.1)
shadow-utils = 2:4.1.5.1-18.el7
rpm -qpR $myrpm
/bin/bash
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/usr/bin/env
/usr/bin/python
PyGreSQL = 4.0-9.el7
apache-tomcat = 8.0.24-8.el7
config(pd-sys-mgmt) = 1.0.837-cobradrop1.801b7ff8+
curl = curl-7.29.0-25.el7
influxdb = 0.9.4.2-6
java-1.8.0-openjdk = 1.8.0.65-3.b17.el7
kafka = 0.8.2.0-6.el7
logrotate = 3.8.6-6.el7
osgi(org.eclipse.persistence.core)
postgresql-server = 9.2.14-1.el7_1
python-iptools = 0.6.1-1.el7
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
shadow-utils = 4.1.5.1-18.el7
systemd-units
rpmlib(PayloadIsXz) <= 5.2-1
答案 0 :(得分:2)
我相信您的curl = curl-7.29.0-25.el7
条目不应该在右侧curl
。它不是版本字符串的一部分。
您的java-1.8.0-openjdk
要求似乎缺少主要纪元价值1
(请参阅yum输出中的1:1.8.0.65-3.b17.el7
)。 (虽然如果你真的需要包含它,我会有点惊讶。)
同样shawdow-utils
似乎缺少前导2
时代(请参阅yum输出中的2:4.1.5.1-18.el7
)。
所有人都说你的要求非常特别,这可能是一个坏主意。这意味着您无法在安装软件包时更新任何软件包(无需重新构建),即使您打包的内容很可能也可以使用更新的版本。