如何阻止单个 snap 更新 Ubuntu 22.04 LTS

如何阻止单个 snap 更新 Ubuntu 22.04 LTS

是否有一种机制可以阻止单个 Snap 更新?

语境

snap版本一直存在问题Firefox,我们已决定使用 deb 版本替换 snap 版本,具体说明如下:这篇 FOSTips 帖子就其与 Ubuntu 22.04 LTS 的关系而言。

问题

按照说明操作后(由于提到的文件在 22.04 中不存在,“设置 PPA 优先级”失败),我注意到,更新后,Snap 版本Firefox已恢复到系统,并且我遇到的问题也相应恢复。

该问题与 Dropbox 下拉菜单中网页的错误呈现有关。通过安装 deb 版本解决了此问题Firefox。目前尚不清楚这是DropboxFirefox 的问题(可能性较小)还是 snap 版本的问题(可能性最大)。

其他研究

我已经考虑了来自 AU 的问答但是这些解决方案并没有提到防止在后台更新过程中自动重新安装软件包,而只是主要提到了一个延迟过程。

因为我希望完全禁用此 snap 的更新(但允许其他性能良好的 snap 进行更新),是否有一组特定的可行命令可用于实现这一点?

答案1

对于你的一般问题,“如何阻止单个 snap 更新 Ubuntu 22.04 LTS”,答案是,正如你也发现的那样:你不能。Snap 更新几乎没有用户控制权 - 它们会自动更新,无法停止。这是对 Snap 的批评之一。

对于您关于 Firefox snap 在更新时安装的具体问题,实际上是firefoxUbuntu 的 APT 包在更新。该包触发 snap 版本的安装。现在有很多教程介绍如何用第三方存储库中的 .deb 版本替换 snap 版本。

对于 APT 软件包的更新,有更多的控制。可以使用以下 APT 首选项来禁止安装 Ubuntu 版本的 Firefox:

cat <<EOF | sudo tee /etc/apt/preferences.d/firefox-no-snap.pref
Package: firefox*
Pin: release o=Ubuntu*
Pin-Priority: -1
EOF

这将创建一个配置文件/etc/apt/preferences.d/firefox-no-snap.pref,指示 APT 禁止安装firefox .deb默认 Ubuntu 存储库的软件包。因此,只能通过该snap install firefox命令手动安装 snap 版本的 Firefox。firefox仍然可以安装来自其他来源的软件包。

关于如何用 deb 版本替换 snap Firefox 的教程有很多。所有教程都涉及对 APT 的配置更改,要么通过提升firefox来自第三方 PPA 的优先级,要么降低默认 Ubuntu 软件包的优先级。

答案2

您可以使用以下方式停止自动更新(至少在发布时):

快速刷新--hold Firefox

这将阻止它进行更新。您也可以使用 --hold=24h 等方式添加时间。

https://ubuntuhandbook.org/index.php/2022/11/turn-off-automatic-updates-snap-apps/

相关内容