Yum neden güncellemeleri yüklemiyor?


9

Hata alıyorum, sanırım yum'un güncellenmeyeceği coreutils ile. İşte çalıştırdığımda gördüğüm bir soyulmuş çıktı 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

Ben (neredeyse) bu (yük dengeli ve aynı görüntüden çalışır) aynı olan başka bir sunucu var ve bu aynı sorunu yok. Sorun ne olabilir ve en iyi nasıl ilerlemeliyim?

Güncelleme:

Ben de yum-complete-transactionbaşarısız koştu ve işlem dosyaları yeniden adlandırdığını söyledi. Hala eksik bir işlem olduğunu söylüyor ama şimdi bunu çalıştırdığımda oluyor:

[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

Sonra aniden Killedhatla durur .

Sonra çalışmayı denedim 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

Sonra birkaç Running transaction check:s ve Processing Dependency: coreutils =...girişler arasında willy be updated/willbe an updategirişler. Sonra:

Packages skipped because of dependency problems:
    coreutils-8.4-37.el6.x86_64 from base

Dependencies Resolved

Sonra sonunda bir özet Installing:ve Updating:paketleri içeren bir tablo gösterilir :

Install       2 Package(s)
Upgrade      79 Package(s)
Remove        1 Package(s)

Daha sonra tüm paketleri (81/81 başarıyla) indirir ve son olarak şunu gösterir:

Total                                                                                                                                                                                                                           3.0 MB/s | 115 MB     00:37
Running rpm_check_debug
Killed

Güncelleme 2:

Ayrıca koştum yum clean allve orada da bazı problemler yaşadım . __db*Dosyaları kaldırmak ve tekrar denemek için bazı tavsiyeler buldum :

[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 ~]#

Güncelleme 3:

Koştuğumda , son iki çizgisi olan /var/log/messagesbir sürü çıktı gördüm 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

Muhtemelen bu onun bellekle ilgili olduğunu gösteriyor. Öyleyse, bu daha fazla RAM'e ihtiyaç duyuyor mu yoksa araştırmam gereken başka bir sorun olabilir mi?


2
Sistem günlüklerinizi kontrol ettiniz mi? Bellek yetersiz olabilir.
Michael Hampton

Evet, soruyu (güncelleme 3) hafıza bilgisiyle güncelledim, haklı olduğunu düşünüyorum.
Leonard Challis

Yanıtlar:


6

Benzer bir sorun - ve benim düzeltmem. Ben de bellek ile ilgili bir sorun vardı, bu yüzden VPS bellek yükseltmek zorunda kaldı. Sonra yum bir güncelleme yaptım - tabii ki yukarıdaki gibi hataları var. Bu yüzden başarısız baktı ve ne olduğunu fark Yum yüklü (iyi, yüklemeye başladı) en son coreutils - sürüm 37, oysa ben hala 31 bit vardı. Böylece, ilk, sürüm 37 kaldırıldı, sonra temiz ve sonra yum güncelleme koştu tekrar.

Bu da '31' versiyonunun temiz bir şekilde güncellenmesine neden oldu. Aşağıdaki çalışmaya bakın:

--> 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

Koşu 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!

Kullanarak temizlik yum clean all:

Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up Everything
Cleaning up list of fastest mirrors

Paket listesinin yenilenmesi 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!

-Sup.


11

İçin olağan nedeni yumile ölen Killedsistem belleği bitti olmasıdır.

Günlüklerinizden, Amazon t1.micro örneğiniz var veya benzer boyutta ve takas alanı olmayan bir şey var gibi görünüyor. Bu kısıtlı bellek, çok sayıda paket kurulumunu / güncellemesini tamamlamak için genellikle yeterli değildir.

Sorunu çözmek için:

  1. Yum işlemini tamamlamak için yeterli belleğe sahip olana kadar çalışan hizmetleri kapatın.

    Veya...

  2. Örneğinize geçici depolama alanında bir takas dosyası veya takas ekleyin.

O zaman yum işlemlerinizi tamamlayabilmelisiniz.


Son olarak, önceki başarısız güncellemelerinizden paket sorunlarınızı temizlemek için deneyin

package-cleanup --cleandupes

diğer güncellemeleri yapmadan önce.


1
Bu fırsatı daha fazla belleği olan, genellikle daha hızlı ve daha ucuz olan bir t2.micro örneğine geçmek için de kullanabilirsiniz.
Michael Hampton

Teşekkür ederim. Httpd durdurma aldı ama hepsi çalıştı ve sonra da temizlendi.
Leonard Challis

2

Deneyin you update --skip-brokenmuhtemelen (daha sonra onlarla başa çıkabilirim) çalıştırmak için iyi bir fikir kırık paketleri atlamak da yum clean allbir şey yapmadan önce.


1

Alıntıladığınız yabancı bilgileri filtrelemek ve yarı yolda yumsize yardımcı olmaya çalışır:

Kalan tamamlanmamış işlemler var. Bunları yum-complete-transactionbitirmek için önce koşmayı düşünebilirsiniz . Yum-complete-transaction programı yum-utils paketinde bulunur.

Bunu zaten denedin mi?


Evet, aslında yaptım. Bana tamamlanamayacağını ve işlem dosyalarını yeniden adlandırdığını söyledi
Leonard Challis

Sorunun, işlerin ne zaman başarısız olduğuyla ilgili örneklerle daha fazla ayrıntı ekledim.
Leonard Challis

0

Deneyin

yum downgrade paket adı

Neden olduğundan emin değilim ama güncelleniyor, ya da en azından benim için tcpdump paketi ile yaptı. İstediğim tcpdump-4.5.1-2.el7.x86_64 sürümünden tcpdump-4.7.4-1_ESG_ring.x86_64 sürümüne geçtim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.