2014-06-17 2 views
0

레시피와 관련된 일부 종속성이있을 수있는 래서 피 패키지를 제거하려면 어떻게합니까?요리사와 함께 rpm 패키지를 의존성과 함께 제거하려면 어떻게해야합니까?

나의 유스 케이스는 내가 테스터이며, 테스트 환경을 설정/업그레이드/다운 그레이드하기 위해 요리사를 사용한다는 것이다.

rpm_package rpmName do 
    action[:remove] 
end 

그러나, 때때로 내 환경 또한 주요 애플 리케이션의 회전 수에 따라 달라집니다 추가 "플러그인"RPM을 설치합니다 : I 업그레이드 깨끗한 환경을 보장하기 위해, 나는 사용하여 설치된 응용 프로그램을 제거합니다.

Chef::Exceptions::Exec 
---------------------- 
rpm -e <main app> returned 1, expected 0 

를 그리고 서버에서 : 나는 요리사를 실행하고 제거 주요 응용 프로그램의 패키지 명령을 실행하면, 요리사 때문에 의존성 문제로 실패

[[email protected] ~]# rpm -e <main app> 
error: Failed dependencies: 
<main app> >= X.x.x is needed by (installed) <plugin rpm> 

내가 rpm_package의 요리사 문서 보았다, 그러나 나를 도울 수있는 무엇이든을 가로 질러 오지 않았다. 누구든지 어떤 제안이 있습니까?

답변

1

yum을 사용하는 요리사 규칙이 있습니까? 다른 패키지의 의존성 인 패키지를 제거하기 위해 yum에게 묻는 것은 의존 패키지를 제거 할 것을 요청할 것이고, 그렇게하지 않으면 실패 할 것이다.

+0

요리사는 요리법 (아마 당신이 말하는 내용)을 사용합니다. 그렇습니다. yum 자원입니다. 그러나, 그것은 우리가 시간이없는 프로젝트 인 yum repo를 어딘지에서 유지하기 위해 많은 노력을 필요로합니다. 따라서 RPM을 사용하는 이유는 무엇입니까? – bbbco

+1

@bbbco '얌 제거'를 사용하기 위해 냠 메시지가 필요하지 않습니다. –

+0

아, 나는 그것을 몰랐다. 나는 그것을 시도하고 그것은 작동하는 것 같습니다. '냠 제거 '입니다! – bbbco

1

불행히도 이것은 요리사가 아니라 RPM의 부산물입니다. RPM을 쿼리하여 의존성으로 사용하는 패키지를 찾아서 먼저 제거해야합니다. 그것은 역 의존성 관리와 같습니다.

+0

좋아, RPM을 가져 와서 요리사 코드를 사용하여 반복하는 방법을 알려주세요. – bbbco

+0

http://www.cyberciti.biz/faq/how-do-i-find-what-dependencies-a-rpm-file-has/ – sethvargo

관련 문제