如何确定哪些快照是依赖项,哪些是手动安装的

ctr*_*lor 9 snap

我已经安装了一些 snap 包 ( snap install \xe2\x80\xa6)。我可以用来snap list列出它们。但是我无法区分哪些是手动安装的,哪些是因为其他软件包依赖于它们而安装的(auto在 apt 中)。我想删除自动安装的软件包(apt autoremove在 apt 中),(docker system prune在 docker 中)。

\n

ant*_*ris 1

据我所知,目前没有修剪/自动删除功能,但您可以尝试一下

snap connections
Run Code Online (Sandbox Code Playgroud)

它将列出各种快照提供的连接以及彼此之间以及系统之间的连接,因此您可以尝试找出哪些快照没有以任何有意义的方式连接到您实际需要的任何内容,并remove手动找出它们。

您可以通过运行检查特定快照的连接snap connections <snap>,例如:

$ snap connections gnome-3-38-2004
Run Code Online (Sandbox Code Playgroud)
Interface                 Plug                                       Slot                             Notes
content[gnome-3-38-2004]  firefox:gnome-3-38-2004                    gnome-3-38-2004:gnome-3-38-2004  -
content[gnome-3-38-2004]  gimp:gnome-3-38-2004                       gnome-3-38-2004:gnome-3-38-2004  -
content[gnome-3-38-2004]  snap-store:gnome-3-38-2004                 gnome-3-38-2004:gnome-3-38-2004  -
content[gnome-3-38-2004]  snapd-desktop-integration:gnome-3-38-2004  gnome-3-38-2004:gnome-3-38-2004  -
Run Code Online (Sandbox Code Playgroud)

请记住,连接列表不包括作为其他快照基础的快照关系(例如bare和 所有core快照,即core18core20)。

感谢这个答案为我指明了正确的方向。


Jac*_*sey -2

snap remove <snap name>
Run Code Online (Sandbox Code Playgroud)

是一把大锤,但如果存在的话,将无法声明依赖关系。

例如,安装了 Firefox snap 后,尝试删除其核心框架:

snap install firefox
snap remove core20
Run Code Online (Sandbox Code Playgroud)

错误状态snap is being used by firefox

连接中还存在较软的依赖关系,例如

snap install firefox
snap connections | grep gtk-common-themes
snap remove gtk-common-themes
Run Code Online (Sandbox Code Playgroud)

  • 这是一个非常糟糕的建议。“snap remove”在依赖项删除时不会出错,只会在尝试删除基本快照时出错。连接*是*快照依赖项,如果连接断开,快照将无法运行,没有什么“软”的。如果您没有尝试从控制台启动这样一个损坏的 GUI 快照,您甚至不会看到为什么什么也没有发生的错误消息。 (3认同)