使用 zypper,如何从特定存储库中删除安装的所有软件包?

使用 zypper,如何从特定存储库中删除安装的所有软件包?

假设我已经使用添加了一个存储库zypper ar。然后,我从该存储库安装了多个软件包,但现在我想删除所有这些软件包。

是否有一个命令允许我从该特定存储库中删除我安装的所有软件包?

答案1

我认为没有这样的命令。您可以列出特定存储库中的包:

zypper search --installed-only --repo devel:tools

或所有孤立的软件包(如果您已经删除了该存储库):

zypper packages --orphaned

然后,您可以尝试cut从输出中打包名称并将其传递给(zypper remove如果值得的话)。

答案2

zypper search您可以使用、awk和的组合xargs来从存储库中删除所有包。例如:

zypper se --repo openSUSE-Tumbleweed-Debug --installed | awk '/^i(\+|\s)/ {print $3}' | xargs sudo zypper rm

答案3

这条线对我来说效果很好

zypper search --installed-only --repo yourbadrepo|awk {'print $3'}|xargs sudo zypper rm 

如果你想在脚本中冒险或使用, -n 选项避免确认(可以破坏 deps)

  zypper search --installed-only --repo yourbadrepo|awk {'print $3'}|xargs sudo zypper -n rm 

相关内容