다음 패키지에 의존하는 메타 패키지를 만들어 보자
Depends: A (=2),
B (=2),
C (=2)
‘=’에 주목하십시오-가장 최신 버전이 아닌 특정 버전을 설치하고 싶습니다.
또한 :
B 는 A에 의존합니다 (> = 1)
C 는 B (> = 1) 및 A (> = 1)에 따라 다름
리포지토리에서 A, B, C의 최신 버전이 2 인 경우 작동합니다.
repo sudo apt-get install에 버전 3 A와 버전 3 B를 넣었으므로 my-meta-package는 다음 정보로 끝나기를 거부합니다.
The following packages have unmet dependencies:
my-meta-package: Depends: B (= 2) but 3 is to be installed
Depends: A (= 2) but 3 is to be installed
A 및 B 버전 2를 수동으로 설치하면 메타 패키지가 올바르게 설치되므로 A3 또는 B3에 숨겨진 종속성이 없음을 강력하게 제안합니다. 메타 패키지는 많은 컴퓨터에 자동으로 설치되므로이 문제에 대한 해결책은 아닙니다.
질문 : sudo apt-get install my-meta-package 설치 버전 2,2,2를 만들려면 어떻게해야합니까?
또한 실제로 A 버전 3과 B 버전 3이 필요한 확장 정보를 얻을 수있는 방법이 있습니까?
답변
설치할 특정 버전을 선택하고 메타 패키지를 설치할 때 동시에 설치해야합니다.
sudo apt-get install meta-package package1=2 package2=2 package3=2
int_ua의 답변 에서 알 수 있듯이 다음 과 같이 역 종속성을 찾을 수 있습니다.
apt-cache rdepends package
해당 패키지에 대한 자세한 정보 ( 사용 가능한 버전, 종속성 등) 를 알고 싶으면 다음을 사용하십시오.
apt-cache show package
설치를 완료하고 시스템 업그레이드를 수행하는 동안 해당 버전을 유지하려면 belacqua에서 제안한대로 적절한 고정 을 사용해야 합니다.
APT 피닝
APT 고정 기능을 통해 관리자는 APT가 다른 리포지토리의 다른 버전으로 제공되는 특정 버전의 패키지를 선택하도록 할 수 있습니다. 이를 통해 관리자는 패키지가 시스템의 다른 패키지와 충돌 할 수 있거나 적절하지 않은 변경에 대해 충분히 테스트되지 않은 버전으로 업그레이드되지 않도록 할 수 있습니다. 이렇게하려면 APT 환경 설정 파일 (/ etc / apt / preferences)의 핀을 수정해야합니다.
답변
먼저 의존성을 설치해 볼 수 있습니다
sudo apt-get install package=2
여기서 2는 버전입니다
패키지에 따라 어떤 패키지가 의존하는지 확인할 수 있습니다.
apt-cache rdepends package