Answers:
apt-cache rdepends packagename
应该做你想做的
--installed
,则输出对于可被许多其他程序使用的包甚至很有用:apt-cache rdepends --installed packagename
sudo apt rdepends packagename
(请注意,它不是在使用apt-cache,而只是在使用apt)
aptitude有一个相当不错的方式来处理此问题:
$ aptitude why bash
i foomatic-filters PreDepends bash (>= 2.05)
默认情况下,它仅列出“安装最多,最坚固,最紧密,最短”的原因,但您可以使用aptitude -v why
它来输出找到的所有内容。
reverse-depends
在ubuntu-dev-tools
ubuntu-dev-tools
在Debian中
openssh-server
建议(并因此安装)xauth
在无头服务器上,每个月拖入数百个 x11依赖项和数十个无用的更新。这就是自动化包装管理的问题!
有不止一种方法,每种方法都显示不同的输出。
有关完整的反向依赖关系树的详细视图;
aptitude install apt-rdepends
apt-rdepends -r bash
或者
apt-cache showpkg bash
或简明清单:
apt-cache rdepends bash
rdepends
那棵树到底显示了什么?apt-rdepends php7.0-fpm
显示sed
。sed
不依赖于PHP,更不用说PHP FPM了。
apt-rdepends -r yourPackageNameHere
最简单的选项仍然是:
apt rdepends package-name
这不需要您安装任何软件包。
apt-cache
s的输出不同。这正是我现在需要的(调试glibc 2.28不兼容,因此颇受好评)
除了其他好的答案之外,APT / APT-GET -s
还执行“模拟”删除(或安装)。
sudo apt -s remove <pkgname>
使用-s
或--simulated
删除(或安装)软件包通常会列出所有受影响的依赖项。删除时将显示孤立的软件包,而安装时将显示孤立的软件包,而无需实际执行install
or remove
。仅供参考。
apt remove -s php7.0-fpm
显示The following additional packages will be installed: apache2 apache2-bin apache2-data libapache2-mod-php7.0 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0
。如果删除PHP FPM,为什么会安装apache?