如何安全地卸载由过渡包安装的 snap?例如,我将安装了 chromium-browser 的系统从 20.04 升级到 22.04。结果,chromium-browser 升级为:
rc chromium-browser 1:85.0.4183.83-0ubuntu0.20.04.2 amd64 Transitional package - chromium-browser -> chromium snap
这导致 /snap/chromium 被填充
我现在需要卸载它。我apt-get remove
卸载了chromium
和chromium-browser
包(然后apt-get autoremove
卸载了所有孤立的依赖项),但是 /snap/chromium 并没有变小。 dpkg -l | grep chromium
仍然显示chromium-browser
上面的行。
删除此快照的正确方法是什么,而不会使过渡包不同步?
我之所以问这个问题,是因为我有一堆其他的 /snap/* 目录需要清理,以便在这个较小的老化系统上恢复磁盘空间,但是它们必须由 apt 安装,而且我不想直接删除 snap 包。
答案1
“过渡”包不包含应用程序文件。它们本质上只是一个运行的脚本snap install <snap-package-name>
,可能会将任何用户数据复制到 ~/.snap/ 中的新位置。
过渡包安装一次后就完成了。运行脚本并安装 snap 是 apt 安装过程的一部分——您不需要“运行”它或“启动”它;apt 已经为您完成了。它的工作已经完成。
安装 snap 不需要过渡的 apt 包;
snap install <snap-name>
如果你愿意的话,你可以自己安装。过渡包可以随时安全删除...或安全保留安装。Apt 不会抱怨,因为过渡包没有 deb 依赖项。
如何删除过渡包:
sudo apt remove <transitional-package>
过渡方案是单程旅行。您无法使用 apt 删除 snap 包。删除 apt 包不会删除 snap,而且删除 apt 包不会破坏任何东西。
如果要删除 snap 包,请使用命令snap
。
要删除新安装的 snap 包:
sudo snap remove <snap-package-name>
如果您不知道 snap 包名称,请运行
snap list
查看安装了哪些 snap 包。过渡 apt 软件包不会在意您是否删除了 snap。但是,如果安装了 apt 软件包,它可能会尝试在将来重新安装 snap。