2012-04-09 2 views
3

매번 #sudo yum 업데이트를 시도 할 때마다 PyYAML-3.08-4.el5.x86_64에 의존성이 없다는 경고가 나타납니다. libyaml-0.so.1() (64 비트).YUM은 CentOS 5.8에서 PyYAML과 libyaml에 대해 불평합니다

그래서 몇 가지 검사를했는데 libyaml이 실제로 설치되어있는 것 같습니다. 그래서 PyYAML과 libyaml을 설치하는 데있어서 무엇이 잘못되었는지 궁금합니다. libyaml은 PyYAML에 의해 자동으로 잡아 당겨 졌는데, 나는 이상한 일이 repo에서 일어나고 있다고 생각하게 만듭니다.

[[email protected] ~]# 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 

그래서 우리는 우리가 문제를 알고, 그래서 곳 libyaml은 어쨌든 다음과 같이 YUM의 출력은?

[[email protected] ~]$ 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 

라이브러리가 존재합니까?

[[email protected] ~]$ ls /usr/lib64/libyaml-0.so.1* 
/usr/lib64/libyaml-0.so.1 /usr/lib64/libyaml-0.so.1.1.0 

32 비트는합니까?

[[email protected] ~]$ ls /usr/lib/libyaml-0.so.1* 
/usr/lib/libyaml-0.so.1 /usr/lib/libyaml-0.so.1.1.0 

둘 다 존재합니다. 그래서 무엇이 문제입니까?!?

답변

5

이것은 ServerFault 질문의 이상이지만, Cobbler를 업데이트/설치하는 것과 동일한 문제가 발생했습니다. 현재이 기능을 활성화 한 다중 리포지토리의 문제입니다. 일반적으로 두 저장소를 동시에 영구적으로 활성화하는 것은 좋지 않습니다. libyaml 패키지와 RPMForge 패키지 사이에 약간의 충돌이 있으며 EPEL 저장소를 통해 제공되는 패키지가 있습니다.

yum erase libyaml을 통해 RPMForge 패키지를 지우려면 yum update --disablerepo=rpmforge으로 업데이트를 계속하십시오. 또한 @ewwhite의 대답에 의해 영감을

1

내가이 잘

yum erase libyaml 
yum install --disablerepo=rpmforge libyaml-devel 
작동하고 발견 ... 영구적으로 RPMForge의 repo 설정 파일에서 특정 패키지를 제외하여 추가 단계를 갈 수있다
관련 문제