185

As far as I see in the ongoing development for 22.04 Jammy, Firefox is a Snap package. The related Deb package in apt is just a shortcut/link to the that snap version.

I prefer my installation not to be from snap packages, since I find them too much 'Ubuntu-specific'.

Are there alternative ways to install Firefox on Jammy?
My favourite option would be an Apt repository or PPA. I will test the Flatpak version with my test virtual machine in the meantime.

muru
  • 207,228
igi
  • 3,197

13 Answers13

235

If you switch to the APT version, you will lose the bookmarks in the snap version unless you sync them with your Firefox account, or export them manually.


The other answer by Organic Marble is for Firefox-ESR, and the answer by eddygeek is for the beta version.

This answer is for the latest stable version of Firefox. You can use the Firefox PPA maintained by Mozilla team.

sudo add-apt-repository ppa:mozillateam/ppa

Then, copy and paste the following code in a terminal in one go (don't copy-paste line by line) to prioritize the apt version of firefox over the snap version.

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

Next, remove the snap version of firefox

sudo snap remove firefox

If you see the following error,

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)

Delete the files /etc/apparmor.d/usr.bin.firefox and /etc/apparmor.d/local/usr.bin.firefox so that the APT firefox can work with GNOME extensions and GNOME online accounts.

sudo rm /etc/apparmor.d/usr.bin.firefox 
sudo rm /etc/apparmor.d/local/usr.bin.firefox

Then run the following commands (source) to disable the hunspell service, and try removing Firefox snap once again.

sudo systemctl stop var-snap-firefox-common-host\\x2dhunspell.mount
sudo systemctl disable var-snap-firefox-common-host\\x2dhunspell.mount
sudo snap remove firefox

Install Firefox with apt.

sudo apt install firefox

To ensure that unattended upgrades do not reinstall the snap version of Firefox, enter the following command. Alternatively, you can turn off unattended upgrades.

echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox

To undo these changes

  1. Remove the firefox PPA.
sudo add-apt-repository -r ppa:mozillateam/ppa
  1. Remove the apt pin.
sudo rm -rf /etc/apt/preferences.d/mozilla-firefox
  1. Remove the apt version and reinstall snap.
sudo apt remove firefox && sudo snap install firefox

Source: OMG Ubuntu

16

Warning - answer may have been obsoleted by recent events as of Feb 2024

You can install the official Firefox ESR (Extended Support Release) version via .deb from the Mozilla ppa

sudo add-apt-repository ppa:mozillateam/ppa
sudo apt install firefox-esr

More information is available here: https://ubuntuhandbook.org/index.php/2022/03/install-firefox-esr-ubuntu/

13

This was the only thing that worked for me after upgrading to Ubuntu 22.10.

First, remove the Snap version of Firefox:

sudo snap remove firefox

(If you have settings in the Snap version of Firefox under ~/snap/firefox/, you may want to migrate those to ~/.mozilla/firefox/)

Then add the PPA from mozillateam:

sudo add-apt-repository ppa:mozillateam/ppa

Now, the package firefox is provided by both the Ubuntu repos and the Mozilla PPA. The version provided in the Ubuntu repos is a transitional package that actually installs the Snap version of Firefox behind the scenes, which in this case, we don't want. Check that you can see both firefox packages by running:

apt info -a firefox

To prevent the installation of the Snap version of Firefox through the firefox package provided by Ubuntu, we need to modify this file as root, using gnome-text-editor or whichever text editor you prefer:

sudo gnome-text-editor /etc/apt/preferences.d/mozillafirefoxppa

Add these lines:

Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

Package: firefox* Pin: release o=Ubuntu Pin-Priority: -1

The first three lines give priority to the firefox packages provided by the Mozilla PPA. And the last three lines disable installing the firefox packages from Ubuntu's repositories.

Run sudo apt update to make sure the changes have been taken into account.

