이 RPM이 "제거 가능"한 이유는 무엇입니까?

이 RPM이 "제거 가능"한 이유는 무엇입니까?

가끔 Zypper에 설치를 요청하면 다음과 유사한 메시지가 표시됩니다.

Problem: foo-tools requires foo-lib, but this requirement cannot be provided

Problem: foo-tools requires foo-lib, but this requirement cannot be provided
  uninstallable providers: foo-lib.7.31.13.x86_64
Solution 1: do not install foo-tools
Solution 2: break foo-tools by ignoring some of its dependencies

Zypper는 왜 제가 의도적으로 제공한 RPM을 "제거 가능한 공급자"로 간주합니까? 이 메시지는 무엇을 의미하나요?의미는? RPM 파일을 읽을 수 없습니까? 아치가 틀렸나요? 잘못된 버전인가요?당신은 무엇을 걱정하고 있습니까? ?

답변1

foo-lib자체적으로 충족되지 않은 종속성이 있는 것으로 나타났습니다 . 이를 추가하면 문제가 해결되었습니다.

하지만 문제는... Zypper는 왜 그렇지 않습니까?설명하다여기에 문제가 있는 걸까요? 일반적으로 종속성 문제가 발생하면 특정 패키지를 찾을 수 없다는 메시지가 표시됩니다. 이 불투명한 "제거 가능한 공급자" 메시지가 나타나는 이유는 무엇입니까?

답변2

RPM은 시스템에 설치된 파일(예: 바이너리 실행 파일 및 공유 라이브러리)의 데이터베이스를 유지합니다.

일부 소프트웨어(예: foo-tools)가 제대로 작동하려면 다른 소프트웨어(예: foo-lib)가 필요합니다. 이 종속성 정보는 RPM 패키지 프로그램에 의해 결정됩니다.

foo-lib 및 foo-tools를 RPM 파일로 사용할 수 있지만 둘 다 설치되지 않은 경우 명령줄(또는 동등한 zypper 해당)에서 RPM에 (모두) 제공하여 RPM See all 종속성이 충족되도록 할 수 있습니다. 또 다른 옵션은 필수 구성 요소 패키지를 먼저 설치하는 것입니다.

foo-lib에 자체 종속성이 있는 경우 이러한 종속성도 충족되어야 합니다. 그렇지 않은 경우 foo-lib는 foo-lib에 대해 설치 가능한 공급자가 아닙니다.

권장되지 않음: 전제 조건이 다른 방법으로 충족되었는지 확인하십시오(필요한 항목을 수동으로 설치하고, 가능하면 소스에서 Zypper가 종속성을 무시하도록 강제합니다. 그렇게 하면 나중에 문제가 발생할 수 있으므로 그렇게 하지 마십시오.

관련 정보