当我输入:
$ mount|grep snap
/var/lib/snapd/snaps/ubuntu-core_352.snap on /snap/ubuntu-core/352 type squashfs (ro,relatime)
/var/lib/snapd/snaps/ubuntu-core_423.snap on /snap/ubuntu-core/423 type squashfs (ro,relatime)
/var/lib/snapd/snaps/ubuntu-core_122.snap on /snap/ubuntu-core/122 type squashfs (ro,relatime)
我看到几个旧的 snap 被“安装”并且可用,而只有最新版本被用作当前的在/snap/ubuntu-core
这不是什么大问题,但我需要较旧的 ubuntu 核心吗?这难道不是未删除的错误吗?我可以简单地卸载并删除文件吗?
答案1
sudo snap remove core --revision 122
sudo snap remove core --revision 352
因此,基本上在命令行中传递要删除的修订。
要检查已安装的程序,您必须使用snap list [snap-name] --all
答案2
要完全删除 snap 核心、snap 和已挂载的文件系统:
列出已安装的 snap 核心
snap list --all
应该会给你类似这样的信息:Name Version Rev Tracking Publisher Notes core 16-2.41 7713 stable canonical✓ core,disabled core 16-2.42 7917 stable canonical✓ core
首先删除禁用的,
snap remove core --revision 7713
注意步骤 1 中的 Rev 列应该匹配 --revision卸载 snapd (在 Ubuntu 上
apt-get purge snapd
:)检查 snap 是否仍然挂载(例如
df -H
)会给出类似的提示
/dev/loop0 94M 94M 0 100% /snap/core/7917
并卸载它umount /snap/core/7917
,但不应该如果仍有挂载的文件系统,则应尝试手动清理/etc/systemd/system/snap-core-*一些文件。
下次您的服务器重新启动时,快照将不再存在,除非您由于某种原因再次安装/删除 snapd...
答案3
因此我卸载了旧的 snap 包:
sudo umount /snap/ubuntu-core/122
然后进行一些手动清理
sudo rmdir /snap/ubuntu-core/122
sudo rm /var/lib/snapd/snaps/ubuntu-core_122.snap
另一个也一样。天还没塌下来……
答案4
完成后,您可以snap revert
回滚到较旧的 snap 版本。