我在 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
.