How to install Firefox 40 on Linux Mint, Ubuntu, Debian, CentOS, Fedora
... or any other Linux distribution.
This how-to explains how to install Firefox 40 on Linux, with or without replacing an existing Firefox installation.
Firefox 40 was released on August 11, 2015.
Firefox 41 will be released on September 22, 2015.
More information on Firefox release dates, beta, aurora and nightlies can be found on the official releases wiki.
This how-to supposes that the downloaded file is saved in the “Downloads” directory located in your home directory.
The downloaded file is a compressed .tar.bz2 archive. In case you want to learn more on these extensions: tar, bzip2. To extract this juicy archive, open the Downloads directory. Look for a file named firefox-40.0.tar.bz2, right-click on it and select “extract here”.
Alternatively, you can extract the archive from the command line:
tar xjf firefox-40.0.tar.bz2
For those interested, here are the tar arguments used in the command:
x : eXtract
j : deal with bzipped file
f : read from a file (rather than a tape device)
The firefox-40.0.tar.bz2 archive can now be deleted.
3. Move to /opt
External programs like LibreOffice, Google Chrome, the defunct Adobe reader, ... are all installed in the /opt directory. If you want more info about why /opt is the right place to install programs on Linux, check out these two links:
Where to install my products on Linux?
Filesystem Hierarchy Standard
If you already had a previous Firefox version installed in the /opt directory, remove it with the following command:
sudo rm -r /opt/firefox
Now move the firefox directory (which was created in your Downloads folder during extraction) to /opt:
sudo mv firefox /opt/firefox40
4. Set up symbolic links
Depending on your usage pattern, follow the instructions for case 1 OR for case 2.
Case 1: you want to use Firefox 40 as your default browser:
“Backup” the old Firefox launcher:
Create a symbolic link pointing to the new Firefox version:
There is no need to update your icons/shortcuts; they should now launch the new version of Firefox.
Your old Firefox version is still available. If you want to use it, run firefox-old in a terminal or create shortcuts/icons referring to firefox-old.
Case 2: you want to keep using your “old” Firefox by default:
Create a symbolic link pointing to the new Firefox version:
Launch the newly installed Firefox by running firefox40 in a terminal, or create shortcuts/icons referring to firefox40.
Firefox will manage its own updates independently of your system's package manager, an download subsequent releases. There will be no need to repeat the whole “procedure”... Enjoy Firefox!
B. Ubuntu's case, Linux Mint and Debian
1. Ubuntu: no ubuntu-mozilla-daily ppa!
Many howtos on this subject will tell you to install Firefox pre-versions through Mozilla's ppa ubuntu-mozilla-daily. Using this ppa will not only install the latest Firefox 43 daily build, once called “minefield” – updated daily! It will also update your current Firefox and Thunderbird to test versions.
These testing versions are not meant to be stable or usable.
→ Avoid this ppa unless you know exactly what you're doing!
2. The official Firefox Beta ppa: mozillateam firefox-next
The firefox-next ppa will replace your current Firefox installation with the current available version in Mozillas Beta channel. Simply run these two commands in a terminal:
sudo apt-add-repository ppa:mozillateam/firefox-next
sudo apt-get update && sudo apt-get upgrade
You may also have a look at the Firefox Aurora ppa.
Note: you can use only one of these three channels (Aurora, Beta, and Daily) at the same time!
4. Official Ubuntu updates for Firefox (automatic)
Since Ubuntu 11.04, Ubuntu is automatically updated to the newest stable Firefox version a few days after the official release.
5. Linux Mint 17.2 “Rafaela”, Debian 8.x “Jessie”, CentOS 7.1, ...
This howto has been tested with success on the following distributions, with Firefox 4 to 40 and Firefox Beta/Aurora:
CentOS / Scientific Linux / RHEL 6.6 & 7.1
Debian 6 “Squeeze”
Debian 7 “Wheezy”
Debian 8.0/8.1 “Jessie”
Linux Mint 13 “Maya” LTS (support until April 2017)
Linux Mint 17 “Qiana” LTS (support until April 2019)
Linux Mint 17.1 “Rebecca” LTS (support until April 2019)
Linux Mint 17.2 “Rafaela” LTS (support until April 2019)
Ubuntu 12.04 LTS “Precise Pangolin” (support until April 2017)
Ubuntu 14.04 LTS “Trusty Tahr” (Long Term Support, until April 2019)
Ubuntu 14.10 “Utopic Unicorn” (support until July 2015)
Ubuntu 15.04 “Vivid Vervet” (support until January 2016)
This installation procedure is reliable and should work with a wide range of distributions. Please share your experience with OpenSuse and Fedora in the comments.
C. Uninstall/remove Firefox (non-ppa installations)
Remove the Firefox directory:
sudo rm -r /opt/firefox40
You should also consider changing back or removing symbolic links which pointed to the old Firefox directory. Use this command:
sudo mv /usr/bin/firefox-old /usr/bin/firefox
Or remove the firefox40 symlink:
sudo rm /usr/bin/firefox40
Problem: it is possible to run different Firefox versions with the same profile (profiles are compatible through major versions). However this is not very convenient, as Firefox will check the profiles extensions and plugins every time you start a newer or older version.
Solution: create a profile for each Firefox version. Create new profiles with:
firefox -no-remote -ProfileManager
The -no-remote option starts a new instance of Firefox even if there is already a Firefox instance running. Use the -no-remote option to run Firefox 40 and Firefox 41 instances at the same time.
Let's say that you've created two profiles: ffox40_profile and ffox41-profile . You can start one instance of Firefox 40 and one instance of Firefox 41 with the following commands:
firefox -no-remote -P ffox40-profile
firefox41 -no-remote -P ffox41-profile
E. Create desktop shortcuts / launchers / icons
Now you may create desktop shortcuts / icons / launchers (Gnome: Custom Application Launcher) for each of these Firefox versions with their respective profiles.
By Johannes Eva, December 2010 – August 2015