apt-cache が優先される代替案に対してのみ再帰的に依存するようにする

apt-cache が優先される代替案に対してのみ再帰的に依存するようにする

これは私の以前の質問に対するフォローアップの質問ですapt-rdepends はマルチアーキテクチャ情報を表示しません

apt-cacheその問題は解決しましたが、今度は依存関係のすべての選択肢を再帰的に処理する問題に遭遇しました。

$ apt-cache depends --recurse --no-recommends --no-suggests --no-breaks --no-suggests --no-replaces --no-conflicts --no-pre-depends nano 
nano
  Depends: libc6
  Depends: libncursesw5
  Depends: libtinfo5
 |Depends: dpkg
    dpkg:i386
  Depends: install-info
    install-info:i386
libc6
  Depends: libgcc1
libncursesw5
  Depends: libtinfo5
  Depends: libc6
  Recommends: libgpm2
libtinfo5
  Depends: libc6
dpkg
dpkg:i386
install-info
  Depends: libc6
install-info:i386
  Depends: libc6:i386
libgcc1
  Depends: gcc-4.9-base
  Depends: libc6
libgpm2
  Depends: libc6
libc6:i386
  Depends: libgcc1:i386
gcc-4.9-base
libgcc1:i386
  Depends: gcc-4.9-base:i386
  Depends: libc6:i386
gcc-4.9-base:i386

これにより、現在、私のパッケージ リストが約 300% 増加しています。

優先される代替パッケージのみ (この例では i386 パッケージではない) を使用するように強制する方法について何か提案はありますか?

答え1

同じ問題がありました。

-o APT::Cache::ShowOnlyFirstOr=true

これは問題の一部を解決しますが、完全には解決しません。たとえば、マルチアーキテクチャがあり、両方のアーキテクチャで同じパッケージが提供されている場合 (つまり、OR ではなく、実際に使用できる 2 つのパッケージ)、両方で再帰が発生します。

このオプションはどこにも文書化されていないようですので、警告しておくべきだと思います。また、優先オプションが常に最初であるかどうかはわかりません。

(「ShowOnlyFirstOr」がどのように使用されているかをご覧ください) https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc

関連情報