控制 snap 包更新时间

控制 snap 包更新时间

我正在听最新的 latenightlinux,然后被提及snapd 守护进程具有某种 systemd 集成,可以自动更新 snap。我想知道如何在我的系统上对此进行更精细的控制。

它是否与软件和更新 > 自动检查更新选项集成?这是否意味着如果我将自动更新设置为从不,除非我执行 ,否则 snap 永远不会更新sudo snap refresh?或者它们仍会更新?

有人知道用户如何配置这个吗?

注意:我的系统是最新的 Ubuntu 16.04.3。

答案1

我想知道如何在我的系统上对此进行更精细的控制。

您可以通过以下命令编辑刷新计划来微调快照更新的时间:

sudo snap set core refresh.schedule={time-frame (24 hr time)}

不过,您只能在 24 小时内设置刷新计划。

例如:

sudo snap set core refresh.schedule=4:00-7:00/19:00-21:00

这会将刷新时间表设置为仅凌晨 4 点至 7 点至晚上 7 点至 9 点之间。

但是,如果您最近没有更新,snapd 可能会在指定的时间范围之外强制更新。

这是否意味着,如果我将自动更新设置为从不,除非我执行 sudo snap refresh,否则 snap 将永远不会更新?还是它们仍会更新?

不,它仍会自动更新,除非您编辑更新的 24 小时时间范围,除非您想在 iptables 中阻止更新服务器。

答案2

有几个选项可以控制更新,具体取决于您的具体需求。

更新破坏了我的应用程序!

运行snap revert package-name可返回该应用程序的上一个版本。您将一直使用该版本,直到发布该应用程序的下一个版本。如果下一个版本也出现问题,您可以snap revert再次运行。

我想继续使用旧版本的应用程序

snap store 中的许多软件都使用轨道适用于主要软件版本。大多数 snap 默认使用轨道latest/stable,一旦应用程序发布,它将为您提供最新的更新,但用户可以选择不同的轨道以坚持使用特定版本。

例如,对于 CLion IDE,您可以通过运行 查看支持的轨道snap info clion。您可以通过运行 切换到其他轨道snap refresh clion --channel=2020.2/stable。您将一直停留在该轨道上,直到您手动切换到其他轨道。您仍将获得应用程序的自动更新,但根据您选择的轨道,您将仅获得该特定版本软件的次要更新。

发布者决定是否在他们的快照中启用曲目,因此如果您喜欢的快照没有您需要的版本的曲目,请务必联系发布者!

我想在安装更新之前检查更新

在这种情况下,您可能想要更改刷新计时器。例如,以下选项将刷新计时器设置为每月最后一个星期五,从 23:00 到第二天 1:00。这为您提供了充足的时间来检查更新并手动安装它们。

sudo snap set system refresh.timer=fri5,23:00-01:00

您可以使用 CLI 工具或 snap 商店查看哪些更新可用。

我想保留所有更新,直到我的重要演讲结束

“保留”选项正是您所需要的。您指定一个确切的日期,快照将保留所有更新,直到该日期。例如,这将保留接下来 30 天的更新。

sudo snap set system refresh.hold="$(date --date='today+30 days' +%Y-%m-%dT%H:%M:%S%:z)"

注意:保留更新的最长天数为 60 天。

我想在支付下载带宽时禁用更新

默认情况下,当 NetworkManager 检测到计量连接(例如 LTE/3G/4G)时,Snap 将不会更新。如果 NetworkManager 未正确检测到,您可以手动设置

我想做点别的事!

查看控制更新文档以获取更多选项。

是否需要其他配置选项?加入讨论如何控制桌面上的 snap 更新

相关内容