Как исправить проблему с зависимостями с частично завершенным yum-обновлением glibc

Сегодня утром я попытался обновить свой рабочий веб-сервер (t2 с Amazon Linux), но это не удалось, потому что у меня закончилась оперативная память (все это было в php-fpm). Я остановил php-fpm, чтобы освободить часть оперативной памяти, но обновление yum не завершается. Сервер работает нормально, но я бы хотел решить эту проблему.

# yum update
Resolving Dependencies
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.17-106.168.amzn1 will be updated
--> Processing Dependency: glibc-headers = 2.17-106.168.amzn1 for package: glibc-devel-2.17-106.168.amzn1.x86_64
---> Package glibc-headers.x86_64 0:2.17-157.169.amzn1 will be an update
--> Finished Dependency Resolution
Error: Package: glibc-devel-2.17-106.168.amzn1.x86_64 (@amzn-main)
       Requires: glibc-headers = 2.17-106.168.amzn1
       Removing: glibc-headers-2.17-106.168.amzn1.x86_64 (@amzn-main)
           glibc-headers = 2.17-106.168.amzn1
       Updated By: glibc-headers-2.17-157.169.amzn1.x86_64 (amzn-updates)
           glibc-headers = 2.17-157.169.amzn1
You could try using --skip-broken to work around the problem
** Found 6 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-devel-2.17-106.168.amzn1.x86_64 has missing requires of glibc(x86-64) = ('0', '2.17', '106.168.amzn1')
glibc-devel-2.17-157.169.amzn1.x86_64 is a duplicate with glibc-devel-2.17-106.168.amzn1.x86_64
glibc-devel-2.17-157.169.amzn1.x86_64 has missing requires of glibc-headers = ('0', '2.17', '157.169.amzn1')
glibc-headers-2.17-106.168.amzn1.x86_64 has missing requires of glibc(x86-64) = ('0', '2.17', '106.168.amzn1')
subversion-1.9.4-2.55.amzn1.x86_64 has missing requires of subversion-libs(x86-64) = ('0', '1.9.4', '2.55.amzn1')
subversion-1.9.5-1.56.amzn1.x86_64 is a duplicate with subversion-1.9.4-2.55.amzn1.x86_64

Вот установленные пакеты glibc

# rpm -qa | grep glibc
glibc-devel-2.17-157.169.amzn1.x86_64
glibc-devel-2.17-106.168.amzn1.x86_64
glibc-common-2.17-157.169.amzn1.x86_64
glibc-headers-2.17-106.168.amzn1.x86_64
glibc-2.17-157.169.amzn1.x86_64

Одна проблема заключается в том, что установлены две разные версии glibc-devel. Также похоже, что некоторые части glibc находятся в версии 106, а другие - в версии 157.

Я перезагрузил сервер, что, как и ожидалось, не имело никакого значения, но попробовать стоило. Я выполнил следующее, но безрезультатно

yum-complete-transaction
yum-complete-transaction --cleanup-only
yum clean all

В прошлом у меня были похожие проблемы, но с менее важными пакетами. Я просто удаляю их все, а они снова устанавливают. Я не Я не верю, что это возможно с glibc, так как от этого зависит очень многое.

Я просмотрел форумы Centos, и один из вариантов, похоже, понижает версию некоторых пакетов до , понижает версию некоторых пакетов , но я не делаю этого. Не знаю, есть ли лучший вариант. Поскольку это мой рабочий сервер, я был бы признателен за совет, прежде чем пытаться это сделать. Если это хороший подход, то какие пакеты мне следует перейти на более раннюю? Что мне делать после перехода на более раннюю версию, регулярного обновления yum?

Обратите внимание, что у меня есть регулярные резервные копии, и я могу восстанавливать из последней резервной копии, если требуется, но я бы предпочел не делать этого, так как мне придется переделывать некоторые SSL работа с сертификатом, которая была немного сложной. Я планирую перейти на Ubuntu и использовать CloudFormation для создания сервера в будущем, поэтому, если сервер выйдет из строя, я могу просто создать другой, но это задача будущего.

0
задан 8 February 2017 в 19:58
2 ответа

Спасибо за предложение использовать откат. Я попробовал, но откатить не удалось.

Я создал другой экземпляр виртуальной машины и попытался сделать что-то вручную. Заметив сверху, что у меня было две версии glibc-devel, я сделал следующее

yum remove glibc-devel-2.17-157.169.amzn1.x86_64
yum update glibc-devel-2.17-106.168.amzn1.x86_64

В этот момент я сделал «yum check», и он сказал мне, что есть проблема с подрывом.

yum remove subversion
yum install subversion
yum clean all
yum check

Кажется, это решено. проблема.

1
ответ дан 4 December 2019 в 13:35

У меня только что возникла похожая проблема с glibc-common-2.17-106.1.169.amzn1.x86_64, будучи нарушенной инсталляцией, где все остальные версии glibc, где @ 2.17-55.

Переустановка glibc-common-2.17-106.1.169.amzn1.x86_64, спровоцировала правильное разрешение зависимостей и исправила конфликт.

1
ответ дан 4 December 2019 в 13:35

Теги

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