Yum 更新问题

Yum 更新问题

不确定我是否应该在这里问这个问题,但目前我很困惑。

我不是 Linux 方面的佼佼者,但可以应付自如。我的问题是关于 CentOS 6.3 x64 系统上的 Yum 更新。

基本上由于某种原因,安装 Murmur(Mumble)后它不允许我更新 - 我感觉这与一个或多个所需的包有关。

这是我运行“yum update”时得到的结果:

yum update
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.heanet.ie
 * epel: ftp.heanet.ie
 * extras: ftp.heanet.ie
 * updates: centos.weepeetelecom.nl
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package bash-completion.noarch 1:1.3-5.el6 will be updated
---> Package bash-completion.noarch 1:1.3-7.el6 will be an update
---> Package db4-devel.x86_64 0:4.7.25-18.el6_4 will be obsoleted
--> Processing Dependency: db4-devel for package: 4:perl-devel-5.10.1-136.el6.x86_64
Package db4-devel is obsoleted by db53-devel, but obsoleting package does not provide for requirements
---> Package db53-devel.x86_64 0:5.3.21-1ice.el6 will be obsoleting
---> Package mod_python.x86_64 0:3.3.1-14.el6.1 will be updated
---> Package mod_python.x86_64 0:3.3.1-16.el6 will be an update
--> Finished Dependency Resolution
Error: Package: 4:perl-devel-5.10.1-136.el6.x86_64 (@base)
               Requires: db4-devel
           Removing: db4-devel-4.7.25-18.el6_4.x86_64 (@base)
               db4-devel = 4.7.25-18.el6_4
           Obsoleted By: db53-devel-5.3.21-1ice.el6.x86_64 (zeroc-ice)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

现在,根据 Murmur 的安装说明,我可以看到两个熟悉的项目:

1 - perl-devel-5.10.1-136.el6.x86_64:我认为这与 epel-release-6-8.noarch.rpm 有关

2 - db53-devel-5.3.21-1ice.el6.x86_64:可能与此相关,zeroc-ice-el6.repo


我这样做对吗?如果是这样,我该如何解决这个问题?

安装说明如下:

http://mumble.sourceforge.net/Install_CentOS6

  • 标题下:新软件包 1.2.4 (x64)

任何帮助都会受到感谢,即使我只是被指引正确的方向。

谢谢大家。

更新>>

因此我尝试了“Michael Hampton”解决方案,一切都很顺利,直到安装 murmur;我得到的只是以下内容:

yum install murmur
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.heanet.ie
 * extras: ftp.heanet.ie
 * updates: ftp.heanet.ie
Setting up Install Process
No package murmur available.

因此我尝试安装它,并得到以下结果:

rpm -ivh https://www.dropbox.com/s/hs0ztzrdy4unn75/mumble-server-1.2.4-1.el6.i686.rpm
Retrieving https://www.dropbox.com/s/hs0ztzrdy4unn75/mumble-server-1.2.4-1.el6.i686.rpm
error: Failed dependencies:
    libIce.so.35 is needed by mumble-server-1.2.4-1.el6.i686
    libIceUtil.so.35 is needed by mumble-server-1.2.4-1.el6.i686
    libQtCore.so.4 is needed by mumble-server-1.2.4-1.el6.i686
    libQtDBus.so.4 is needed by mumble-server-1.2.4-1.el6.i686
    libQtNetwork.so.4 is needed by mumble-server-1.2.4-1.el6.i686
    libQtSql.so.4 is needed by mumble-server-1.2.4-1.el6.i686
    libQtXml.so.4 is needed by mumble-server-1.2.4-1.el6.i686
    libcap.so.2 is needed by mumble-server-1.2.4-1.el6.i686
    libcrypto.so.10 is needed by mumble-server-1.2.4-1.el6.i686
    libdns_sd.so.1 is needed by mumble-server-1.2.4-1.el6.i686
    libgcc_s.so.1 is needed by mumble-server-1.2.4-1.el6.i686
    libgcc_s.so.1(GCC_3.0) is needed by mumble-server-1.2.4-1.el6.i686
    libgcc_s.so.1(GLIBC_2.0) is needed by mumble-server-1.2.4-1.el6.i686
    libprotobuf.so.6 is needed by mumble-server-1.2.4-1.el6.i686
    libssl.so.10 is needed by mumble-server-1.2.4-1.el6.i686
    libstdc++.so.6 is needed by mumble-server-1.2.4-1.el6.i686
    libstdc++.so.6(CXXABI_1.3) is needed by mumble-server-1.2.4-1.el6.i686
    libstdc++.so.6(GLIBCXX_3.4) is needed by mumble-server-1.2.4-1.el6.i686
    libz.so.1 is needed by mumble-server-1.2.4-1.el6.i686
    qt-sqlite is needed by mumble-server-1.2.4-1.el6.i686

最后我尝试:

yum --nogpgcheck localinstall mumble-server-1.2.4-1.el6.i686.rpm

对包裹本身也有同样的投诉。

是不是 YUM 的 murmur 安装没有链接到 CentOS?看来是 Fedora。抱歉,我不知道这里的正确术语。

答案1

您走在正确的轨道上。发生的事情是 zeroc-ice 存储库中有一个软件包 (db53-devel),它淘汰了基础存储库 (db4-devel) 提供的软件包,但您安装的其他软件包需要这个淘汰的软件包。从长远来看,正确的解决方法是让 zeroc-ice 存储库维护人员更正 db53-devel 的提供标签,以便它也提供 db4-devel 功能。从短期来看,我最好的建议是您在更新期间禁用 zeroc-ice 存储库:yum update --disablerepo=zeroc-ice

答案2

EPEL 中没有适用于 Centos 6 的 murmur 包。因此删除 zeroc ice 存储库的解决方案是不正确的。

只有当软件包存在于 EPEL 中时,“yum install murmur”才会起作用。要手动安装您下载的 RPM,您需要 zeroc-ice 存储库来获取依赖项。

正如 yum 所建议的,您可以使用 --skip-broken 跳过损坏的依赖关系问题并更新系统上的其他软件包,或者您可以通过在 /etc/yum.repos.d/zeroc-ice-el6.repo 中设置 enabled=0 来禁用存储库。

答案3

您唯一需要做的就是从我的 Centos 上的存储库文件进行编辑,例如在以下路径中:

/etc/yum.repos/Centos-Base

删除所有依赖 zeroc-ice 的存储库行

就这样..

问候!

相关内容