(这是评论中建议的原始问题的重写)
我正在运行 Ubuntu 22.04 并使用mozillateam ppa中的 firefox 。我的设置中 ppa-firefox 的优先级为 1001(如此处建议的那样),而我的 snap-firefox 的优先级为 500(默认)。今天,unattended-upgrades
默默地将我的 ppa-firefox 替换为 snap-firefox,我很难弄清楚为什么。
我设法用一个简单的方法重新安装了我的 ppa-firefox apt-get remove firefox; apt-get install firefox
,所以我怀疑优先级正在工作,但unattended-upgrade
不知何故没有尊重它们。问题是为什么?
这是我的 ppa-firefox 应用程序引脚:
$ cat /etc/apt/preferences.d/mozilla-firefox
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
这是我apt-cache policy
重新安装 Firefox 后的当前情况:
# apt-cache policy firefox
firefox:
Installed: 120.0+build1-0ubuntu0.22.04.1~mt1
Candidate: 120.0+build1-0ubuntu0.22.04.1~mt1
Version table:
1:1snap1-0ubuntu2 500
500 http://de.archive.ubuntu.com/ubuntu jammy/main amd64 Packages
*** 120.0+build1-0ubuntu0.22.04.1~mt1 1001
1001 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main amd64 Packages
100 /var/lib/dpkg/status
-logunattended-upgrades
承认了这一点:
$ grep 'Unpacking firefox' /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
Unpacking firefox (1:1snap1-0ubuntu2) over (119.0.1+build1-0ubuntu0.22.04.1~mt1)
snap
编辑:正如上述问题的评论和答案中所建议的,我已经将优先级-1给予了snap-firefox和snap-firefox。所以,我想这个问题已经解决了,但是为什么要unattended-upgrades
替换我的 ppa-firefox,尽管它的优先级更高(1001 > 500)仍然悬而未决。
默认情况下,无人值守升级工具配置为仅从发行版的存储库升级软件包。你可以看一下配置文件
/etc/apt/apt.conf.d/50unattended-upgrades
。无人值守升级工具不知道来自第三方存储库的软件包,除非您将它们添加到配置文件中或添加包含它们的额外配置文件。
示例
firefox
:如果您不将存储库添加到配置中,则您提到的固定毫无价值,因为无人值守升级工具不知道该包,也不知道其固定。
这就是为什么你的
firefox
ppa 包从 ditibution 存储库升级到过渡性的 firefox 包,然后提取 snap 包和所有必要的依赖项,例如snapd
. 在这种情况下,这只是版本号的问题。参考
固定的条目是不够的,您还需要从源中取消 DEB 包的优先级。
以下步骤应该有效:
sudo apt remove firefox
sudo snap remove firefox
sudo apt update