如何列出我未安装的系统的依赖包(反向依赖)?

如何列出我未安装的系统的依赖包(反向依赖)?

我知道我可以使用以下命令获取包的反向依赖列表

apt-cache rdepends <pkg>

但是,这显示了对我运行它的系统的依赖性。

我如何才能找到不同发行版(例如旧的 Debian Wheezy/Jessie)的依赖包,而无需将其安装在某处?

答案1

下载后可以apt-cache额外提供包源,让它忽略已安装的包源;例如杰西amd64

wget http://archive.debian.org/debian/dists/jessie/main/binary-amd64/Packages.xz
printf "" > /tmp/status
apt-cache -p /tmp/pkgcache -s /tmp/srccache -o Dir::State::Lists=/tmp -o Dir::State::Status=/tmp/status --with-source Packages.xz rdepends libevdev2

各种/tmp基于 的选项指示apt-cache在 中查找元数据文件/tmp;除了文件之外,它不会在那里找到任何内容status(或者,至少,它不应该 - 如果需要的话使用另一个目录),因此它只会使用给定Packages.xz文件中的信息。

答案2

apt-rdepends --reverse (递归反向依赖)也有效:

wget http://archive.debian.org/debian/dists/jessie/main/binary-amd64/Packages.xz
touch /tmp/status
apt-rdepends -o Dir::Cache::pkgcache=/tmp/pkgcache -o Dir::Cache::srcpkgcache=/tmp/srccache -o Dir::State::Lists=/tmp -o Dir::State::Status=/tmp/status -o APT::Sources::With=Packages.xz --reverse libevdev2

相关内容