【问题标题】:How to reinstall rpm package?如何重新安装rpm包?
【发布时间】:2011-09-01 10:48:07
【问题描述】:

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

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

如何重新安装?

【问题讨论】:

  • 从本课中学习 :) 以后使用 rpm(8) 卸载软件包。使用 --force 选项变得友好......
  • 我学会了。哈哈:D..谢谢!顺便说一句,你能告诉我命令吗?是 rpm --force XXX.rpm 吗?它似乎不起作用
  • @Newbie 你必须告诉程序什么你想强制。 --force 被额外应用。

标签: package rpm reinstall


【解决方案1】:

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

更多详情are in the book.

【讨论】:

    【解决方案2】:

    你也可以点击:

    rpm -ivh --force [yourpackage.rpm]
    

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

    rpm -Uvh [yourpackage.rpm]
    

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

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

    rpm -Uvh --nodeps [yourpackage.rpm].
    

    【讨论】:

    • rpm -ivh --force [yourpackage.rpm] 是重新安装 RPM 包的最佳解决方案
    • 告诉无法安装软件包的 OP,因为它已经安装使用 --force 而不是 --replacepkgs(如已接受的答案中所建议)是错误的,因为 --force (...) 将 --replacepkgs 和 --replacefiles 添加到命令中。 (ftp.rpm.org/max-rpm/s1-rpm-install-additional-options.html) 因此使用它可能会导致覆盖作为不相关包的一部分安装的文件。使用--replacepkgs 更安全,在这种情况下应该足够了。
    【解决方案3】:

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

    来自RPM 4.12.0 Release Notes

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

    来自man rpm

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

    这会重新安装以前安装的包。

    【讨论】:

      【解决方案4】:

      你必须卸载软件的 rpm:

      rpm -e XXX.rpm
      

      然后安装它:

      rpm -i XXX.rpm
      

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

      rpm -qa |grep XXX 
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-02
        • 2012-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多