如何找到哪个包需要另一个包?

如何找到哪个包需要另一个包?

我正在寻找哪个不再安装的软件包依赖于 rsync。现在apt-get autoremove想要删除,rsync所以我猜测它是作为依赖项的一部分安装的,而不是手动安装的,我很好奇哪个包依赖于它。

我可以在日志中搜索类似的内容吗“X 需要 Y,所以我也会安装 Y”?或者它甚至存储哪个反向依赖需要它,就像它存储它不是由用户安装一样?

答案1

apt不记得哪个反向依赖项导致它安装rsync,但它确实将其所有操作记录在 中/var/log/apt,因此您可能会在那里找到依赖项:

zgrep rsync /var/log/apt/history.log*

查找一行说明rsync已自动安装;非自动软件包之一应该有安装源。

您还可以检查rsync的反向依赖关系,例如使用aptitude, 或apt-rdepends -r, 或reverse-depends(在ubuntu-dev-tools), 或grep-dctrl

请注意,它rsync可能是卸载的候选者,不是因为依赖它的软件包被卸载,而是因为导致它安装的任何软件包都不再依赖于它。这有点难以追踪......

作为指出经过CAS,您可以通过将其标记为手动安装(如果已安装,则不会实际安装)或 来告诉apt保留rsync,无论哪个包依赖于它。apt-get install rsyncrsyncapt-mark manual rsync

相关内容