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

yum не будет обновлять мои пакеты glibc

Есть ли способ исправить испорченную "ням"? Это то, во что я попал, случайно нажав ctrl + c при выполнении sudo yum update на экземпляре amazon linux EC2

$ sudo yum update
Loaded plugins: priorities, update-motd, upgrade-helper
2216 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.17-36.80.amzn1 will be updated
--> Processing Dependency: glibc = 2.17-36.80.amzn1 for package: glibc-common-2.17-36.80.amzn1.x86_64
---> Package glibc.x86_64 0:2.17-36.80.amzn1 will be updated
--> Processing Dependency: glibc = 2.17-36.80.amzn1 for package: glibc-common-2.17-36.80.amzn1.x86_64
---> Package glibc.i686 0:2.17-36.81.amzn1 will be an update
---> Package glibc.x86_64 0:2.17-36.81.amzn1 will be an update
---> Package glibc-devel.x86_64 0:2.17-36.80.amzn1 will be updated
---> Package glibc-devel.x86_64 0:2.17-36.81.amzn1 will be an update
---> Package glibc-headers.x86_64 0:2.17-36.80.amzn1 will be updated
---> Package glibc-headers.x86_64 0:2.17-36.81.amzn1 will be an update
---> Package nss-softokn-freebl.i686 0:3.14.3-9.15.amzn1 will be updated
---> Package nss-softokn-freebl.i686 0:3.16.0-1.19.amzn1 will be an update
---> Package perl-ExtUtils-Install.noarch 0:1.58-280.34.amzn1 will be updated
---> Package perl-ExtUtils-Install.noarch 0:1.58-280.36.amzn1 will be an update
--> Finished Dependency Resolution
Error: Package: glibc-common-2.17-36.80.amzn1.x86_64 (@amzn-main)
           Requires: glibc = 2.17-36.80.amzn1
           Removing: glibc-2.17-36.80.amzn1.i686 (@amzn-main)
               glibc = 2.17-36.80.amzn1
           Updated By: glibc-2.17-36.81.amzn1.i686 (amzn-updates)
               glibc = 2.17-36.81.amzn1
 You could try using --skip-broken to work around the problem
** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-common-2.17-36.81.amzn1.x86_64 is a duplicate with glibc-common-2.17-36.80.amzn1.x86_64
glibc-common-2.17-36.81.amzn1.x86_64 has missing requires of glibc = ('0', '2.17', '36.81.amzn1')
nss-softokn-freebl-3.16.0-1.19.amzn1.x86_64 is a duplicate with nss-softokn-freebl-3.14.3-9.15.amzn1.x86_64
2:vim-filesystem-7.4.027-2.28.amzn1.x86_64 is a duplicate with 2:vim-filesystem-7.4.027-2.27.amzn1.x86_64

У вас есть повторяющиеся пакеты и, возможно, другие повреждения. Попробуйте эти команды:

package-cleanup --cleandupes  # Removes duplicate packages
rpm --rebuilddb               # Rebuilds RPM database
yum reinstall glibc nss-softokn-freebl vim-filesystem

Когда это сработает, посмотрите, доволен ли yum:

yum check dependencies

Если он жалуется на зависимости, сначала установите их.

нано /etc/yum.conf

Ищите releasever = latest

Если есть комментарий (#), удалите его.

Затем повторите ответ Янне Пиккарайнен выше.

Пожалуйста попробуйте

sudo yum clean all
sudo yum update

Я был в той же лодке после прерывания обновления yum, которое работало над glibc. Деннис Карсемейкер указал мне правильное направление.

OP не пометил ни один из ответов как принятый. Просто чтобы подтвердить, какие части работали в моем случае:

Пакет-cleanup --cleandupes не подчинялся и жаловался на пакеты, которые были защищены.

Команда rpm --rebuilddb не дала никаких результатов, поэтому не уверен, что она внесла свой вклад.

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

После этого я снова запустил package-cleanup --cleandupes, и это удалило некоторые старые версии пакетов, в основном glibc и выпуск cantos, которые также остались зависшими в прерванном обновлении yum.