Now, you should be able to install the PPA version of Firefox. You can simulate an installation of Firefox using --dry-run, like this, so as to check which version of Firefox will be installed:

sudo apt install --verbose-versions --dry-run firefox

If you don't see the word snap in the version number of the firefox package (for example: 1:1snap1-0ubuntu2), you are good to go. Run this command to install Firefox (without Snap):

sudo apt install --verbose-versions firefox
Flimm
  • 44,031
8

The transition of Firefox from Deb to Snap was announced in September 2021. See https://discourse.ubuntu.com/t/feature-freeze-exception-seeding-the-official-firefox-snap-in-ubuntu-desktop/24210/199 for complete discussion.

This is the result of cooperation and collaboration between the Desktop and Snap teams at Canonical and Mozilla developers, and is the first step towards a deb-to-snap transition that will take place during the 22.04 development cycle.

Translation: The shift of Firefox from Deb to Snap is a Mozilla-driven decision. The Ubuntu teams are trying to make the transition as painless as possible for most folks.

A lot of volunteers have been testing the Firefox Snap, discovering/filing/fixing bugs since the 21.10 cycle to sand down the rough edges and document the corner-cases. (It's been my daily driver since then)

Folks who want Firefox have several options:

  1. Use the Snap. The Snap comes from Mozilla upstream, and is designed to be cross-distro and cross-platform. You should not find it "Ubuntu-specific." The Firefox Snap will be included in stock installs of Ubuntu Desktop.

  2. Download the binary from Mozilla upstream. This requires knowledge of how to install and uninstall without a package manager. It's the same binary used in the Snap.

  3. If you still want to use deb packages that are in the Ubuntu Repositories, then join Debian and help the volunteer packagers who work Firefox. It's a complex beast to packages as a deb (which is why Mozilla is unenthusiatic about continuing the effort) but the community --with enough volunteers-- is capable of great things.

  4. Add the Mozilla deb repository. Use apt-pinning to select this repository instead of the Ubuntu repos.

  5. Flatpak and other add-on package managers.

user535733
  • 68,493
8

If you want to use packages.mozilla.org, as shown on their website: https://support.mozilla.org/en-US/kb/install-firefox-linux#w_install-firefox-deb-package-for-debian-based-distributions, then you still have to configure unattended upgrades to avoid installing the snap.

I prefer this over the mozillateam ppa, because I can't find official information that this ppa is actually mozillas official ppa, though it seems trustworthy I guess.

Quoting their installation procedure:

sudo install -d -m 0755 /etc/apt/keyrings

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null

echo ' Package: * Pin: origin packages.mozilla.org Pin-Priority: 1000 ' | sudo tee /etc/apt/preferences.d/mozilla

sudo apt-get update && sudo apt-get install firefox

For the unattended upgrades, this should do:

echo 'Unattended-Upgrade::Origins-Pattern { "archive=mozilla"; };' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox

See https://github.com/mvo5/unattended-upgrades/blob/7bf3aa52af1c6b11c031d0949f223c1beb94f84c/README.md for more information on the syntax and filters.

To test if the config worked, use sudo unattended-upgrade --dry-run -v

sezanzeb
  • 308
3

I found the following workaround to get a deb-based firefox from the firefox-next ppa.

Warning: It is the beta version!

Because the package name is also firefox, we need to blacklist the dummy snap shortcut package which has version 1:1snap1-0ubuntu2

sudo apt remove firefox
echo "
Package: firefox
Pin: version 1:1snap1-0ubuntu2
Pin-Priority: 99
" | sudo tee /etc/apt/preferences
sudo add-apt-repository ppa:mozillateam/firefox-next
sudo apt install firefox

Here is a variant of the add-apt-repository step, that still respects the new package signing requirements - it works with both ppa (main release) and firefox-next (beta) repositories:

sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --no-default-keyring --keyring /usr/share/keyrings/firefox.gpg --recv-keys 9BDB3D89CE49EC21
echo 'deb [signed-by=/usr/share/keyrings/firefox.gpg]  https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy main 
' | sudo tee /etc/apt/sources.list.d/firefox.list

(This was useful for me because under pre-release of KDE Neon 22.04, add-apt-repository currently returns aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Neon/jammy)

eddygeek
  • 1,839
3

As mentioned before

Remove snap version of the firefox

sudo snap remove firefox

Add mozillateam repository

sudo add-apt-repository ppa:mozillateam/ppa

Unattended updates

echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox

If you don't want to update all packages from LP-PPA-mozillateam then i would do following:

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

This makes only firefox package updated from LP-PPA-mozillateam, and not others. Also reduce priority of the firefox snap version.

And now you are ready to install firefox

sudo apt install firefox
Alex
  • 388
  • 1
  • 2
  • 10
1

You can install the latest official .deb builds working with Ubuntu 22.04 LTS (Jammy) here:
https://launchpad.net/~phd/+archive/ubuntu/firefox/

This is a PPA repository with official Ubuntu packages released originally for Ubuntu 20.04 LTS (Focal) and updated automatically as soon as a new version is released.

1

I eschewed package managers and followed the published instructions to Install Firefox from Mozilla builds:

  1. Go to the Firefox download page and click the 'Download Now' button.
  2. Extract the contents of the downloaded file:
cd ~/Downloads && tar xjf firefox-*.tar.bz2
  1. Move the uncompressed Firefox folder to /opt & symlink to a location on $PATH:
sudo mv firefox /opt
sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
  1. Download a copy of the desktop file:
wget https://raw.githubusercontent.com/mozilla/sumo-kb/main/install-firefox-linux/firefox.desktop -P /usr/local/share/applications
Jellicle
  • 908
0

The switch from a snap Firefox installation to a ppa and apt installation is is automated here, with an attempt at a bit more control and documentation than the effective and compact script by Archisman Panigrahi. Perhaps someone likes it:

#!/bin/bash
# This script verifies Firefox is installed in the right way. Firefox is used
# to set the GitHub SSH keys and GitHub personal access tokens automatically.
# And to control a Firefox browser, it needs to be installed using apt instead
# of snap. https://stackoverflow.com/questions/72405117
# https://www.omgubuntu.co.uk/2022/04/how-to-install-firefox-deb-apt-ubuntu-22-04
# https://askubuntu.com/questions/1399383/

Run with:

bash -c "src/prerequisites/firefox_version.sh"

command_output_contains(){ local substring="$1" shift local command_output="$@" if grep -q "$substring" <<< "$command_output"; then echo "FOUND" else echo "NOTFOUND" fi }

#######################################

Checks if firefox is installed using snap or not.

Locals:

respones_lines

found_firefox

Globals:

None

Arguments:

None

Returns:

0 If command was evaluated successfully.

Outputs:

FOUND if firefox is installed using snap.

NOTFOUND if firefox is not installed using snap.

####################################### firefox_via_snap(){ local respons_lines="$(snap list)" local found_firefox=$(command_output_contains "firefox" "${respons_lines}") echo $found_firefox }

#######################################

Checks if firefox is installed using ppa and apt or not.

Locals:

respones_lines

found_firefox

Globals:

None

Arguments:

None

Returns:

0 If command was evaluated successfully.

Outputs:

FOUND if firefox is installed using ppa and apt.

NOTFOUND if firefox is not installed using ppa and apt.

####################################### firefox_via_apt(){ local respons_lines="$(apt list --installed)" local found_firefox=$(command_output_contains "firefox" "${respons_lines}") echo $found_firefox }

#######################################

Checks if firefox is added as ppa or not.

Locals:

respones_lines

ppa_indicator

found_firefox_ppa

Globals:

None

Arguments:

None

Returns:

0 If command was evaluated successfully.

Outputs:

FOUND if firefox is added as ppa.

NOTFOUND if firefox is not added as ppa.

####################################### firefox_ppa_is_added(){ # Get list of ppa packages added for apt usage. local respons_lines="$(apt policy)" # Specify identifier for firefox ppa presence. local ppa_indicator="https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu" local found_firefox_ppa=$(command_output_contains "$ppa_indicator" "${respons_lines}") echo $found_firefox_ppa }

#######################################

Remove Firefox if it is installed using snap.

Locals:

respones_lines

found_firefox

Globals:

None

Arguments:

None

Returns:

0 If command was evaluated successfully.

Outputs:

FOUND if firefox is installed using snap.

NOTFOUND if firefox is not installed using snap.

####################################### remove_snap_install_firefox_if_existant(){ if [ "$(firefox_via_snap)" == "FOUND" ]; then

    # Prompt user for permission.
    ask_user_swapping_firefox_install_is_ok

    # User permission is granted here, remove firefox snap installation.
    yes | sudo snap remove firefox 2&gt;&amp;1
    assert_firefox_is_not_installed_using_snap
    echo &quot;Firefox is removed.&quot; &gt; /dev/tty
fi
assert_firefox_is_not_installed_using_snap

}

