![控制 snap 包更新时间](https://linux22.com/image/896899/%E6%8E%A7%E5%88%B6%20snap%20%E5%8C%85%E6%9B%B4%E6%96%B0%E6%97%B6%E9%97%B4.png)
我正在听最新的 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 更新。