Pacman 孤儿包

Pacman 孤儿包

我的印象是列出的“孤立”软件包pacman是已作为依赖项安装但不再需要的软件包。

但是查看孤立的结果,我可以看到像Inkscapettf字体这样的包显然不符合该描述。所以现在我不确定是否应该删除它们。有人可以解释什么是“孤立”包吗?

pamac 中的孤立包列表:

pamac 中的孤立包列表

相同的列表来自pacman -Qdtq

pacman 的孤立包列表

答案1

pamac 将孤立包定义为作为另一个包的要求而安装的包,但不再(可选)被任何其他包所需要(来源)。

没有查看列表中的所有软件包,但至少墨景ttf-快递-prime,ttf启发式ttf-因帕拉里-坎托拉是一些其他软件包可能需要的软件包,这表明您曾经有一些其他软件包需要它们安装并删除了它们。

答案2

man pacman解释孤儿概念:

-d, --deps
限制或过滤作为依赖项安装的包的输出。

此选项可以与 -t 结合使用来列出真正的孤儿 -
作为依赖项安装但任何已安装的软件包不再需要的软件包

pacman 打印的所有包看起来都曾经是另一个包的依赖项,因此可以安全地删除。如果您不确定,您可以运行pacman -Qi $package一个包来查看它提供了什么或需要什么。

答案3

为了方便起见,我有这个~/.bash_aliases可以让我轻松清理孤立的包:

# Remove orphaned packages.
# Needs single quotes, otherwise the newlines that "pacman -Qqdt" outputs
# cause trouble.
# The parentheses create a subshell meaning "set -x" that prints the executed
# Bash commands is unset when the subshell exits at the end of the command.
# Arguments to "pacman -Q":
#    -d restrict output to packages installed as dependencies
#    -t list packages that are no longer required by any installed package
#    -q suppress version numbers of packages (this would confuse pacman -R)
alias cleanup_packages='(set -x; sudo pacman -Rs $(pacman -Qdtq))'

相关内容