Вопрос или проблема
Когда я пытаюсь установить пакет mysql-devel, выполняя
/usr/bin/yum install -y --disablerepo=* --enablerepo=base mysql-devel
это завершается с следующими ошибками.
...
...
--> Завершено разрешение зависимостей
Ошибка: Пакет: glibc-2.12-1.80.el6.i686 (base)
Требуется: glibc-common = 2.12-1.80.el6
Установлено: glibc-common-2.12-1.80.el6_3.5.x86_64 (@updates)
glibc-common = 2.12-1.80.el6_3.5
Доступно: glibc-common-2.12-1.80.el6.x86_64 (base)
glibc-common = 2.12-1.80.el6
Вы можете попробовать использовать --skip-broken, чтобы обойти проблему
Вы можете попробовать выполнить: rpm -Va --nofiles --nodigest
Что это значит? Я не могу это понять.
Я думаю, что он ищет пакет x86, в то время как у вас пакет x64.
Попробуйте выполнить напрямую
yum install glibc-2.12-1.80.el6
или
yum install glibc-2.12-1.80.el6.i686
Предположительно, это система x86_62, работающая на x86_64 CentOS. Она пытается установить пакет i686 для glibc, который зависит от glibc-common. У вас есть более новая версия glibc-common для x86_64, чем та, которая требуется для i686, и поскольку пакеты для различных архитектур должны быть строго синхронизированы, установка завершается неудачей. Почему для mysql-devel нужен i686, я не понимаю.
Вы пробовали полностью обновить систему перед тем, как попробовать снова? Может быть, вам не повезло, и обновления для i686 еще не появились. Попробуйте выполнить:
yum clean metadata # Очищает кэш последних версий и тому подобное для yum
yum -y update –skip-broken # Должно обновить все
yum install mysql-devel
Если это все еще не сработает, подробности команд и полный вывод, вероятно, помогут в диагностике проблемы.
Рассмотрите возможность установки yum-utils, программа package-cleanup помогает поддерживать систему в чистоте (избавляться от остатков от неудачных обновлений и тому подобное).
Ответ или решение
Когда вы пытаетесь установить пакет mysql-devel
, возникла ошибка разрешения зависимостей, указывающая на проблему совместимости между установленными пакетами glibc
и glibc-common
. Давайте разберемся с причиной проблемы и возможными решениями.
Проблема
Ваша система, вероятно, использует архитектуру x86_64, и система пытается установить 32-битную версию пакета glibc
. В частности, вывод ошибки показывает, что пакет glibc-2.12-1.80.el6.i686
требует наличия glibc-common = 2.12-1.80.el6
, однако у вас установлена более новая версия glibc-common-2.12-1.80.el6_3.5.x86_64
.
Возможные решения
-
Обновление системы: Иногда зависимость может быть разрешена с помощью обновления всех пакетов до последних версия. Это может помочь в случае, если соответствующие пакеты уже доступны в репозиториях.
Выполните следующие команды:
yum clean metadata # Очищает кэш обновлений yum yum -y update --skip-broken # Обновляет все пакеты, пропуская поврежденные
-
Установка пакета glibc: Попробуйте установить конкретную версию
glibc
, которая может решить проблему с зависимостями.Выполните одну из следующих команд:
yum install glibc-2.12-1.80.el6.i686
-
Использование опции –skip-broken: Вы можете попробовать установить
mysql-devel
, пропуская неисправные зависимости.Выполните следующую команду:
yum install mysql-devel --skip-broken
-
Проверка совместимости пакетов: Установите утилиты для управления пакетами, такие как
yum-utils
, которые могут помочь в управлении зависимостями и очистке системы от ненужных пакетов.Установите утилиты с помощью:
yum install yum-utils
-
Синхронизация архитектур: Поскольку проблема связана с архитектурой (i686 и x86_64), убедитесь, что у вас установлены все необходимые пакеты обеих архитектур в нужных версиях, либо сосредоточьтесь на установке 64-битной версии, если это возможно и подходит для ваших нужд.
-
Подробная информация: Если ни одно из вышеуказанных решений не подходит, вам следует предоставить больше информации о ваших текущих пакетах и полных выводах команд, чтобы мы могли помочь более точно.
Заключение
Ошибки разрешения зависимостей в системе управления пакетами, такой как yum
, могут быть неприятными, но с помощью вышеперечисленных шагов можно разобраться с ними. Если у вас есть дополнительные вопросы или возникают проблемы, не стесняйтесь обращаться за помощью.