出品|开源中国
snap 是 Canonical 为使用 Linux 内核和 systemd init 系统的操作系统开发的软件打包和部署系统。这些被称为 snap 的软件包和使用它们的工具 snapd 可以在一系列的 Linux 发行版中使用,并允许上游软件开发者直接向用户发布他们的应用程序。
借助 snap,用户可以轻松地安装 Linux 应用程序,在默认情况下,snapd 一天内会检查四次更新,并自动将 snap 应用更新到最新的版本。虽然有很多方法可以控制更新的安装时间和频率,但为了安全用户无法完全关闭自动更新。
虽然 snap 的初衷很好,但很多开发者都深受它的困扰,时不时就会发现常用的开发工具自动更新了,导致插件、依赖出现了不兼容的情况,不得不手动回退版本。正因如此,不少开发者在安装 Ubuntu 之后第一件做的事情就是卸载 snap。
近日,Ubuntu 通过官方博客宣布,一项开发者期待已久的功能悄悄地进入了预览阶段,从现在起你可以完全关闭 snap 的自动更新了:
snap refresh --hold命令保持或推迟单个 snap 应用或系统上所有 snap 应用的更新,可以是无限期的,也可以是指定时间段的。(目前只在edge通道的snapd中可用)
保持或完全禁用 snap 更新
该功能是通过使用snap refresh命令的一个新的--hold参数完成的。
例如,通过命令完全禁用 Firefox 的自动更新:
snap refresh --hold firefox
或者,通过命令为 Firefox 保留 24 小时的自动更新:
snap refresh --hold=24h firefox
要禁用所有的 snap 应用程序自动更新,只需在命令中省略软件包名称。因此,通过运行以下命令即可禁用所有应用程序的自动更新。
snap refresh --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 一个机会吗?
领取专属 10元无门槛券
私享最新 技术干货