旧的Ubuntu核心快照版本占用了磁盘空间


23

自发布以来,我正在运行Ubuntu 16.10 snapdcore安装了基本快照。
一段时间后,我发现该/snap/core目录充满了多个较旧的版本。
要删除它们,我必须sudo snap remove core --revision <number>手动执行。

Snaps和snapcraft文档中的“快照和垃圾回收的多个版本”部分 说明,在快照包的每次更新后,都会安装当前版本和之前的版本,并且较旧的版本会自动删除(与以前的情况一样)。

由于无法在中找到更多信息snap help,因此我询问是否有设置或切换命令snapd可启用自动删除那些较旧的core快照程序包的功能。
附加信息:我所描述的内容对配置相同的3台机器有效。


1
snapd中的默认值是保留3个版本,即当前版本和前两个版本。你看到了几个?
popey

2
感谢您提供此信息@popey!每当发现两个以上的core版本时,我都会手动卸载最旧的一个版本,并且在大多数情况下,我会看到三个已安装的版本,但是我不确定是否也找到了四个版本。为什么文档提供了不同的信息?是否可以更改默认设置以仅保留当前设置和之前的设置?也许您可以通过写一个答案来解释它?:)
cl-netbox

如果您看到的数量超过3,则说明这是我的错误,因此请将其提交到bugs.launchpad.net/ubuntu/+source/snapd。将需要查看“快照更改”的输出并可能在/ snap / <appname>中显示目录列表以显示多个已安装的版本。
popey

Answers:



5

帖子/superuser/1310825/how-to-remove-old-version-of-installed-snaps列出了几种用于删除较旧快照版本的解决方案:

手动脚本由popey删除“所有旧版本卡扣” - /superuser//a/1330590

#!/bin/bash
# /superuser//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

Mustapha Hadid的“快照2.34及更高版本”的“快照设置系统refresh.retain”设置仅存储每个快照/superuser//a/1361201的 2个修订:

$ sudo snap set system refresh.retain=2 

refresh.retain值只能是2到20之间的数字,默认值为3


3
我已经运行了sudo snap set system refresh.retain = 2,但是仍然有一些快照的三个副本,该怎么办?
兔子
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.