复制包-更新/升级-Centos

复制包-更新/升级-Centos,centos,duplicates,centos7,yum,Centos,Duplicates,Centos7,Yum,当我尝试在CentOS 6.3上运行yum update时,出现错误,并说要运行yum check。yum check的输出为: ➜ ~ yum check Loaded plugins: fastestmirror glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64 glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate w

当我尝试在CentOS 6.3上运行
yum update
时,出现错误,并说要运行
yum check
yum check
的输出为:

➜  ~  yum check
Loaded plugins: fastestmirror
glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64
glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64
glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5')
iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64
nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64
nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64
nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64
tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch
2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
Error: check all
# yum check
Loaded plugins: fastestmirror
nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
知道如何修复这些软件包吗?我尝试了
yum重新安装xinetd tzdata nss util nss softokn nss nss nspr iputils glibc glibc common glibc devel
,但得到了:

错误:发现多库版本问题。这通常意味着 根 原因是其他的,多库版本检查只是 指出存在一个问题


对我来说,在升级软件包的过程中,您重新启动了计算机(或者它崩溃了)。因此,安装了新软件包,但没有删除旧软件包

首先查看是否有任何未完成的事务:yum complete transaction

如果这没有帮助,请查看作为yum-utils包一部分的包清理工具

包清理--重复列出重复的包

包清理--清除重复包删除重复包


但是请小心使用该命令,并在删除重复项之前创建备份。

我可以使用
yum shell
删除所有重复项:

  • 我首先命令它使用
    remove foo package-*
  • 然后通过指定确切的版本来订购它以安装以前的版本
    install foo-package-3.14.1-5.i386 foo-package-3.14.1-5.x86_64
  • 通过运行提交事务
  • 在那之后,副本就消失了,我可以将系统更新到当前的包,而不会出现问题,也不会引入任何新的副本


    这甚至适用于系统软件包,如
    nss
    yum

    几个月前,升级fedora后,我也遇到了这个问题

    我还尝试了
    包清理
    实用程序,它开始删除所需的lib,从而使我的工作站无法工作。幸运的是,我可以重新安装Fedora而不删除我的家庭分区

    昨天同样的问题发生了,我修复了它,删除了旧版本的副本

    例如: 我得到了这些副本:

    • oxygen-icon-theme-4.8.3-1.fc16.noarch
      oxygen-icon-theme-4.8.2-1.fc16.noarch
    • sane-backends-libs-1.0.22-10.fc16.i686
      sane-backends-libs-1.0.22-8.fc16.i686
    我所做的是使用
    yum-remove-sane-backends-libs-1.0.22-8.fc16.i686
    ,然后使用
    yum-update

    现在一切正常


    尝试运行:

    yum reinstall [package-new.version]
    
    这意味着,如果您得到
    yum的输出,那么check
    是:

    ➜  ~  yum check
    Loaded plugins: fastestmirror
    glibc-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-2.12-1.107.el6_4.4.x86_64
    glibc-common-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.4.x86_64
    glibc-devel-2.12-1.107.el6_4.5.x86_64 is a duplicate with glibc-devel-2.12-1.107.el6_4.4.x86_64
    glibc-devel-2.12-1.107.el6_4.5.x86_64 has missing requires of glibc-headers = ('0', '2.12', '1.107.el6_4.5')
    iputils-20071127-17.el6_4.2.x86_64 is a duplicate with iputils-20071127-17.el6_4.x86_64
    nspr-4.9.5-2.el6_4.x86_64 is a duplicate with nspr-4.9.2-1.el6.x86_64
    nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
    nss-softokn-3.14.3-3.el6_4.x86_64 is a duplicate with nss-softokn-3.12.9-11.el6.x86_64
    nss-util-3.14.3-3.el6_4.x86_64 is a duplicate with nss-util-3.14.0.0-2.el6.x86_64
    tzdata-2013g-1.el6.noarch is a duplicate with tzdata-2013c-2.el6.noarch
    2:xinetd-2.3.14-39.el6_4.x86_64 is a duplicate with 2:xinetd-2.3.14-38.el6.x86_64
    Error: check all
    
    # yum check
    Loaded plugins: fastestmirror
    nss-3.14.3-4.el6_4.x86_64 is a duplicate with nss-3.14.0.0-12.el6.x86_64
    
    请重新安装:

    yum reinstall nss-3.14.3-4.el6_4.x86_64
    

    这就是我修复一台CentOS 7服务器471次重复的方法

    首先,我必须安装yum-utils:

    yum install yum-utils
    
    在没有运气的情况下尝试过yum complete transaction和其他东西,我放弃了交易:

    yum-complete-transaction --cleanup-only
    
    然后,我得到了一个重复软件包的排序列表,这样我就可以识别旧版本,以便在以后删除筛选偶数行和奇数行:

    package-cleanup --dupes | sort -u > dupes.out
    
    然后,我通过以下方式从该排序文件中获得卸载列表:

    cat dupes.out | grep -v 'Loaded plugins:' | sort -u | awk 'NR % 2 == 1' > uninstall.in
    
    然后,我从rpm数据库中删除了旧版本:

    for f in `cat uninstall.in`; do rpm -e --nodeps -f --justdb $f; done
    
    最后,我可以继续进行常规系统升级:

    yum upgrade
    
    需要注意的一些事项:

    • 在本例中,我仔细查看了“package cleanup--Dups”输出,以确定如何生成卸载列表
    • 我曾尝试过一种“重新安装更新的”方法来反转列表(awk'NR%2==0'),但在该版本中有很多软件包不再可用(服务器以这种方式保留了一年)
    • 我曾考虑从rpmdb中删除较新的软件包,因此以后的升级应该会重新安装所有软件包,但在检查文件系统安装的文件后,我很清楚,新版本已经存在,rpmdb中只有较旧的rpm条目。也许你的情况不同

    首先安装yum-utils,然后运行cleanup以删除旧的重复包

    yum install yum-utils &&
    package-cleanup –-cleandupes -y
    
    提示:
    有时您需要运行
    包清理–-cleandupes
    几次

    在我的情况下,上面的任何操作都不起作用

    所以在有了副本列表后,我把它复制到一个文本编辑器中

    我做到了

      yum upgrade {package name}
    
    当我编辑整个列表时,我一直在做


    例如:yum-upgrade-sudo-nano等…

    对我有效的方法是:

    1) 获取重复包的列表:包清理--重复
    2) 手动删除旧的重复项:rpm-e--justdb--nodeps{old version duplicated package}

    3) yum-update

    SSH断开连接中断了一次小的升级。在手持一些软件包并试图让其他修复程序正常工作后,我最终修复了其余的软件包,如下所示:
    sudo-yum重新安装--跳过损坏的$(/usr/bin/package cleanup--dupes-q | sort)

    尝试:包清理--cleandupes@user1403360:这不起作用,它中止了,因为它想删除
    yum
    yum shell
    重新安装coreutils,然后
    yum update
    再次起作用。谢谢
    yum complete transaction
    也修复了我的问题。我也必须
    yum安装yum-utils
    才能使用它。我的机器在安装过程中没有重新启动,但我在安装过程中丢失了SSH连接,这似乎停止了安装…
    软件包清理--cleandupes
    破坏了我的系统,因为它删除了删除的副本所拥有的文件,尽管这些文件也属于第一个副本/dup。我将glibc作为一个副本,在运行这个命令之后,我无法运行任何其他命令。在我的例子中,
    rpm-e--justdb[duplicated packages]
    工作正常。
    package cleanup--cleandupes
    也破坏了我的系统:(在我的例子中,
    package cleanup