У меня есть рецепт от шеф-повара для загрузки некоторых рабочих узлов, которые я использовал довольно давно, и впервые за долгое время мне потребовалось увеличить размер рабочего пула, но я обнаружил, что новые узлы не были правильная загрузка из-за ошибки 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 и переустановить с хорошей версией.