Я получаю ошибки, я считать с coreutils, где yum не обновляется. Вот урезанный вывод того, что я вижу, когда запускаю yum update
:
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package PyYAML.x86_64 0:3.10-3.el6 will be updated
---> Package PyYAML.x86_64 0:3.10-3.1.el6 will be an update
... more of the same, and then:
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
---> Package coreutils.x86_64 0:8.4-37.el6 will be an update
... then more of the same --> Finished Dependency Resolution
--> Running transaction check
---> Package coreutils.x86_64 0:8.4-31.el6_5.2 will be updated
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
---> Package kernel.x86_64 0:2.6.32-431.17.1.el6 will be erased
--> Finished Dependency Resolution
Error: Package: coreutils-libs-8.4-31.el6_5.2.x86_64 (@updates)
Requires: coreutils = 8.4-31.el6_5.2
Removing: coreutils-8.4-31.el6_5.2.x86_64 (@updates)
coreutils = 8.4-31.el6_5.2
Updated By: coreutils-8.4-37.el6.x86_64 (base)
coreutils = 8.4-37.el6
You could try using --skip-broken to work around the problem
** Found 71 pre-existing rpmdb problem(s), 'yum check' output follows:
audit-libs-2.3.7-5.el6.x86_64 is a duplicate with audit-libs-2.2-4.el6_5.x86_64
audit-libs-python-2.3.7-5.el6.x86_64 is a duplicate with audit-libs-python-2.2-4.el6_5.x86_64
... then lots more like the above duplicate
У меня есть другой сервер, который (почти) идентичен этому (они сбалансированы по нагрузке и работают с одним и тем же изображением), и у него нет такой же проблемы. В чем может быть проблема и как мне лучше действовать?
Обновить:
Я также побежал yum-complete-transaction
это не удалось и заявило, что переименовало файлы транзакций. Он по-прежнему говорит, что есть незавершенная транзакция, но теперь это происходит, когда я запускаю ее:
[root@nico ~]# yum-complete-transaction
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* webtatic: uk.repo.webtatic.com
drivesrvr | 951 B 00:00
There are 1 outstanding transactions to complete. Finishing the most recent one
The remaining transaction had 252 elements left to run
... lots of:
Package name-1.23.x8x_64 already installed and latest version
...
--> Running transaction check
... lots of entries like this:
---> Package PyYAML.x86_64 0:3.10-3.el6 will be updated
... and this:
---> Package PyYAML.x86_64 0:3.10-3.1.el6 will be an update
... and this:
---> Package audit-libs.x86_64 0:2.2-4.el6_5 will be erased
Killed
Затем он внезапно останавливается с Killed
линия.
Я пробовал бежать yum update --skip-broken
следующий:
[root@nico ~]# yum update --skip-broken
Freeing read locks for locker 0x7d: 28940/139976145426176
Freeing read locks for locker 0x7f: 28940/139976145426176
Freeing read locks for locker 0x80: 28940/139976145426176
Freeing read locks for locker 0x81: 28940/139976145426176
Freeing read locks for locker 0x82: 28940/139976145426176
Loaded plugins: downloadonly, fastestmirror, replace
Setting up Update Process
Loading mirror speeds from cached hostfile
* webtatic: uk.repo.webtatic.com
drivesrvr | 951 B 00:00
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
... lots of will be updated/will be an update/etc, then:
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
Потом еще несколько Running transaction check:
s, и Processing Dependency: coreutils =...
записи среди других willy be updated/willbe an update
записи. Затем:
Packages skipped because of dependency problems:
coreutils-8.4-37.el6.x86_64 from base
Dependencies Resolved
Затем мне показывают таблицу со списком Installing:
и Updating:
пакеты, с резюме в конце:
Install 2 Package(s)
Upgrade 79 Package(s)
Remove 1 Package(s)
Затем он загружает все пакеты (81/81 успешно) и, наконец, показывает следующее:
Total 3.0 MB/s | 115 MB 00:37
Running rpm_check_debug
Killed
Обновление 2:
Я также побежал yum clean all
и там тоже были проблемы. Я нашел несколько советов по удалению __db*
файлы и попробуйте еще раз:
[root@nico ~]# yum clean all
rpmdb: Thread/process 29404/139880514733824 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
[root@nico ~]# rm -f /var/lib/rpm/__db*
[root@nico ~]# yum clean all
Loaded plugins: downloadonly, fastestmirror, replace
Cleaning repos: base drivesrvr epel extras ius newrelic percona-release-noarch percona-release-x86_64 rackspace updates webtatic
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@nico ~]# yum clean all
Loaded plugins: downloadonly, fastestmirror, replace
Cleaning repos: base drivesrvr epel extras ius newrelic percona-release-noarch percona-release-x86_64 rackspace updates webtatic
Cleaning up Everything
[root@nico ~]#
Обновление 3:
Я следил /var/log/messages
и увидел много результатов, когда запустил yum-complete-transaction
, последние две строки которого были:
Nov 14 08:19:47 nico kernel: Out of memory: Kill process 30995 (yum-complete-tr) score 149 or sacrifice child
Nov 14 08:19:47 nico kernel: Killed process 30995, UID 0, (yum-complete-tr) total-vm:641952kB, anon-rss:181420kB, file-rss:4kB
Предположительно, это говорит о том, что это связано с памятью. Если да, то нужно ли в этом случае больше ОЗУ или мне нужно изучить другую проблему?
Обычная причина для yum
умирать с Killed
в том, что системе не хватает памяти.
Из ваших журналов похоже, что у вас есть экземпляр Amazon t1.micro или что-то похожее по размеру и без пространства подкачки. Этого ограниченного объема памяти часто недостаточно для выполнения большого количества установок / обновлений пакетов.
Чтобы решить проблему, выполните одно из следующих действий:
Выключите запущенные службы, пока у вас не будет достаточно памяти для завершения транзакции yum.
Или...
Добавить файл подкачки или обменять на эфемерное хранилище к вашему экземпляру.
Тогда вы сможете завершить свои транзакции yum.
Наконец, чтобы очистить проблемы с пакетом от предыдущих неудачных обновлений, попробуйте
package-cleanup --cleandupes
перед выполнением любых других обновлений.
Похожая проблема - и мое исправление. У меня тоже была проблема с памятью, поэтому пришлось обновить память VPS. Затем я сделал обновление yum - конечно, получил ошибки, как указано выше. Итак, посмотрел на ошибку и заметил, что произошло то, что Yum установил (ну, начал устанавливать) последние coreutils - версию 37, тогда как у меня все еще были биты 31. Итак, сначала удалил версию 37, затем очистил, а затем запустил yum update очередной раз.
Это привело к тому, что версия '31' стала доступной для "обновления" чисто. Смотрите работу ниже:
--> Running transaction check
---> Package coreutils.x86_64 0:8.4-31.el6_5.2 will be updated
--> Processing Dependency: coreutils = 8.4-31.el6_5.2 for package: coreutils-libs-8.4-31.el6_5.2.x86_64
---> Package coreutils.x86_64 0:8.4-37.el6 will be an update
--> Finished Dependency Resolution
Error: Package: coreutils-libs-8.4-31.el6_5.2.x86_64 (@updates)
Requires: coreutils = 8.4-31.el6_5.2
Removing: coreutils-8.4-31.el6_5.2.x86_64 (@updates)
coreutils = 8.4-31.el6_5.2
Updated By: coreutils-8.4-37.el6.x86_64 (base)
coreutils = 8.4-37.el6
You could try using --skip-broken to work around the problem
Бег yum remove coreutils-libs-8.4-37.el6.x86_64
:
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package coreutils-libs.x86_64 0:8.4-37.el6 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
==============================
========================================================================================
Package Arch Version Repository Size
======================================================================================================================
Removing:
coreutils-libs x86_64 8.4-37.el6 installed 5.4 k
Transaction Summary
======================================================================================================================
Remove 1 Package(s)
Installed size: 5.4 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : coreutils-libs-8.4-37.el6.x86_64 1/1
Verifying : coreutils-libs-8.4-37.el6.x86_64 1/1
Removed:
coreutils-libs.x86_64 0:8.4-37.el6
Complete!
Очистка с помощью yum clean all
:
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up Everything
Cleaning up list of fastest mirrors
Обновление списка пакетов yum update
:
Loaded plugins: fastestmirror
Setting up Update Process
Determining fastest mirrors
* base: mirrors.lga7.us.voxel.net
* extras: mirrors.lga7.us.voxel.net
* updates: mirror.cc.columbia.edu
base | 3.7 kB 00:00
base/primary_db | 4.6 MB 00:00
extras | 3.4 kB 00:00
extras/primary_db | 30 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 1.5 MB 00:00
Resolving Dependencies
--> Running transaction check
---> Package coreutils.x86_64 0:8.4-31.el6_5.2 will be updated
---> Package coreutils.x86_64 0:8.4-37.el6 will be an update
---> Package coreutils-libs.x86_64 0:8.4-31.el6_5.2 will be updated
---> Package coreutils-libs.x86_64 0:8.4-37.el6 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================
Package Arch Version Repository Size
======================================================================================================================
Updating:
coreutils x86_64 8.4-37.el6 base 3.0 M
coreutils-libs x86_64 8.4-37.el6 base 50 k
Transaction Summary
======================================================================================================================
Upgrade 2 Package(s)
Total download size: 3.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): coreutils-8.4-37.el6.x86_64.rpm | 3.0 MB 00:00
(2/2): coreutils-libs-8.4-37.el6.x86_64.rpm | 50 kB 00:00
----------------------------------------------------------------------------------------------------------------------
Total 44 MB/s | 3.1 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : coreutils-libs-8.4-37.el6.x86_64 1/4
Updating : coreutils-8.4-37.el6.x86_64 2/4
Cleanup : coreutils-libs-8.4-31.el6_5.2.x86_64 3/4
Cleanup : coreutils-8.4-31.el6_5.2.x86_64 4/4
Verifying : coreutils-8.4-37.el6.x86_64 1/4
Verifying : coreutils-libs-8.4-37.el6.x86_64 2/4
Verifying : coreutils-libs-8.4-31.el6_5.2.x86_64 3/4
Verifying : coreutils-8.4-31.el6_5.2.x86_64 4/4
Updated:
coreutils.x86_64 0:8.4-37.el6 coreutils-libs.x86_64 0:8.4-37.el6
Complete!
-Скачать.
Пытаться you update --skip-broken
который пропустит сломанные пакеты (вы сможете разобраться с ними позже), вероятно, неплохо запустить yum clean all
прежде чем что-либо делать.
Отфильтровывая цитируемую вами постороннюю информацию и на полпути yum
уже пытается вам помочь:
Остались незавершенные транзакции. Вы можете подумать о беге
yum-complete-transaction
первым их закончить. Программа yum-complete-transaction находится в пакете yum-utils.
Вы это уже пробовали?
Попробуйте
yum downgrade имя пакета
Не уверен, почему, но он обновляется, или, по крайней мере, для меня с пакетом tcpdump. Перешел с версии tcpdump-4.5.1-2.el7.x86_64 на tcpdump-4.7.4-1_ESG_ring.x86_64, чего я и хотел.