リポジトリからインストールできるパッケージの制限

リポジトリからインストールできるパッケージの制限

私は公式のDebianリポジトリ(例えばrepo1)を持っています。次に、package Xプロバイダ()のリポジトリを追加しますrepo2。パッケージ X は公式の Debian リポジトリにはありません。もちろん、例えば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.0ofpackage Yrepo1has はいくら修正しても使用されるからですversion 1.0repo 2

Packages.gz次から調整repo 2

  • これがどのように達成できるかわかりません。

ベストアンサー1

apt決定したここで働くことができます。。次の項目を追加してください。

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

これによりインストールが許可されますが、repo2パッケージは両方のバージョンに存在し、アップグレードされrepo1たバージョンがrepo2優先されますrepo1repo2他のパッケージが特定のバージョンを必要とする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

おすすめ記事