rpm 无法判断软件包是否已安装

rpm 无法判断软件包是否已安装

rpm -i jdk-6u45-linux-amd64.rpm继续运行CentOS 7.0.1406给了我:

package jdk-2000:1.6.0_45-fcs.x86_64 is already installed

然而运行rpm -ql jdk-6u45-linux-amd64.rpm给出:

package jdk-6u45-linux-amd64.rpm is not installed

Java注意:此计算机上已安装较新版本。

答案1

正确的语法是

rpm -ql jdk-6u45-linux-amd64

如果这不起作用,那么实际安装的是jdk-2000:1.6.0_45-fcs.x86_64.

我不确定您从哪里获得您所指的文件,但在查看 Java 网站时,该文件实际上不是,jdk-6u45-linux-amd64.rpmjdk-6u45-linux-amd64.rpm.bin也没有随rpm.

答案2

rpm -i接受作为参数 a文件名

rpm -q接受作为参数 a包裹名字

请注意,文件名并不强制使用包名称,反之亦然。

你可以:

mv jdk-6u45-linux-amd64.rpm some-fancy-name.rpm
rpm -i some-fancy-name.rpm

你仍然会得到同样的错误。因为文件名不会改变文件内部的包数据。即包名。

您可以使用以下命令查询包名称-qp

rpm -qp jdk-6u45-linux-amd64.rpm

或者您可以添加-i以获得更多信息。

在你的情况下,输出可能是jdk-2000.

您可以使用以下方式查询:

rpm -ql jdk-2000

相关内容