Пытаясь выполнить «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.
Может ли кто-нибудь помочь мне в дальнейшей диагностике или решении этой проблемы?
Он говорит вам, что:
Поскольку первый шаг удалит старую версию 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