我有一个要安装的 RPM。安装内容如下deplist
:
$ yum deplist path/to/my/rpm
....
dependency: jre*headless >= 1:1.8.0
provider: java-1.8.0-openjdk-headless.i686 1:1.8.0.45-40.b14.fc20
provider: java-1.7.0-openjdk-headless.i686 1:1.7.0.79-2.5.5.0.fc20
这很令人困惑——为什么java-1.7.0-openjdk-headless.i686
被选中?
$ repoquery --provides java-1.7.0-openjdk-headless.i686 | grep headless
config(java-1.7.0-openjdk-headless) = 1:1.7.0.79-2.5.5.0.fc20
java-1.7.0-headless = 1:1.7.0.79-2.5.5.0.fc20
java-1.7.0-openjdk-headless = 1:1.7.0.79-2.5.5.0.fc20
java-1.7.0-openjdk-headless(x86-32) = 1:1.7.0.79-2.5.5.0.fc20
java-headless = 1:1.7.0
java-openjdk-headless = 1:1.7.0.79-2.5.5.0.fc20
jre-1.7.0-headless = 1:1.7.0.79-2.5.5.0.fc20
jre-1.7.0-openjdk-headless = 1:1.7.0.79-2.5.5.0.fc20
jre-headless = 1:1.7.0
jre-openjdk-headless = 1:1.7.0.79-2.5.5.0.fc20
据我所知,没有提供 1:1.8.0。我还尝试了:
$ rpmdev-vercmp 1:1.8.0 1:1.7.0.79-2.5.5.0.fc20
1:1.8.0 > 1:1.7.0.79-2.5.5.0.fc20
$ rpmdev-vercmp 1:1.8.0 1:1.7.0
1:1.8.0 > 1:1.7.0
因此 RPM 版本比较似乎有效......
为何 yum 选择旧版本的 JRE?