据我所知,22.04 杰米,火狐是一个 Snap 包。apt 中的相关 Deb 包只是该 snap 版本的快捷方式/链接。
我更喜欢不从 snap 包进行安装,因为我发现它们太过“Ubuntu 专属”。
还有其他方法可以在 Jammy 上安装 Firefox 吗?
我最喜欢的选项是Apt 存储库或者电力供应协议我将测试扁平包装同时,我使用我的测试虚拟机来测试这个版本。
答案1
如果你切换到 APT 版本,除非你将 snap 版中的书签与 Firefox 帐户同步,或者手动导出,否则你将丢失这些书签。
这其他答案由 Organic Marble 出品,适用于 Firefox-ESR,回答由 eddygeek 开发的测试版本。
这个答案是最新稳定版版本。您可以使用Firefox PPA由 Mozilla 团队维护。
sudo add-apt-repository ppa:mozillateam/ppa
然后,一次性将以下代码复制并粘贴到终端中(不要逐行复制粘贴),以使 Firefox 的 apt 版本优先于 snap 版本。
echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
Package: firefox
Pin: version 1:1snap*
Pin-Priority: -1
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
接下来,删除 snap 版本的 Firefox
sudo snap remove firefox
如果您看到以下错误,
error: cannot perform the following tasks:
- Remove data for snap "firefox" (1943) (unlinkat /var/snap/firefox/common/host-hunspell/en_ZA.dic: read-only file system)
然后运行以下命令(来源) 禁用 hunspell 服务,然后再次尝试删除 Firefox snap。
sudo systemctl stop var-snap-firefox-common-host\\x2dhunspell.mount
sudo systemctl disable var-snap-firefox-common-host\\x2dhunspell.mount
sudo snap remove firefox
使用 apt 安装 Firefox。
sudo apt install firefox
为了确保无人值守升级不会重新安装 Firefox 的 snap 版本,请输入以下命令。或者,您也可以关无人值守升级。
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
撤消这些更改
- 删除 Firefox PPA。
sudo add-apt-repository -r ppa:mozillateam/ppa
- 移除适当的针脚。
sudo rm -rf /etc/apt/preferences.d/mozilla-firefox
- 删除 apt 版本并重新安装 snap。
sudo apt remove firefox && sudo snap install firefox
来源:天哪,Ubuntu
答案2
警告 - 截至 2024 年 2 月,答案可能已因最近发生的事件而过时
您可以通过 Mozilla ppa 中的 .deb 安装官方 Firefox ESR(扩展支持版本)版本
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt install firefox-esr
更多信息请点击这里:https://ubuntuhandbook.org/index.php/2022/03/install-firefox-esr-ubuntu/
答案3
这是唯一对我有用的方法升级到 Ubuntu 22.10。
首先,删除 Firefox 的 Snap 版本:
sudo snap remove firefox
(如果您在 Snap 版 Firefox 中有设置~/snap/firefox/
,则可能需要将其迁移到~/.mozilla/firefox/
)
sudo add-apt-repository ppa:mozillateam/ppa
firefox
现在, Ubuntu 存储库和 Mozilla PPA 都提供了该软件包。Ubuntu 存储库中提供的版本是一个过渡软件包,它实际上在后台安装了 Firefox 的 Snap 版本,而在本例中,我们不需要它。firefox
运行以下命令检查您是否可以看到这两个软件包:
apt info -a firefox
为了防止通过 Ubuntu 提供的软件包安装 Snap 版本的 Firefox firefox
,我们需要以 root 身份使用gnome-text-editor
或您喜欢的任何文本编辑器修改此文件:
sudo gnome-text-editor /etc/apt/preferences.d/mozillafirefoxppa
添加以下行:
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501
Package: firefox*
Pin: release o=Ubuntu
Pin-Priority: -1
前三行优先安装firefox
Mozilla PPA 提供的软件包。后三行禁止安装firefox
来自 Ubuntu 存储库的软件包。
运行sudo apt update
以确保更改已被考虑。
现在,您应该能够安装 PPA 版本的 Firefox。您可以使用 模拟 Firefox 的安装--dry-run
,如下所示,以检查将安装哪个版本的 Firefox:
sudo apt install --verbose-versions --dry-run firefox
snap
如果您没有看到软件包版本号中的单词firefox
(例如1:1snap1-0ubuntu2
:),则表示一切正常。运行此命令安装 Firefox(不带 Snap):
sudo apt install --verbose-versions firefox
答案4
正如之前所提
删除 Firefox 的 snap 版本
sudo snap remove firefox
添加 mozillateam 存储库
sudo add-apt-repository ppa:mozillateam/ppa
无人值守更新
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
如果您不想更新来自 LP-PPA-mozillateam 的所有软件包,那么我会执行以下操作:
echo '
Package: firefox
Pin: version 1:1snap1-0ubuntu2
Pin-Priority: 99
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 99
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
这将仅更新来自 LP-PPA-mozillateam 的 Firefox 软件包,而不更新其他软件包。同时降低 Firefox snap 版本的优先级。
现在您就可以安装 Firefox 了
sudo apt install firefox