如何重新安装rpm包?

时间:2011-05-25 04:26:40

标签: package rpm reinstall

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

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

如何重新安装?

5 个答案:

答案 0 :(得分:60)

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

更多详情are in the book

答案 1 :(得分:3)

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

来自RPM 4.12.0 Release Notes

  

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

来自man rpm

  

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

     

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

答案 2 :(得分:2)

你也可以点击:

rpm -ivh --force [yourpackage.rpm]

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

rpm -Uvh [yourpackage.rpm]

将允许您同时安装包括任何升级。

另一个额外提示:您可能会遇到错误情况,其中升级依赖于另一个升级依赖于另一个升级并且依赖于您要安装的那个因此导致“依赖性升级循环 ”。为了避免这种打击:

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

答案 3 :(得分:0)

你必须卸载该软件的rpm:

rpm -e XXX.rpm

然后安装它:

rpm -i XXX.rpm

下次当您不确定机器上已有软件时,请务必使用以下方法检查:

rpm -qa |grep XXX 

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

答案 4 :(得分:0)

    <div class="row" >
    <div  *ngFor='let image of welcomeDisplay; 
let i = index' [ngClass]="image.status !== sTab.status ? 'col-4':''">
       <div class="card" *ngIf='image.status == sTab.status'>
          <div class="card-title">
             <p>Index : {{ i }}</p>
             <small>Title : {{ image.title }}</small>
          </div>
          <div class="card-body">
             <img src="{{imageURL}}{{image.imgSrc}}" 
                [alt]="image.originalname">                     
          </div>
       </div>
    </div>