여러 종속성이 있는 패키지가 있습니다. 지정된 패키지와 해당 종속성을 사용하여 저장소를 업데이트했지만 패키지 종속성을 업데이트할 때 필수 버전이 이미 설치되어 있으므로 패키지 종속성이 업데이트되지 않았습니다.
이러한 종속성을 강제로 업데이트하려면 어떻게 해야 합니까?
이를 명확히 하기 위한 예는 다음과 같습니다.
나는 설치했다
RPM_A_1.0
의존성이 있는 사람:
RPM_B version 2.1
RPM_C version 1.1
이제 저장소를 업데이트하여 다음 버전을 갖게 되었습니다.
RPM_A_2.0
RPM_B version 2.1-12
RPM_C version 1.1-12
다른 사람에게 전화를 걸 때 RPM이 업데이트되지 않고 yum update RPM_A
강제로 업데이트하고 싶습니다.
답변1
현재 설정으로는 이 작업을 수행하는 쉬운 방법이 없습니다. Puppet은 RPM_A 버전 2.0이 설치되어 있는지만 확인합니다. 설치되어 있고 필요한 버전인 것으로 확인되면 거의 완료된 것입니다.
puppet/yum이 패키지 RPM_A를 1.0에서 2.0으로 업데이트하는 경우, RPM_A에 특정 최신 버전의 RPM_B 및 RPM_C가 필요함을 나타내는 특정 종속성이 없으면 yum은 RPM_B 및 RPM_C의 새 버전을 가져오지 않습니다. 설치된 패키지가 표시되며 RPM_A만 업데이트하려고 하므로 RPM_B 및 RPM_C의 새 버전을 얻을 필요가 없습니다.
원하는 작업을 수행하는 방법에는 여러 가지가 있습니다.
RPM_A를 빌드하는 사람이라면 사양 파일에 RPM_B 및 RPM_C에 대한 특정 버전 요구 사항을 넣어 RPM_A가 업데이트될 때 yum이 이를 선택할 수 있습니다.
RPM_B 및 RPM_C에 대한 패키지 유형을 생성하여 매니페스트에 배치하고 RPM_A를 이에 종속되게 만들 수 있습니다.
설치해야 하는 특정 버전의 RPM_A, RPM_B 및 RPM_C를 나열하기 위해서만 존재하는 일부 메타패키지를 만듭니다. 이 옵션은 기본적으로 옵션 2와 동일하기 때문에 약간 어리석지만, 꼭두각시 매니페스트 대신 사양 파일에서 동일한 작업을 수행합니다.