Dependencies 百胜在CentOS 5.8中抱怨Pyaml和Libyml

Dependencies 百胜在CentOS 5.8中抱怨Pyaml和Libyml,dependencies,centos,yum,pyyaml,Dependencies,Centos,Yum,Pyyaml,每次尝试#sudo yum update时,都会收到警告,提示PyYAML-3.08-4.el5.x86_64缺少依赖项libyaml-0.so.1()(64位) 所以我做了一些检查,看起来libyaml确实安装了,所以我想知道我的PyYAML和libyaml安装有什么问题。利比亚姆是由皮亚姆自动拉出来的,这让我觉得回购协议有些奇怪。来自YUM的输出如下: [root@am-web-1 ~]# yum update Loaded plugins: fastestmirror Loading mi

每次尝试#sudo yum update时,都会收到警告,提示PyYAML-3.08-4.el5.x86_64缺少依赖项libyaml-0.so.1()(64位)

所以我做了一些检查,看起来libyaml确实安装了,所以我想知道我的PyYAML和libyaml安装有什么问题。利比亚姆是由皮亚姆自动拉出来的,这让我觉得回购协议有些奇怪。来自YUM的输出如下:

[root@am-web-1 ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror01.th.ifl.net
 * epel: mirror01.th.ifl.net
 * extras: mirror01.th.ifl.net
 * rpmforge: fr2.rpmfind.net
 * updates: mirror01.th.ifl.net
Excluding Packages from CentOS-5 - Base
Finished
Reducing CentOS-5 Testing to included packages only
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.7.10-1.el5.rf set to be updated
--> Processing Dependency: libyaml-0.so.1()(64bit) for package: PyYAML
---> Package libyaml.x86_64 0:0.1.4-1.el5.rf set to be updated
---> Package perl-Git.x86_64 0:1.7.10-1.el5.rf set to be updated
--> Finished Dependency Resolution
PyYAML-3.08-4.el5.x86_64 from installed has depsolving problems
  --> Missing Dependency: libyaml-0.so.1()(64bit) is needed by package PyYAML-3.08-4.el5.x86_64 (installed)
Error: Missing Dependency: libyaml-0.so.1()(64bit) is needed by package PyYAML-3.08-4.el5.x86_64 (installed)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
所以我们知道我们有个问题,那么这个Libyml到底在哪里

[alexander@am-web-1 ~]$ yum whatprovides "*/libyaml-0.so.1"          
Loaded plugins: fastestmirror
Excluding Packages from CentOS-5 - Base
Finished
Reducing CentOS-5 Testing to included packages only
Finished
Excluding Packages from CentOS-5 - Updates
Finished
libyaml-0.1.2-3.el5.i386 : YAML 1.1 parser and emitter written in C
Repo        : epel
Matched from:
Filename    : /usr/lib/libyaml-0.so.1

libyaml-0.1.2-3.el5.x86_64 : YAML 1.1 parser and emitter written in C
Repo        : epel
Matched from:
Filename    : /usr/lib64/libyaml-0.so.1

libyaml-0.1.2-3.el5.x86_64 : YAML 1.1 parser and emitter written in C
Repo        : installed
Matched from:
Filename    : /usr/lib64/libyaml-0.so.1

libyaml-0.1.2-3.el5.i386 : YAML 1.1 parser and emitter written in C
Repo        : installed
Matched from:
Filename    : /usr/lib/libyaml-0.so.1
那么图书馆存在吗

[alexander@am-web-1 ~]$ ls /usr/lib64/libyaml-0.so.1*
/usr/lib64/libyaml-0.so.1  /usr/lib64/libyaml-0.so.1.1.0
64位的有,32位的有吗

[alexander@am-web-1 ~]$ ls /usr/lib/libyaml-0.so.1*
/usr/lib/libyaml-0.so.1  /usr/lib/libyaml-0.so.1.1.0
它们都存在,那有什么问题

这更像是一个问题,但我在更新/安装Cobbler时也看到了同样的问题。这是您目前启用的多个回购的问题。同时永久启用两个回购协议通常是不好的做法。来自的
libyaml
包与通过存储库提供的包之间存在轻微冲突


要修复此问题,请通过
yum-erase-libyaml
擦除RPMForge包,然后使用
yum-update--disablerepo=RPMForge
继续更新。您还可以再多做一步,从RPMForge repo配置文件中永久排除该特定包…

受@ewwhite的答案启发,我发现这样做效果很好

yum erase libyaml
yum install --disablerepo=rpmforge libyaml-devel