我知道我可以使用以下命令获取包的反向依赖列表
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