如何在 Ubuntu 22.04 或更高版本中将 Firefox 作为传统的 deb 包(不带 snap)安装?

如何在 Ubuntu 22.04 或更高版本中将 Firefox 作为传统的 deb 包(不带 snap)安装?

据我所知,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

撤消这些更改

  1. 删除 Firefox PPA。
sudo add-apt-repository -r ppa:mozillateam/ppa
  1. 移除适当的针脚。
sudo rm -rf /etc/apt/preferences.d/mozilla-firefox
  1. 删除 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/

然后加来自 mozillateam 的 PPA

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

前三行优先安装firefoxMozilla 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

相关内容