![Yum 更新问题](https://linux22.com/image/622848/Yum%20%E6%9B%B4%E6%96%B0%E9%97%AE%E9%A2%98.png)
不确定我是否应该在这里问这个问题,但目前我很困惑。
我不是 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 的存储库行
就这样..
问候!