如何在 snap 中禁用自动刷新

Ko *_*Lin 57 snap

是否可以在 snap 中禁用自动刷新?此链接表示 Snap 每天都会在后台自动更新到最新版本。有些快照(例如 vlc)是每天构建的,每天安装它们是没有意义的。

Mar*_*son 24

在撰写本文时(正式)这是不可能的,这引起了相当大的争论仍在讨论控制桌面更新的更好方法。

解决方案1

在您的/etc/hosts/文件中阻止商店:

127.0.0.1 api.snapcraft.io
Run Code Online (Sandbox Code Playgroud)

对我来说,有效的是sudo nano /etc/hosts,复制粘贴该行,然后按 F2,然后按 Y,然后按 ENTER。

解决方案2

如果网络连接被计量,则禁用自动更新。

首先,转到您的网络设置。

网络设置

然后,单击两个网络接口右侧的齿轮并勾选“限制后台数据使用” - 这将连接标记为正在计量。

限制后台数据

最后,打开一个终端并输入(docs):

sudo snap set system refresh.metered=hold
Run Code Online (Sandbox Code Playgroud)

  • `refresh.metered=hold` 仅在 NetworkManager 检测到按流量计费的连接时才起作用。 (2认同)

Mer*_*hts 14

有几个选项,具体取决于您想要什么。

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

运行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 工具或快照存储来查看哪些更新可用。

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

“保持”选项正是您所需要的。您指定一个确切的日期,snap 将保留该日期之前的任何更新。例如,这会保存接下来 30 天的更新。

sudo snap set system refresh.hold="$(date --date='today+30 days' --iso-8601=seconds)"
Run Code Online (Sandbox Code Playgroud)

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

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

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

我想在应用程序运行时禁用更新。

这是一项实验性功能,您可以通过运行以下命令来打开:

snap set core experimental.refresh-app-awareness=true
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅快照刷新感知和更新抑制

我想做点别的!

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

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

  • 我想在使用正在更新的程序时禁止自动更新。根据我的经验,应用程序在运行时更新时通常会崩溃(例如 Chrome)。 (5认同)
  • 好建议@w-sky!您可以通过打开实验性的“刷新应用程序感知”选项来做到这一点:https://snapcraft.io/blog/experimental-feature-snap-refresh-awareness-and-update-inhibition 我更新了答案以包含此信息。 (3认同)

Bel*_*sim 13

使用最新版本的 snap (2.58+),您可以禁用 snap 更新

\n

新的保留功能允许系统管理员和最终用户根据需要停止或推迟快照更新。保留可以在有限的时间内应用于单个快照或整组已安装的快照,或者在必要时无限期地应用于 \xe2\x80\x93。

\n

例如,要暂停 VLC 的快照更新 3 天,您可以运行以下命令:

\n
snap refresh --hold=72h vlc\n
Run Code Online (Sandbox Code Playgroud)\n

“vlc”的一般刷新持续到 2022-11-17T12:04:59Z

\n

同样,要暂停所有快照的快照刷新 48 小时:

\n
snap refresh --hold=48h\n
Run Code Online (Sandbox Code Playgroud)\n

自动刷新所有快照直至 2022-11-16T12:27:25Z

\n

要完全停止自动刷新并且不使用计时器:

\n
snap refresh --hold\n
Run Code Online (Sandbox Code Playgroud)\n

自动刷新无限期保留的所有快照。

\n

来源:https://snapcraft.io/blog/hold-your-horses-i-mean-snaps-new-feature-lets-you-stop-snap-updates-for-as-long-as-you-need

\n


man*_*elz 12

停止(将在启动时重新启动),然后禁用snapd守护进程:

sudo systemctl stop snapd.service
sudo systemctl mask snapd.service
Run Code Online (Sandbox Code Playgroud)

注意 ( systemctl):maskdisable.

要重新启用和刷新:

sudo systemctl unmask snapd.service
sudo systemctl start  snapd.service
sudo snap refresh
Run Code Online (Sandbox Code Playgroud)

refresh 将刷新系统中的所有快照。

