AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 644205
Accepted
Leonard Challis
Leonard Challis
Asked: 2014-11-14 13:42:24 +0800 CST2014-11-14 13:42:24 +0800 CST 2014-11-14 13:42:24 +0800 CST

为什么 yum 不安装更新?

  • 772

我遇到了错误,我认为使用 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

所以大概这表明它与记忆有关。如果是这样,这是需要更多 RAM 的情况,还是我需要调查另一个问题?

centos
  • 5 5 个回答
  • 64009 Views

5 个回答

  • Voted
  1. Michael Hampton
    2014-11-15T00:34:53+08:002014-11-15T00:34:53+08:00

    yum死亡的通常原因Killed是系统内存不足。

    从您的日志看来,您有一个 Amazon t1.micro 实例,或者类似大小的实例,并且没有任何交换空间。这种有限的内存量通常不足以完成大量的软件包安装/更新。

    要解决此问题,请执行以下任一操作:

    1. 关闭正在运行的服务,直到您有足够的内存来完成 yum 事务。

      或者...

    2. 向您的实例添加交换文件或交换临时存储。

    然后您应该能够完成您的 yum 交易。


    最后,要清除以前失败更新中的软件包问题,请尝试

    package-cleanup --cleandupes
    

    在执行任何其他更新之前。

    • 11
  2. Best Answer
    John
    2015-01-11T03:00:21+08:002015-01-11T03:00:21+08:00

    类似的问题 - 和我的修复。我的内存也有问题,所以不得不升级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!
    

    -苏普。

    • 7
  3. alexus
    2014-11-14T13:59:41+08:002014-11-14T13:59:41+08:00

    试试you update --skip-broken这会跳过损坏的包(你可以稍后处理它们),yum clean all在做任何事情之前运行可能是个好主意。

    • 2
  4. HBruijn
    2014-11-14T13:56:11+08:002014-11-14T13:56:11+08:00

    过滤掉您引用的无关信息,并且yum已经尝试帮助您:

    仍有未完成的交易。你可以考虑yum-complete-transaction先跑来完成它们。yum-complete-transaction 程序可以在 yum-utils 包中找到。

    你已经试过了吗?

    • 1
  5. hokie1999
    2017-05-10T10:42:29+08:002017-05-10T10:42:29+08:00

    试一试

    yum 降级包名

    不知道为什么,但它更新了,或者至少它为我做了 tcpdump 包。从版本 tcpdump-4.5.1-2.el7.x86_64 到 tcpdump-4.7.4-1_ESG_ring.x86_64 这正是我想要的。

    • 0

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve