46

我已经从.rpm文件安装了一个包,它存储在/opt中。

经过一些配置,我发现我需要重新安装软件。所以我删除了目录并尝试使用rpm -i XXX.rpm. 但它告诉我package xxx is already installed

我怎样才能重新安装它?

4

4 回答 4

77

试试:rpm -iv --replacepkgs <packagefile>

更多细节在书中

于 2011-05-25T04:39:51.517 回答
13

你也可以打:

rpm -ivh --force [yourpackage.rpm]

它会用所需的新包安全地覆盖旧安装的包。此外,如果您希望同时安装和升级,那么下一个选项:

rpm -Uvh [yourpackage.rpm]

将使您能够同时安装包括任何升级。

另一个额外提示:您可能会遇到错误情况,即升级依赖于另一个,而另一个又依赖于另一个,反过来又取决于您要安装的那个,从而导致“依赖升级循环”。为了避免这种打击:

rpm -Uvh --nodeps [yourpackage.rpm].
于 2018-04-12T11:44:24.840 回答
8

从版本 4.12.0 开始,有--reinstall选项。

RPM 4.12.0 发行说明

--reinstall可以处理更改文件策略的新模式 ( RhBug:966715 )

来自man rpm

rpm {--reinstall} [install-options] PACKAGE_FILE ...

这将重新安装以前安装的软件包。

于 2017-11-15T14:48:18.620 回答
1

您必须卸载软件的 rpm:

rpm -e XXX.rpm

然后安装它:

rpm -i XXX.rpm

下次当您不确定机器上是否已经存在该软件时,请务必检查使用:

rpm -qa |grep XXX 

其中 XXX 是软件名称或名称的一部分。这将为您提供机器上已经存在的版本。

于 2014-09-17T22:29:45.430 回答