Yum

yum“事務檢查錯誤”指向不存在的文件

  • November 12, 2015

我正在嘗試安裝 boost148 軟體包。這是與我已安裝的 boost 不同的包,版本為 1.41。

yum install boost
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Package boost-1.41.0-18.el6.x86_64 already installed and latest version
Nothing to do

但是當我嘗試使用安裝 Boost148 時,yum install boost148 -y我收到以下資訊

Transaction Check Error:
 file /usr/lib64/libboost_chrono-mt.so.1.48.0 from install of boost148-chrono-1.48.0-7.el6.x86_64 conflicts with file from package boost-chrono-1.48.0-14.el6.x86_64
 file /usr/lib64/libboost_chrono.so.1.48.0 from install of boost148-chrono-1.48.0-7.el6.x86_64 conflicts with file from package boost-chrono-1.48.0-14.el6.x86_64
 file /usr/lib64/libboost_date_time-mt.so.1.48.0 from install of boost148-date-time-1.48.0-7.el6.x86_64 conflicts with file from package boost-date-time-1.48.0-14.el6.x86_64
 file /usr/lib64/libboost_date_time.so.1.48.0 from install of boost148-date-time-1.48.0-7.el6.x86_64 conflicts with file from package boost-date-time-1.48.0-14.el6.x86_64

所以我檢查了boost148是否部分安裝

yum list installed | grep boost148

什麼都沒有出現。

此外,如果我嘗試 ls 事務檢查錯誤中的任何文件,它們都不存在。

# ls /usr/lib64/libboost_chrono-mt.so.1.48.0
ls: cannot access /usr/lib64/libboost_chrono-mt.so.1.48.0: No such file or directory

我認為這是某種類型的 yum 數據庫問題,所以我做了 ayum-complete-transaction和 ayum clean all但我仍然無法安裝 boost145 軟體包。關於如何說服 yum 繼續安裝的任何想法?

評論中要求的資訊

@孟加拉

$yum repolist all Loaded plugins: refresh-packagekit, security repo id repo name status adobe-linux-i386 Adobe Systems Incorporated enabled: 2 elrepo ELRepo.org Community Enterprise Linux Reposi enabled: 304 elrepo-extras ELRepo.org Community Enterprise Linux Extras disabled elrepo-kernel ELRepo.org Community Enterprise Linux Kernel disabled elrepo-testing ELRepo.org Community Enterprise Linux Testin disabled epel Extra Packages for Enterprise Linux 6 - x86_ enabled: 11,750 epel-debuginfo Extra Packages for Enterprise Linux 6 - x86_ disabled epel-source Extra Packages for Enterprise Linux 6 - x86_ disabled epel-testing Extra Packages for Enterprise Linux 6 - Test disabled epel-testing-debuginfo Extra Packages for Enterprise Linux 6 - Test disabled epel-testing-source Extra Packages for Enterprise Linux 6 - Test disabled rpmforge RHEL 6.5 - RPMforge.net - dag enabled: 4,718 rpmforge-extras RHEL 6.5 - RPMforge.net - extras disabled rpmforge-testing RHEL 6.5 - RPMforge.net - testing disabled sl Scientific Linux 6.5 - x86_64 enabled: 6,524 sl-debuginfo Scientific Linux Debuginfo enabled: 10,255 sl-fastbugs Scientific Linux 6.5 - x86_64 - fastbug upda enabled: 1,016 sl-security Scientific Linux 6.5 - x86_64 - security upd enabled: 2,377 sl-source Scientific Linux 6.5 - Source disabled sl-testing Scientific Linux Testing - x86_64 disabled sl-testing-source Scientific Linux Testing - Source disabled repolist: 36,946

@邁克爾漢普頓

rpm -qi boost-chrono
Name        : boost-chrono                 Relocations: (not relocatable)
Version     : 1.48.0                            Vendor: (none)
Release     : 14.el6                        Build Date: Mon 03 Jun 2013 04:20:53 AM EDT
Install Date: Fri 06 Nov 2015 03:09:26 PM EST      Build Host: localhost
Group       : System Environment/Libraries   Source RPM: boost-1.48.0-14.el6.src.rpm
Size        : 628796                           License: Boost and MIT and Python
Signature   : RSA/SHA1, Mon 03 Jun 2013 05:01:38 AM EDT, Key ID fcc2e6fe304dba4d
Packager    : .sroycode
URL         : http://www.boost.org
Summary     : Run-Time component of boost chrono library
Description :

Run-Time support for Boost.Chrono, a set of useful time utilities.

實際上,您的系統上確實有幾個相互衝突的軟體包:boost-chrono並且boost-date-time.sroycode(無論他是誰)提供。我不知道這些是如何進入您的系統的,因為 .sroycode 的儲存庫似乎不在已安裝儲存庫的列表中。

要解決此問題,請刪除這些軟體包,然後再次嘗試安裝。

yum remove boost-chrono-1.48.0-14.el6.x86_64 boost-date-time-1.48.0-14.el6.x86_64

(如果這顯示了要刪除的其他軟體包,那麼您可能會了解它們開始出現的原因。)

引用自:https://serverfault.com/questions/735045