![无法找到已安装的软件包](https://linux22.com/image/56481/%E6%97%A0%E6%B3%95%E6%89%BE%E5%88%B0%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85.png)
我刚刚创建了一个 RPM 并将其 scp 到我工作的一台服务器上。我已经前进并完成了:
sudo rpm --install supportScripts-0.1-1.noarch.rpm
一切都安装得很好。但是当我使用查询找到它时:
rpm -q supportScripts-0.1-1.noarch.rpm
package supportScripts-0.1-1.noarch.rpm is not installed
这就是我得到的。所以我尝试再次安装它,我得到:
[root@slu support]# rpm --install supportScripts-0.1-1.noarch.rpm
package supportScripts-0.1-1 is already installed
任何人都可以帮我找到该软件包的安装位置以及为什么查询表明该软件包未安装?
更新:我尝试看看是否可以删除 rpm:
[root@slu support]# rpm --erase supportScripts-0.1-1.noarch.rpm
error: package supportScripts-0.1-1.noarch.rpm is not installed
我不明白为什么一个消息来源说它已安装,而另一个消息来源却说它没有安装。这是令人困惑和令人沮丧的。
答案1
查询时,仅提供包的名称,而不提供其所在的 rpm 文件的名称:
rpm -q supportScripts-0.1-1
(要不就rpm -q supportScripts
)。
编辑:获取已安装包中包含的文件列表:
rpm -ql supportScripts
答案2
阅读手册页时您需要更加注意 - 它是:
rpm --install PACKAGE_FILE
和
rpm --query PACKAGE_NAME
包名称不包含.rpm
后缀,通常被理解为只是名称,没有任何版本控制/架构信息。当不确定包名称到底是什么时,请使用例如
rpm -qa | grep part_of_name
它将列出所有已安装的软件包,并仅过滤掉那些与您的搜索模式匹配的软件包。