我对linux还很陌生。我用的是 Manjaro。
我运行pacman -Qe | less
并在软件包列表中,我注意到:
jdk8-openjdk 8.u282-1
jfsutils 1.1.15-7
jre8-openjdk 8.u282-1
jre8-openjdk-headless 8.u282-1
有没有办法可以找出哪些软件包依赖于上面列出的软件包?
我基本上是想找出为什么我有它们jdk8-openjdk 8.u282-1
,jre8-openjdk 8.u282-1
如果没有任何东西使用它们,我想删除它们。
但我怎样才能知道是否有其他东西正在使用它们呢?
答案1
pacman -Qi jdk8-openjdk jfsutils jre8-openjdk jre8-openjdk-headless
将显示有关给定包的信息,包括依赖于它们的包的列表(“必需者”)和选择性地需要它们的包(“可选的”)。
您可能希望对输出应用过滤器并仅选择相关信息:
pacman -Qi jdk8-openjdk jfsutils jre8-openjdk jre8-openjdk-headless |
awk '/(^Name)|(^Required By)|(^Optional For)/'
pacinfo
使用该包可以获得类似的结果(每行一个依赖项)pacutils
。在这种情况下,请local
向每个包名称添加前缀,以将结果限制为已安装的包:
pacinfo local/jdk8-openjdk local/jfsutils ...
Arch Linux软件包pactree
中还提供了pacman-contrib
一个依赖树查看器。我无法检查这一点,因为我不是 Manjaro 用户,但是查看相关的亚搏体育appGitLab页面,pacman
Manjaro 上的软件包似乎也包含了 Arch 的内容pacman-contrib
。
您可以使用它来列出依赖于以下内容的包jdk8-openjdk
:
pactree -r jdk8-openjdk
并且还包括可选的依赖项:
pactree -ro jdk8-openjdk