나는 공식 Debian 저장소(예 repo1
: )를 가지고 있습니다. 이제 package X
공급자( )의 저장소를 추가합니다 repo2
. 패키지 X는 공식 데비안 저장소에 없습니다. 물론, 예를 들어 repo 2
패키지가 겹치는 경우도 있을 수 있고 , 존재하지 않아 실행해야 하는 경우도 있습니다( has , has ).repo 1
package Y
package X
repo 1::package Y
version 1.0
repo 2::package Y
version 2.0
.package X
repo 2
repo 2
현재 내 생각은 거기에서만 설치할 repo2
수 있도록 제한하는 것인데 package X
어떻게 해야 할지 모르겠습니다.
내가 이것을 원하는 이유:
완전히 신뢰하지 않을 수
repo2
있으며 그곳에서 오는 패키지를 추적하고 싶습니다.package X
from 이외의 패키지가 있고repo2
해당 패키지 설치를 허용하지 않으면 문제가 발생package X
하지만 문제가 되지 않습니다. 그때 해당 소스에서 해당 패키지를 허용할지 여부를 결정할 수 있지만 무슨 일이 일어나고 있는지 미리 알 수 있습니다.
기본적으로 제가 말씀드리고 싶은 것은 의 내용 apt
외에 다른 내용이 있는지 입니다 .Package X
repo 2
내가 고려한 몇 가지 솔루션은 다음과 같습니다.
적절한 고정:
- 나는 그것이 작동하지 않을 것이라고 생각합니다. 왜냐하면
package X
requireversion 2.0
ofpackage Y
와repo1
has 는 아무리 고쳐도 사용될 것이기 때문입니다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
추출하지 않고 패키지를 제거할 수 있으면 지정 하지 않으면 실패합니다 .repo2
repo1
apt
-t repo2