这是比这里给出的任何答案都更好的答案的摘要。出于某种原因~那个~问题被标记为重复指向这个问题:)。

  • 这是唯一合理的答案。以不可预测的方式突然改变系统之类的事情不仅令人烦恼。它具有破坏性。就像原子弹一样。真的。[我宁愿被一些流氓原子弹击中](https://en.wikipedia.org/wiki/Dark_Star_(film)),也不愿被故意设计得很糟糕的东西击中!非常感谢!您的解决方案有效。 (4认同)
  • 不幸的是,这不再有效,因为如果 snapd 未运行,某些软件(例如 Firefox)将拒绝启动。 (3认同)

小智 6

目前无法这样做。但是,您可以使用以下命令根据自己的喜好安排快照自动更新的时间:

sudo snap set core refresh.schedule=8:00-20:00
Run Code Online (Sandbox Code Playgroud)

在这种情况下,更新只会在每天晚上 8 点到早上 8 点之间发生一次(示例)。


cri*_*aig 6

一种解决方法可能是从特定版本的渠道安装,即 PyCharm:

snap install pycharm-professional --channel 2018.3/stable --classic
Run Code Online (Sandbox Code Playgroud)

除非发布了 2018.3 的新补丁版本,否则快照将不会更新。

要查看可用频道,请使用snap info,即

$ snap info pycharm-professional
name:      pycharm-professional
summary:   Python IDE for Professional Developers
publisher: jetbrains?
contact:   https://www.jetbrains.com/pycharm/documentation/
license:   unset
description: |
  PyCharm Professional Edition is an IDE for professional Python development. It is designed by
  programmers, for programmers, to provide all the tools you need for productive Python, Web and
  Scientific development.
  
  PyCharm Professional Edition is available for a free 30-day evaluation.
  
  Monthly and yearly subscription options are available for companies and individual users. Find out
  more on https://www.jetbrains.com/pycharm/buy/
commands:
  - pycharm-professional
snap-id:      Uqpw0ZWqy6Wh4mgaWE0rxgM5tAGCwf4D
tracking:     stable
refresh-date: 10 days ago, at 09:22 PDT
channels:
  stable:           2019.1.1 2019-04-03 (127) 392MB classic
  candidate:        2019.1.1 2019-04-03 (127) 392MB classic
  beta:             2019.1.1 2019-04-03 (127) 392MB classic
  edge:             2019.1.1 2019-04-03 (127) 392MB classic
  2019.1/stable:    2019.1.1 2019-04-03 (127) 392MB classic
  2019.1/candidate: 2019.1.1 2019-04-03 (127) 392MB classic
  2019.1/beta:      2019.1.1 2019-04-03 (127) 392MB classic
  2019.1/edge:      2019.1.1 2019-04-03 (127) 392MB classic
  2018.3/stable:    2018.3.5 2019-02-27 (121) 355MB classic
  2018.3/candidate: 2018.3.5 2019-02-27 (121) 355MB classic
  2018.3/beta:      2018.3.5 2019-02-27 (121) 355MB classic
  2018.3/edge:      2018.3.5 2019-02-27 (121) 355MB classic
  2018.2/stable:    2018.2.8 2019-04-12 (128) 313MB classic
  2018.2/candidate: 2018.2.8 2019-04-12 (128) 313MB classic
  2018.2/beta:      2018.2.8 2019-04-12 (128) 313MB classic
  2018.2/edge:      2018.2.8 2019-04-12 (128) 313MB classic
  2018.1/stable:    2018.1.6 2018-11-15 (101) 314MB classic
  2018.1/candidate: 2018.1.6 2018-11-15 (101) 314MB classic
  2018.1/beta:      2018.1.6 2018-11-15 (101) 314MB classic
  2018.1/edge:      2018.1.6 2018-11-15 (101) 314MB classic
  2017.3/stable:    2017.3.7 2018-11-15 (100) 344MB classic
  2017.3/candidate: 2017.3.7 2018-11-15 (100) 344MB classic
  2017.3/beta:      2017.3.7 2018-11-15 (100) 344MB classic
  2017.3/edge:      2017.3.7 2018-11-15 (100) 344MB classic
installed:          2019.1.1            (127) 392MB classic

Run Code Online (Sandbox Code Playgroud)


Tel*_*her 5

刷新服务由 systemd 启动并配置在:

  • /lib/systemd/system/snapd.refresh.service
  • /lib/systemd/system/snapd.refresh.timer

如果要禁用自动刷新,请覆盖 /etc/systemd 中的那些配置。可能最简单的方法是将计时器设置为您喜欢的频率。