#######################################

Ask user for permission to swap out Firefox installation.

Locals:

yn

Globals:

None

Arguments:

None

Returns:

0 If command was evaluated successfully.

3 If the user terminates the program.

Outputs:

Mesage indicating Firefox will be uninstalled.

####################################### ask_user_swapping_firefox_install_is_ok(){ echo "" > /dev/tty echo "Hi, firefox is installed using snap. To automatically add your " > /dev/tty echo "access tokens to GitHub, we need to control the firefox browser." > /dev/tty echo "To control the firefox browser, we need to switch the installation" > /dev/tty echo "method from snap to apt." > /dev/tty echo "" > /dev/tty echo "We will not preserve your bookmarks, history and extensions." > /dev/tty echo "" > /dev/tty while true; do read -p "May we proceed? (y/n)? " yn case $yn in [Yy]* ) echo "Removing Firefox, please wait 5 minutes, we will tell you when it is done."; break;; [Nn]* ) echo "Installation terminated by user."; exit 3;; * ) echo "Please answer yes or no." > /dev/tty;; esac done }

#######################################

Asserts Firefox is not installed using snap, throws an error otherwise.

Locals:

None

Globals:

None

Arguments:

None

Returns:

0 If Firefox is not installed using snap.

1 If Firefox is still isntalled using snap.

