我如何管理 snapd 保留应用程序的修订数量?

我如何管理 snapd 保留应用程序的修订数量?

所以我安装了 vlc 每日构建的 snap 包。

它运行良好,没有任何问题。但是我注意到升级后系统有 2 个版本的 vlc(7 和 9)。浏览 /snap/vlc/ 目录并使用系统监视器时可以看到这一点。

其他快照也有这种情况。有没有办法自动删除旧版本的快照?还是我只需使用普通的“rm”命令即可删除它们?以这种方式删除它们安全吗?

答案1

为了Ubuntu 20.04 及更高版本,snapd 将自动保留默认情况下,修订版本 (通常是当前版本加上一个较旧的版本),并将删除较旧的版本。

为了Ubuntu 18.04 及更早版本,snapd 将自动保留默认情况下,修订版本(通常是当前版本加上两个较旧的版本),并将删除较旧的版本。

2018年年中,snapd 已更新这样修订的次数就是可配置的(但不会少于 2)。

使用命令:

snap set system refresh.retain=N

N 不能小于二。

答案2

在与 Ubuntu 开发人员的交谈中,当前的默认设置是保留 snap 的三个先前版本,以便您可以在需要时回滚到先前版本。此默认设置不可配置。

您可以使用该命令snap remove --revision=<an old one> snapname删除快照的旧版本。

他们正在考虑是否仅将当前快照安装为循环文件系统,但我不知道其状态。

答案3

回答道格,稍微延伸

/snap/*是只读的,快照安装在那里。这样做的原因是snapd允许您回滚到给定快照的旧版本,这就是它保留多个版本的原因。调用snap remove将再次从系统中删除它们。快照有 ar/w 位置,但那无关紧要。https://developer.ubuntu.com/en/snappy/guides/garbage需要更新,但它解释了一般的概念。

回滚使用以下方法完成snap revert

daniel@daydream:~$ snap revert --help 用法:snap [OPTIONS] revert []

恢复命令将给定的 snap 恢复到最新刷新之前的状态。这将重新激活之前的 snap 修订版本,并使用与该修订版本关联的原始数据,丢弃最新修订版本所做的任何数据更改。但例外的是,snap 明确选择在修订版本之间共享的数据不受恢复过程的影响。

应用程序选项:--version打印版本并退出

帮助选项:-h,--help 显示此帮助消息 daniel@daydream:~$

相关内容