控制快照更新时间

Kar*_*sus 6 updates snap

我正在听最新的 Latenightlinux,其中提到snapd 守护进程具有某种自动更新 snap 的 systemd 集成。我想知道如何才能更好地控制我的系统。

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

有谁知道用户如何配置它?

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

小智 1

我想知道如何才能更好地控制我的系统。

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

sudo snap set core refresh.schedule={time-frame (24 hr time)}
Run Code Online (Sandbox Code Playgroud)

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

一个例子是:

sudo snap set core refresh.schedule=4:00-7:00/19:00-21:00
Run Code Online (Sandbox Code Playgroud)

这会将刷新计划设置为仅在上午 4-7 点到晚上 7-9 点之间。

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

这是否意味着如果我将自动更新设置为从不,则除非我执行 sudo snap 刷新,否则快照将永远不会更新?或者他们还会更新吗?

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

  • 虽然我很欣赏开发人员为实现这种调度所做的努力,但作为用户,我并不喜欢他们。它们对于服务器和系统管理员的角度或对于用户将其视为设备的桌面来说是有意义的。但从用户的角度来看,他不想拥有自己的系统。我希望能够控制我的系统,并在每当我在系统前面时进行更新,以查看已更新的内容,并能够在更新后出现问题时给出归因。 (7认同)

Mer*_*hts 1

有几个选项可以控制更新,具体取决于您想要的内容。

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

运行snap revert package-name以返回到该应用程序的先前版本。您将保留该版本,直到应用程序的下一个版本发布。如果下一个版本也坏了,你可以snap revert再次运行。

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

快照商店中的许多软件都使用主要软件版本的轨道。大多数快照默认使用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
Run Code Online (Sandbox Code Playgroud)

您可以使用 CLI 工具或快照存储来查看哪些更新可用。

我想将所有更新保留到大型演讲结束后

“保留”选项正是您所需要的。您指定一个确切的日期,快照将保留该日期之前的任何更新。例如,它保存未来 30 天的更新。

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

注意:您可以保留更新的最大天数为 60 天。

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

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

我想做点别的事!

有关更多选项,请参阅控制更新文档。

需要其他配置选项吗?加入有关如何控制桌面上的快照更新的讨论。