Outputs:

Nothing

#######################################

Run with:

assert_firefox_is_not_installed_using_snap(){ if [ "$(firefox_via_snap)" == "FOUND" ]; then echo "Error, Firefox installation was still installed using snap." > /dev/tty exit 2 fi } assert_firefox_is_installed_using_ppa(){ if [ "$(firefox_via_apt)" != "FOUND" ]; then echo "Error, Firefox installation was not performed using ppa and apt." > /dev/tty exit 2 fi }

#######################################

Asserts Firefox ppa is added to apt.

Locals:

None

Globals:

None

Arguments:

None

Returns:

0 If Firefox ppa is added to apt.

4 Otherwise.

Outputs:

Error message indicating firefox ppa is not added correctly.

#######################################

Run with:

assert_firefox_ppa_is_added_to_apt(){ if [ "$(firefox_ppa_is_added)" == "NOTFOUND" ]; then echo "Error, Firefox ppa was not added to apt." > /dev/tty exit 4 fi } assert_firefox_ppa_is_removed_from_apt(){ if [ "$(firefox_ppa_is_added)" == "FOUND" ]; then echo "Error, Firefox ppa was not removed from apt." > /dev/tty exit 4 fi }

#######################################

Adds firefox ppa to install using apt if it is not added yet.

Locals:

None

Globals:

None

Arguments:

None

Returns:

0 If Firefox is not installed using snap.

1 If Firefox is still isntalled using snap.

Outputs:

Nothing

