rpm 已安装/rpm 未安装问题

rpm 已安装/rpm 未安装问题

我在 Oracle Linux 6.5 机器上遇到了一些 rpm 问题。

我安装了 RPM,看起来已经安装成功。然而,现在我试图删除它,但 rpm 说它已经安装了。我试图通过包名称卸载它,而不是完整的 *.rpm 名称。前任:

[root@server06 ~]# rpm -ivh package-10.0.0B116-02202013-x64.rpm

Preparing...                ########################################### [100%]
        package custom-linux-9026-10.0.0-BUILD116.noarch is already installed

[root@server06 ~]# rpm -ql package-10.0.0B116-02202013-x64.rpm
package package-10.0.0B116-02202013-x64.rpm is not installed

[root@server06 ~]# rpm -q package-10.0.0B116
package package-10.0.0B116 is not installed

[root@server06 ~]# rpm -e package-10.0.0B116
error: package package-10.0.0B116 is not installed

所以系统不会让我再次安装它,因为它认为它已经存在,但也不会让我卸载它,因为它认为它不存在。

rpm -qa |grep -i package什么也不返回。

rpm --rebuilddb也没有帮助。

答案1

注意这一行:

package custom-linux-9026-10.0.0-BUILD116.noarch is already installed

因此,尽管文件名为 package-10.0.0B116-02202013-x64.rpm,但包(在 rpm 标头中)可能被命名为 custom-linux-9026-10.0.0-BUILD116。所以你必须打电话

rpm -e custom-linux-9026-10.0.0-BUILD116

答案2

如果您仍然有原始的 rpm 文件,请使用文件名从中提取软件包-qp名称,例如

$ rpm -qp ~/myrpm-1.0-05077.i586.rpm
myrpm-1.0-05077.i586

并尝试在 rpm 擦除中使用它,因为文件名可能与包名称不匹配。

答案3

rpm -aq | grep -i package.rpm如果仍然没有得到输出,则运行updatedb命令并重试

i如果忽略大小写将会

如果您想删除rpm请提供完整的包名称。

rpm -e package-10.0.0B116-02202013-x64.rpm

答案4

真正的问题似乎是您尝试删除的软件包实际上并未安装:

Preparing...                ########################################### [100%]
        package custom-linux-9026-10.0.0-BUILD116.noarch is already installed

而且包名好像是custom-linux-9026-10.0.0-BUILD116.noarch.

相关内容