yum dependency resolution not working

I've got a chef recipe to bootstrap some worker nodes that I've been using for quite some time, and for the first time in a while I needed to increase the size of my worker pool, but found that the new nodes were not bootstrapping properly due to the yum error:

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

Where abc-os is our internal repo so we can lock down package versions. Naturally I assumed that this was the problem, but on checking into the repo I found that the complete set of packages for both 21.el7 and 20.el7_2 are present.

Furthermore running yum list available cyrus-sasl-md5 gives:

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

And querying the repo's sqlite file in /var/cache/yum/x86_64/7/abc-os/gen returns:

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

At the moment I'm stumped as to why this is happening, and what to do to dig into this further.

For reference, the OS is CentOS 7.2 x86_64.

1
задан 11 April 2018 в 23:14
2 ответа

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

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

.
0
ответ дан 4 December 2019 в 04:05

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

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

.
0
ответ дан 4 December 2019 в 04:05

Теги

Похожие вопросы