####################################### add_firefox_ppa_if_not_in_yet(){ if [ "$(firefox_ppa_is_added)" == "NOTFOUND" ]; then echo "Now adding Firefox ppa to apt." > /dev/tty echo "" > /dev/tty yes | sudo add-apt-repository ppa:mozillateam/ppa fi assert_firefox_ppa_is_added_to_apt } remove_firefox_ppa(){ if [ "$(firefox_ppa_is_added)" == "FOUND" ]; then echo "Now removing Firefox ppa to apt." > /dev/tty echo "" > /dev/tty yes | sudo add-apt-repository --remove ppa:mozillateam/ppa fi assert_firefox_ppa_is_removed_from_apt }

#######################################

Asserts the Firefox installation package preference is set to ppa/apt. Does

this by verifying the file content is as expected using hardcoded MD5Sum.

Locals:

None

Globals:

None

Arguments:

None

Returns:

0 If Firefox is not installed using snap.

1 If Firefox is still isntalled using snap.

Outputs:

Nothing

####################################### assert_firefox_installation_package_preference_file_content(){ local preferences_path="$1" local md5_output=$(md5sum $preferences_path) local expected_md5_output="961023613b10ce4ae8150f78d698a53e $preferences_path" if [ "$md5_output" != "$expected_md5_output" ]; then echo "Error, the md5 output of: $preferences_path is not as expected." > /dev/tty echo "md5_output= $md5_output" > /dev/tty echo "expected_md5_output=$expected_md5_output" > /dev/tty exit 5 fi }

assert_firefox_auto_update_file_content(){ local preferences_path="$1" local md5_output=$(md5sum $preferences_path) local expected_md5_output="ffd6e239ef98a236741f4ba5c84ab20e $preferences_path" if [ "$md5_output" != "$expected_md5_output" ]; then echo "Error, the md5 output of: $preferences_path is not as expected." > /dev/tty echo "md5_output= $md5_output" > /dev/tty echo "expected_md5_output=$expected_md5_output" > /dev/tty exit 5 fi }

#######################################

Sets the Firefox installation package preference from snap to ppa/apt.

Locals:

preferences_path

Globals:

None

Arguments:

None

Returns:

0 If Firefox is not installed using snap.

1 If Firefox is still isntalled using snap.

Outputs:

Nothing

#######################################

Run with:

change_firefox_package_priority(){ local preferences_path="/etc/apt/preferences.d/mozilla-firefox"

# Set the installation package preference in firefox.
echo 'Package: *

Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001' | sudo tee "$preferences_path"

# Verify the installation package preference is set correctly in firefox.
assert_firefox_installation_package_preference_file_content &quot;$preferences_path&quot;

}

#######################################

Ensures the firefox installation is updated automatically.

Locals:

update_filepath

Globals:

None

Arguments:

None

Returns:

0 If Firefox is not installed using snap.

1 If Firefox is still isntalled using snap.

Outputs:

Nothing

####################################### ensure_firefox_is_updated_automatically(){ local update_filepath="/etc/apt/apt.conf.d/51unattended-upgrades-firefox" # Set the installation package preference in firefox. echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee "$update_filepath"

# Verify the installation package preference is set correctly in firefox.
assert_firefox_auto_update_file_content &quot;$update_filepath&quot;

}

#######################################

Installs firefox using ppa and apt.

Locals:

None

Globals:

None

Arguments:

None

Returns:

0 If Firefox is installed using ppa and apt.

1 If Firefox is mpt installed using ppa and apt.

Outputs:

Nothing

####################################### install_firefox_using_ppa(){ if [ "$(firefox_via_apt)" == "NOTFOUND" ]; then yes | sudo apt install firefox 2>&1 fi assert_firefox_is_installed_using_ppa echo "Firefox is installed succesfully using ppa and apt." > /dev/tty }

Swap Firefox installation from snap to ppa/apt using functions above.

0. Detect how firefox is installed.

