저장소에서 설치할 수 있는 패키지 제한

저장소에서 설치할 수 있는 패키지 제한

나는 공식 Debian 저장소(예 repo1: )를 가지고 있습니다. 이제 package X공급자( )의 저장소를 추가합니다 repo2. 패키지 X는 공식 데비안 저장소에 없습니다. 물론, 예를 들어 repo 2패키지가 겹치는 경우도 있을 수 있고 , 존재하지 않아 실행해야 하는 경우도 있습니다( has , has ).repo 1package Ypackage Xrepo 1::package Yversion 1.0repo 2::package Yversion 2.0

.package Xrepo 2repo 2

현재 내 생각은 거기에서만 설치할 repo2수 있도록 제한하는 것인데 package X어떻게 해야 할지 모르겠습니다.

내가 이것을 원하는 이유:

  • 완전히 신뢰하지 않을 수 repo2있으며 그곳에서 오는 패키지를 추적하고 싶습니다.

  • package Xfrom 이외의 패키지가 있고 repo2해당 패키지 설치를 허용하지 않으면 문제가 발생 package X하지만 문제가 되지 않습니다. 그때 해당 소스에서 해당 패키지를 허용할지 여부를 결정할 수 있지만 무슨 일이 일어나고 있는지 미리 알 수 있습니다.

기본적으로 제가 말씀드리고 싶은 것은 의 내용 apt외에 다른 내용이 있는지 입니다 .Package Xrepo 2


내가 고려한 몇 가지 솔루션은 다음과 같습니다.

적절한 고정:

  • 나는 그것이 작동하지 않을 것이라고 생각합니다. 왜냐하면 package Xrequire version 2.0of package Yrepo1has 는 아무리 고쳐도 사용될 것이기 때문입니다 version 1.0.repo 2

Packages.gz다음 에서 조정 repo 2:

  • 이것이 어떻게 달성될 수 있는지 모르겠습니다

답변1

apt결정된여기서 일할 수 있어요. 다음과 같은 항목을 추가하세요.

Package: *
Pin: origin repo2
Pin-Priority: 100

이렇게 하면 설치가 허용되지만 repo2패키지가 두 버전 모두에 존재하며 repo1업그레이드 된 버전이 repo2선호됩니다 repo1. repo2다른 패키지가 특정 버전을 필요로 하는 repo2경우 적절한 옵션 apt과 함께 사용하도록 요청할 수 있습니다 -t. 이는 백포트된 저장소에서 사용되는 것과 동일한 설정입니다.

결국 다음과 같은 동작이 발생합니다.

$ sudo apt install moosefs-client/bullseye-backports
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Selected version '3.0.116-1~bpo11+1' (Debian Backports:bullseye-backports [amd64]) for 'moosefs-client'
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following packages were automatically installed and are no longer required:
  gconf2 libgsf-bin
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libmfsio1
The following NEW packages will be installed:
  libmfsio1 moosefs-client
0 upgraded, 2 newly installed, 0 to remove and 15 not upgraded.
Need to get 504 kB of archives.
After this operation, 1,580 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://deb.debian.org/debian bullseye/main amd64 libmfsio1 amd64 3.0.115-1 [171 kB]
Get:2 http://deb.debian.org/debian bullseye-backports/main amd64 moosefs-client amd64 3.0.116-1~bpo11+1 [333 kB]
Fetched 504 kB in 0s (1,395 kB/s)       
...

제공된 백포트 버전을 요청했고 moosefs-client백 포트 버전 대신 apt기본 버전을 선택했습니다 . libmfsio1이를 지정하면 -t bullseye-backports백포트에서 둘 다 선택됩니다. 에서만 사용 가능한 패키지의 경우에는 repo2전혀 지정할 필요가 없습니다. 이전 버전이 포함된 다른 패키지를 /repo2추출하지 않고 패키지를 제거할 수 있으면 지정 하지 않으면 실패합니다 .repo2repo1apt-t repo2

관련 정보