我已经安装了一个来自于.rpm文件的软件包,它被存储在/opt目录下。
在进行一些配置后,我发现需要重新安装该软件。因此,我删除了该目录,并尝试使用rpm -i XXX.rpm
命令重新安装该文件。但是它告诉我package xxx已经安装
。
如何重新安装它?
尝试使用以下命令安装软件包:rpm -iv --replacepkgs <packagefile>
。
更多详细信息请参考相关书籍。
你也可以尝试点击以下链接:
rpm -ivh --force [yourpackage.rpm]
这种方法可以安全地用所需的新软件包覆盖旧的已安装软件包。 此外,如果您希望同时安装和升级,请使用以下选项:
rpm -Uvh [yourpackage.rpm]
这将使您能够同时安装包括任何升级。
另一个额外的提示:您可能会遇到错误情况,其中升级取决于另一个升级,而另一个升级又依赖于您要安装的那个升级,从而导致"依赖关系升级回路"。为了避免这种情况,请执行以下操作:
rpm -Uvh --nodeps [yourpackage.rpm].
--force
而不是 --replacepkgs
(如已接受的答案中所建议)是错误的,因为 --force
(...) 将 --replacepkgs
和 --replacefiles
添加到命令中。(http://ftp.rpm.org/max-rpm/s1-rpm-install-additional-options.html) 因此使用它可能会覆盖作为不相关软件包的一部分安装的文件。在这种情况下,使用 --replacepkgs
更安全,应该足够了。 - Piotr Dobrogost--reinstall
选项。从新增了
--reinstall
模式,可以处理更改文件策略(RhBug:966715)
man rpm
中得知:
rpm {--reinstall} [install-options] PACKAGE_FILE ...
重新安装之前已安装的软件包。
你需要卸载软件的rpm包:
rpm -e XXX.rpm
rpm -i XXX.rpm
rpm -qa |grep XXX
其中XXX是软件名称或部分名称。这将显示机器上已经安装的版本。
--force
会额外应用。 - glglgl