snap 是 Canonical 为使用 Linux 内核和 systemd init 系统的操作系统开发的软件打包和部署系统。这些被称为 snap 的软件包和使用它们的工具 snapd 可以在一系列的 Linux 发行版中使用,并允许上游软件开发者直接向用户发布他们的应用程序。
借助 snap,用户可以轻松地安装 Linux 应用程序,在默认情况下,snapd 一天内会检查四次更新,并自动将 snap 应用更新到最新的版本。虽然有很多方法可以控制更新的安装时间和频率,但为了安全用户无法完全关闭自动更新。
虽然 snap 的初衷很好,但很多开发者都深受它的困扰,时不时就会发现常用的开发工具自动更新了,导致插件、依赖出现了不兼容的情况,不得不手动回退版本。正因如此,不少开发者在安装 Ubuntu 之后第一件做的事情就是卸载 snap。
Canonical 今天宣布,允许用户对 snap 格式软件包执行暂时或者永久禁用自动更新。在默认情况下,snap 软件包会自动更新,以便于确保你的应用始终处于最新的状态。

但由于 snap 软件包格式的自动更新模式,有时候会导致某款软件出现不兼容、无法使用的情况。好消息是虽然 Canonical 现在允许用户设置临时禁用或者永久禁用,但不支持图形化操作,需要在终端里用命令行方式执行。
我们了解到,例如,你想要让 VLC 媒体播放器的 snap 软件包临时禁用自动更新,可以输入:
snaprefresh--hold=72hvlc
然后输出结果会是这样的:
Generalrefreshesof"vlc"helduntil2022-11-17T12:04:59Z
如果你想要暂时禁用 snap 软件包自动更新,命令为:
snaprefresh--hold=48h
如果你想要永久禁用 snap 软件包自动更新,命令为:
snaprefresh--hold
反之,通过 --unhold 参数重新启用自动更新。
snap refresh --unhold
要重新启用特定应用程序的自动更新,例如 Firefox,则在命令中添加名称即可:
snap refresh --unhold firefox
该命令目前并没有出现在 Ubuntu 正式版本中,如果你想尝试的话需要通过命令将 snapd 切换到 edge 通道:
snap refresh snapd --edge
测试完成后,如果需要将 snapd 切换回稳定通道,则需要使用命令:
snap refresh snapd --stable
天下苦 snap 久矣,但随着 snap 更新机制的不断完善,Ubuntu 终于增加了对禁用 snap 应用程序自动更新的支持,大家还会给 snap 一个机会吗?
Debian怎么锁定屏幕? Debian11 Mate怎么锁定电脑屏幕的技巧
Debian怎么更换背景? Debian11 Mate设置桌面背景的技巧
Debian图标怎么横向排列? Debian11 Xfce横排桌面图标的技巧
Debian主文件夹怎么隐藏? Debian11 Xfce隐藏桌面主文件夹的技巧
Ubuntu 终于支持禁用 snap软件包自动更新
基于 Ubuntu 20.04 LTSKDE neon 20221222 版本发布