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

разрешение зависимостей yum не работает

У меня есть рецепт от шеф-повара для загрузки некоторых рабочих узлов, которые я использовал довольно давно, и впервые за долгое время мне потребовалось увеличить размер рабочего пула, но я обнаружил, что новые узлы не были правильная загрузка из-за ошибки yum:

Error: Package: cyrus-sasl-md5-2.1.26-21.el7.x86_64 (abc-os)
           Requires: cyrus-sasl-lib(x86-64) = 2.1.26-21.el7
           Installed: cyrus-sasl-lib-2.1.26-20.el7_2.x86_64 (@abc-os)
               cyrus-sasl-lib(x86-64) = 2.1.26-20.el7_2

куда abc-os это наше внутреннее репо, поэтому мы можем заблокировать версии пакетов. Естественно, я предположил, что это проблема, но при проверке репо я обнаружил, что полный набор пакетов для обоих 21.el7 и 20.el7_2 присутствуют.

Кроме того, работает yum list available cyrus-sasl-md5 дает:

cyrus-sasl-md5.i686       2.1.26-20.el7_2    abc-os
cyrus-sasl-md5.x86_64     2.1.26-21.el7      abc-os

И запрос файла sqlite репо в /var/cache/yum/x86_64/7/abc-os/gen возвращает:

sqlite> SELECT name, arch, version, epoch, release FROM packages WHERE name LIKE 'cyrus%' ORDER BY arch, version, epoch, release, name;
cyrus-sasl-lib  i686        2.1.26      0           17.el7
cyrus-sasl-lib  i686        2.1.26      0           20.el7_2
cyrus-sasl-md5  i686        2.1.26      0           20.el7_2
cyrus-sasl-pla  i686        2.1.26      0           20.el7_2
cyrus-sasl      x86_64      2.1.26      0           17.el7
cyrus-sasl-dev  x86_64      2.1.26      0           17.el7
cyrus-sasl-lib  x86_64      2.1.26      0           17.el7
cyrus-sasl      x86_64      2.1.26      0           20.el7_2
cyrus-sasl-dev  x86_64      2.1.26      0           20.el7_2
cyrus-sasl-lib  x86_64      2.1.26      0           20.el7_2
cyrus-sasl-md5  x86_64      2.1.26      0           20.el7_2
cyrus-sasl-pla  x86_64      2.1.26      0           20.el7_2
cyrus-sasl      x86_64      2.1.26      0           21.el7
cyrus-sasl-dev  x86_64      2.1.26      0           21.el7
cyrus-sasl-lib  x86_64      2.1.26      0           21.el7
cyrus-sasl-md5  x86_64      2.1.26      0           21.el7
cyrus-sasl-pla  x86_64      2.1.26      0           21.el7

На данный момент я не понимаю, почему это происходит, и что делать, чтобы разобраться в этом дальше.

Для справки - это CentOS 7.2 x86_64.

Проблема оказалась в том, что кто-то настроил блокировка версии yum конфигурация всего за cyrus-sasl-lib но ни один из других пакетов cyrus, что, кажется, привело к тому, что yum не смог правильно определить версии.

Вероятно, лучшим вариантом было бы добавить в другие пакеты с соответствующими версиями, но поскольку эти конкретные пакеты не имеют большого значения для текущего воплощения этой платформы, я просто удалил cyrus-sasl-lib от блокировки версии вообще. Теперь yum устанавливает / обновляет все до последней версии, и экземпляры снова загружаются без проблем.

cyrus-sasl-md5-2.1.26-21.el7.x86_64 требует, чтобы cyrus-sasl-lib был на версии 2.1.26-21, но у вас есть другая версия (2.1.26-20).

Я думаю, вам следует удалить cyrus-sasl-lib и переустановить с хорошей версией.