![APT - 知道哪个包导致另一个包的自动安装?](https://linux22.com/image/929054/APT%20-%20%E7%9F%A5%E9%81%93%E5%93%AA%E4%B8%AA%E5%8C%85%E5%AF%BC%E8%87%B4%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%8C%85%E7%9A%84%E8%87%AA%E5%8A%A8%E5%AE%89%E8%A3%85%EF%BC%9F.png)
apt 是否支持查询导致安装另一个软件包的软件包?
使用 - 列出包时apt list packagex
,我们可以从输出中知道该包是手动安装的还是自动安装的。比如说,packagex
是自动安装的。
现在,我想找出哪个包导致了安装packagex
。(仅使用查找反向依赖项apt-cache showpkg packagex
可能不够,因为可能有多个依赖于的包packagex
)
答案1
如果您已经aptitude
安装那么...
aptitude why PACKAGENAME
给你你想要的。
如果没有,您可以使用 来安装它sudo apt install aptitude
。
示例输出:
user:~$ aptitude why nvidia-driver-450
i nvidia-driver-440 Depends nvidia-driver-450
user:~$ aptitude why nvidia-driver-440
Manually installed, current version 450.66-0ubuntu0.18.04.1, priority optional
No dependencies require to install nvidia-driver-440