私は公式のDebianリポジトリ(例えばrepo1
)を持っています。次に、package X
プロバイダ()のリポジトリを追加しますrepo2
。パッケージ X は公式の Debian リポジトリにはありません。もちろん、例えば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