我正在运行 Ubuntu 16.10,并安装了自发布以来的snapd
基本snap。 一段时间后,我发现目录中充满了多个旧版本。 要删除它们,我必须手动执行。 core
/snap/core
sudo snap remove core --revision <number>
多个版本的 snap 和垃圾收集节 Snaps 和 snapcraft 文档解释说,每次更新 snap 包之后,都会安装当前版本和之前的版本,并且会自动删除旧版本(就像之前的情况一样)。
由于我在 中找不到更多信息snap help
,我想问 中是否有设置或切换命令snapd
可以自动删除那些较旧的core
snap 包。
附加信息:我所描述的内容适用于 3 台具有相同配置的机器。
答案1
这个帖子列出了删除旧版本 snap 的几种解决方案:
popey 的手动脚本删除“所有旧版本的 snap 包”
#!/bin/bash # https://superuser.com/a/1330590 # Removes old revisions of snaps # CLOSE ALL SNAPS BEFORE RUNNING THIS set -eu snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do snap remove "$snapname" --revision="$revision" done
并且“snap set system refresh.retain”设置为“snap 2.34 及更高版本”作者:穆斯塔法·哈迪德只存储每个快照的 2 个修订版本:
$ sudo snap set system refresh.retain=2
refresh.retain 值只能是 2 到 20 之间的数字,默认值为 3
答案2
目前,我认为不可能更改任何 snap 包的旧版本数量,该数量设置为 3。如果你看到超过这个数量,那么很可能是一个 bug,因此应提交至https://bugs.launchpad.net/ubuntu/+source/snapd
答案3
使用如下命令:-
sudo snap remove chromium --revision 1461
在哪里
chromium = example software
1461 = example revision
您可以使用“mount | grep snap”来查找版本
或者
snap list --all | awk '/disabled/{print $1, $3}'
对于旧版本