如何在apt中找到依赖某个包的包?

Kzq*_*qai 23 debian apt dependencies package-management

我怎样才能得到,不是包的依赖,而是依赖某个包的包?

我在我的 Web 服务器上使用 debian 6.0 Squeeze-LTS(第一次扩展以获取长期支持!),它报告说对某个软件包的支持已经结束:

Unfortunately, it has been necessary to limit security support for some
packages.

The following packages found on this system are affected by this:

* Source:libplrpc-perl, ended on 2014-05-31 at version 0.2020-2
  Details: Not supported in squeeze LTS
 Affected binary package:
 - libplrpc-perl (installed version: 0.2020-2)
Run Code Online (Sandbox Code Playgroud)

我真的不想在没有看到依赖于它的东西的情况下尝试卸载那个二进制包,它的描述描述了我以前从未听说过的东西:

libplrpc-perl: Perl extensions for writing PlRPC servers and clients
Run Code Online (Sandbox Code Playgroud)

因此,如果可能的话,我只删除包就可以了,但想在这样做之前确定依赖于它的东西。

Mat*_*ias 24

另一种解决方案是运行apt-cache rdepends libplrpc-perl.


War*_*ick 12

  • 为什么安装:

    aptitude why libplrpc-perl

  • 什么取决于这个包:

    aptitude search '~i~Dlibplrpc-perl'

  • 如果删除 libplrpc-perl 会发生什么:

    aptitude -s purge libplrpc-perl


Fah*_*tha 6

这些被称为反向依赖。

apt-rdepends -r libplrpc-perl | less
Run Code Online (Sandbox Code Playgroud)

应该做你想做的。这显示了指定包的反向依赖关系,然后以递归方式显示这些反向依赖关系的反向依赖关系,依此类推。libplrpc-perl没有任何反向依赖,所以也许更好的选择是

apt-rdepends -r libslang2 | less
Run Code Online (Sandbox Code Playgroud)


tin*_*ink 5

这做你想要/需要的吗?

aptitude -v --show-summary=all-packages why <package>
Run Code Online (Sandbox Code Playgroud)