Назад | Перейти на главную страницу

yum depsolving issues - пакет уже установлен?

Пытаясь выполнить «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. Он хочет обновить 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 до новой версии?

Есть пакеты i386 и x86_64 для freetype и freetype-devel, так что не должен быть причиной конфликта, но, э, иногда там все идет не так. Если вы используете x86_64 и вам не нужен пакет i386, его удаление может прояснить ситуацию.

Но проще всего снова начать работать, вероятно, удалить freetype-devel, если вы не компилируете прямо сейчас вещи, которые связаны с freetype. После успешного завершения обновления вы можете попробовать установить его отдельно, если возникнут проблемы, решить их будет проще.

Вы используете 64-битную систему? Если это так, вы можете столкнуться со странным поведением, если у вас установлены версии пакета i386 и x86_64. Вы можете попробовать просто удалить пакет i386 freetype, например:

yum remove freetype.i386

Это может удалить дополнительные пакеты i386, но если вы работаете в системе x86_64, это нормально. На самом деле я часто удаляю все пакеты i386 вроде этого:

yum remove $ (rpm -qa --qf = '% {ИМЯ} -% {ВЕРСИЯ}.% {ARCH} \ n' | grep '.i386 $')

Вы можете предотвратить установку пакетов i386 в будущем, установив multilib_policy к best в /etc/yum.conf:

multilib_policy=best