yum 正在解决问题-软件包已安装吗?

yum 正在解决问题-软件包已安装吗?

在尝试执行“yum update”时,我开始在多个系统上遇到以下错误:

--> Running transaction check
--> Processing Dependency: freetype = 2.2.1-28.el5_5 for package: freetype-devel
---> Package freetype.i386 0:2.2.1-28.el5_5.1 set to be updated
--> Finished Dependency Resolution
freetype-devel-2.2.1-28.el5_5.i386 from installed has depsolving problems
  --> Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)
Error: Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)

这对我来说没有任何意义,因为当我尝试安装“丢失”的包时,我被告知它已经存在。

Setting up Install Process
Package freetype-2.2.1-28.el5_5.i386 already installed and latest version
Nothing to do

我已经尝试过“yum clean all”但没有任何变化,以及 yum 建议的包清理命令。

有人能帮助我进一步诊断或解决这个问题吗?

答案1

它告诉你:

  1. 它想要升级 freetype 版本 2.2.1-28.el5_5.1 — 注意 .1。
  2. 已安装 freetype-devel 2.2.1-28.el5_5(旧版本),并且
  3. freetype-devel 2.2.1-28.el5_5 (旧版本) 需要 freetype 2.2.1-28.el5_5 (旧版本)

由于第一步将删除 的旧版本freetype,因此旧版本freetype-devel仍会损坏。因此它被淘汰。

问题是:为什么它不尝试将 freetype-devel 更新到新版本?

freetype 和 freetype-devel 都有 i386 和 x86_64 软件包,因此不应该会导致冲突,但有时候那里会出问题。如果您使用的是 x86_64 并且不需要 i386 包,则删除它可能会解决问题。

但最简单的方法可能是删除 freetype-devel,除非你现在正在编译与 freetype 链接的东西。更新成功完成后,你可以尝试单独安装它,如果出现问题,这将是一个更直接的问题。

答案2

您使用的是 64 位系统吗?如果是这样,如果您同时安装了 i386 和 x86_64 版本的软件包,您可能会遇到奇怪的行为。您可以尝试删除 i386 freetype 软件包,如下所示:

yum remove freetype.i386

这可能会删除额外的 i386 软件包,但如果你使用的是 x86_64 系统,这没问题。事实上,我经常会删除全部i386 软件包如下:

yum 删除 $(rpm -qa --qf='%{NAME}-%{VERSION}.%{ARCH}\n' | grep '.i386$')

您可以通过设置multilib_policy来阻止将来安装 i386 软件包:best/etc/yum.conf

multilib_policy=best

相关内容