使 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

这解决了一些问题,但并不完全 - 例如,当您有多架构并且在两种架构中提供相同的包时(即不是“或”,而是实际上可以使用两个包),那么您就会在两者上得到递归。

我想我应该警告你这个选项似乎没有记录在任何地方。另外,我不知道首选选项是否始终是第一个。

(参见如何使用“ShowOnlyFirstOr” https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc

相关内容