有没有办法了解为什么需要某个包的某些依赖项?

Mar*_*tin 3 apt dependencies package-management deb

我即将安装mysql-client-5.5具有debianutils依赖项的包。但是,我首先检查了哪些二进制文件与 package.json 一起安装debianutils。它安装9个公用设施:savelogischrootadd-shellremove-shellwhichtempfilerun-partsinstallkernel。这些实用程序中的任何一个真的需要mysql-client-5.5吗?是通过查看mysql-client-5.5包的源代码来检查这一点的唯一方法还是有更方便的方法?

Ste*_*itt 5

没有普遍的答案。有时您可以在包的描述中找到有关依赖项的更多信息;这对于“推荐:”或“建议:”而不是完整的“依赖:”更常见,以帮助用户决定是否安装弱依赖项。另一个信息来源可以是包的变更日志;这有时会表明添加依赖项的原因。

mysql-client-5.5这种情况下,依赖本身提供了一个线索:它是debianutils (>= 1.6). 查看debianutil的变更日志表明引入了 1.6 版tempfilesensible-editor并且sensible-pager。将搜索限制在这三个 inmysql-client-5.5显示启动脚本使用tempfile,这证明了对debianutils.