1. If firefox installed with snap:

1.a Ask user for permission to swap out Firefox installation.

1.b. Verify and mention the bookmarks, addons and history are not removed.

1.c Remove snap firefox if it exists.

1.d Verify snap firefox is removed.

remove_snap_install_firefox_if_existant

2.a Add firefox ppa to apt if not yet in.

2.b Verify firefox ppa is added (successfully).

add_firefox_ppa_if_not_in_yet #remove_firefox_ppa

3.a Change Firefox package priority to ensure it is installed from PPA/deb/apt

instead of snap.

3.b Verify Firefox installation priority was set correctly.

change_firefox_package_priority

4.a Ensure the Firefox installation is automatically updated.

4.b Verify the auto update command is completed succesfully.

ensure_firefox_is_updated_automatically

5.a Install Firefox using apt.

5.v Verify firefox is installed succesfully, and only once, using apt/PPA.

install_firefox_using_ppa

a.t.
  • 387
0

My answer is similar to others but I ran into a problem with hunspell. I could not continue without unmounting it. Like markling and Archisman Panigrahi said, you must back up your Firefox profile somehow, or save it all to the cloud with Firefox Sync, before you begin, or you will lose your bookmarks, passwords, etc. After making my backup, here is what I did:

sudo snap disable firefox
sudo umount /var/snap/firefox/common/host-hunspell
sudo snap remove --purge firefox
sudo apt purge firefox
sudo apt autoremove
sudo add-apt-repository ppa:mozillateam/ppa
echo '
Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501

Package: firefox* Pin: release o=Ubuntu Pin-Priority: -1 ' | sudo tee /etc/apt/preferences.d/99mozillateamppa echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox sudo apt update sudo apt install firefox

The Mozillateam PPA's "firefox" package distributes what is officially a beta version (I received Firefox 116 exactly one week before it will be officially released), although you can think of it as a release candidate (116 had already been in beta for three weeks before it was packaged for the Mozillateam PPA). If you're not completely comfortable with that, then you can edit the last line and install "firefox-esr" instead of "firefox":

sudo apt install firefox-esr
Seaside
  • 31
0

Recently the FF team presented an official Debian repo with Firefox Nightly

# make folder for PGP repo key
sudo install -d -m 0755 /etc/apt/keyrings
# download repo key and store to /etc/apt/keyrings
sudo wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O /etc/apt/keyrings/packages.mozilla.org.asc
# add the APT repository to sources list
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null

Update package list

sudo apt-get update

Install the Firefox Nightly .deb package

sudo apt-get install firefox-nightly

The command to start FF Nightly is firefox-nightly. It's blue icon will be shown alongside of FF. It will be updated more often than snap version which may be anoying.

0

I switched to manually managing firefox on my several systems after someone fixed one problem but introduced another that resulted in horrible discoloration of all photos in the major news websites. There are two main parts to my chosen solution.

For important 'must work' things, I get my firefox from https://www.mozilla.org/en-US/firefox/all/ as a tar ball. I then use
tar xf [that tarball] then
update that resulting firefox directory to not allow updates - this is done with a policy directive in the distribution subfolder created under firefox then I change ownership/group to root then (and quite important) I set aside the current /usr/lib/firefox, adding the release to the name ie (today that would be /usr/lib/firefox125) Then finally move the just prepared new firefox to /usr/lib/firefox. Should something bad make it to the production version of firefox - I take two actions 1) report it and 2) back off the offending version - that's where /usr/lib/firefox125 would be renamed back to /usr/lib/firefox

Also important for me, and a contribution to the community - I now also participate in firefox nightly (reference https://www.mozilla.org/en-US/firefox/channel/desktop/) where changes happen about 4 months ahead of when they'd hit production distribution channels such as updates to Ubuntu. Nightly does some times do bad updates but, those are fixed within a week or two and - I can also do my general browsing using the production version if nightly is on the blink.

quill
  • 1,015