74

What is the most straight forward way to downgrade Firefox 57 to Firefox 56?

This is to have more time to wait for working replacements for legacy extensions.

  • 4
    After upgrading to Firefox 57 I researched and substituted my own workarounds as replacements for non-working legacy Firefox extensions, for example this answer: https://askubuntu.com/questions/516033/how-to-have-websites-fit-the-screen/976958#976958 and now everything works as usual in my Firefox 57 and my Firefox 57 is also noticeably faster than Firefox 56 so it's worth the upgrade. – karel Nov 16 '17 at 18:00
  • 7
    I know for you it's too late, but to prevent a package from getting upgrades, you can run sudo apt-mark hold firefox* (which @Videonauth also uses in his answer after downgrading). – Byte Commander Nov 16 '17 at 18:32
  • 41
    this is BAD IDEA. If you don't want to use FF 57, then use Firefox ESR. Because it will get security patches. FF 56 will not. – Display Name Nov 17 '17 at 07:30
  • 21
    Firefox , breaking perfectly working extensions since 2011! – Eric Duminil Nov 17 '17 at 14:45
  • 2
    @EricDuminil After Firefox 57 (a.k.a. Quantum) was released Mozilla has been removing extensions that don't work anymore from the Firefox Add-ons webpage. – karel Nov 17 '17 at 16:19
  • @SargeBorsch Not enough features – anna328p Nov 17 '17 at 17:06
  • 1
    @SargeBorsch I'm pretty sure using a slightly outdated web browser won't get your computer hijacked. People still use Internet Explorer 8 and Chrome 49 on old computers, and that's a much riper target than a major browser out of date by one version. – anna328p Nov 18 '17 at 07:02
  • 4
    @DmitryKudriavtsev Sorry to be blunt, but: Have you read the news recently? Those "riper targets" are getting computers hijacked, and if a security issue has a MCVE script-kiddies will reproduce it with added payload. – wizzwizz4 Nov 18 '17 at 12:56

6 Answers6

80

Get supported Firefox ESR 60.x (LEGACY ADDONS do not work here)

If you need supported Firefox ESR then you can add one of the PPAs. Two options here:

For your information:

  • This new version does not support LEGACY ADDONS.
  • The current status of porting LEGACY extensions to WebExtension are located in Google Spreadsheet. The percentage of WebExtensions is not too high.

Get unsupported Firefox ESR 52.x (LEGACY ADDONS work here)

Please note that ESR 52 version is not supported anymore. Proceed on your own risk.

You can get Firefox ESR 52.9.0 from Jonathon F's PPA ppa:jonathonf/firefox-esr-52 with the following commands:

sudo add-apt-repository ppa:jonathonf/firefox-esr-52
sudo apt-get update
sudo apt-get install firefox-esr

With such version I can continue to use my add-ons such as SiteDelta, TableTools2, Show Parent Folder, Manage Folders, Wired Marker and others.


Notes: if you have already added ppa:jonathonf/firefox-esr PPA before and do not want Firefox to be upgraded to version 60, then you can pin this version with the following command (16.04 LTS as an example):

cat <<EOF | sudo tee /etc/apt/preferences.d/pin-firefox
Package: firefox-esr
Pin: version 52.9.0esr-1~16.04.york0
Pin-Priority: 1337
EOF

If you have added any of PPAs (ppa:mozillateam/ppa or ppa:jonathonf/firefox-esr) and Firefox was upgraded from 52 to 60 then remove any PPA with version 60 and enable special one (ppa:jonathonf/firefox-esr-52) with the commands below:

sudo ppa-purge ppa:mozillateam/ppa
sudo ppa-purge ppa:jonathonf/firefox-esr
sudo add-apt-repository ppa:jonathonf/firefox-esr-52
sudo apt-get update
sudo apt-get install firefox-esr

but please note that you will not get security updates as this version is obsolete.

Update 2019-07-09: the Firefox ESR 52.9.0 version suffers from addon-problem with expired certificate. Even local XPI installation ends with "This add-on could not be installed because it appears to be corrupt." message. To fix the problem we need:

  1. Download updated PEM certificate from pastebin (or copy from this superuser answer and save as mozilla2019.pem.
  2. Navigate Firefox to about:preferences#advanced
  3. Click on "View Certificates" button, click "Import" and install mozilla2019.pem certificate.
N0rbert
  • 99,918
  • 1
    Note, however, that downgrading to FF52 ESR can result in some issues. In my experience, issues may, or may not, affect any particular profile and may be intermittent. – Makyen Nov 16 '17 at 19:48
  • 13
    More info: Firefox ESR 52 series will continue to get security updates through June 2018, giving you more time while still staying more secure. – Nattgew Nov 16 '17 at 19:50
  • I have no issues (I use SiteDelta, WiredMarker, Go Parent Folder, WebDeveloper). For interested users - I have had a discussion about making official ESR package on Ubuntu maillist. – N0rbert Nov 16 '17 at 20:30
  • 4
    Longer term, the next ESR will be Quantumed and web-extension onlyed just like FF57. If whatever you need still isn't possible in the next ESR you'll need to look to a Firefox fork that intends to maintain support for legacy extensions like Waterfox. https://www.waterfoxproject.org/downloads – Dan Is Fiddling By Firelight Nov 17 '17 at 16:39
  • 2
    It's weird that the top answer to the question doesn't answer the question. – user541686 Nov 19 '17 at 07:39
  • 7
    @Mehrdad When the premise of the question is a bad idea… – Ry- Nov 19 '17 at 15:38
  • 1
    I tried Firefox ESR from ppa:mozillateam/ppa and I see two issues with it. Firstly, its shortcut in the menus is called "Firefox Web Browser" which is the same as for current Firefox 57 (although it has a slightly different icon). It should be called Firefox ESR in the menus. Secondly, Firefox ESR creates its own directory in the user profile (~/.mozilla/firefox-esr). It would be nice that it has the ability to import settings from Firefox and to offer it to the user at first run. – rpr Nov 24 '17 at 22:32
  • @rpr I forgot to mention this. You may ask mozillateam to do what you want. So I'm using JonathonF's version. It uses existing firefox profile, has normal icon named Firefox ESR. – N0rbert Nov 25 '17 at 09:52
  • 1
    @rpr just run cp -R ~/.mozilla/firefox/* ~/.mozilla/firefox-esr/ to import your existing firefox profile to firefox-esr. – mchid Dec 06 '17 at 11:37
31

Disclaimer:

It is not recommended to keep packages on hold unless your goal is to have a stable production environment where the tools you use should not undergo changes while you work with them.

For doing this you can simply do the following:

  1. For Ubuntu 17.10:

    Note: this works in artful all the time because artful got released with firefox being version 56.

    # see footnote (1)
    sudo apt-get install firefox=56.0+build6-0ubuntu1
    sudo apt-mark hold firefox
    
  2. For Ubuntu 16.04

    Note: this will only work on 16.04 if you did not clean out the cache of youre archives with sudo apt clean or sudo apt autoclean. If you already cleaned your local archives you can only revert to 45.0.2+build1-0ubuntu1 which was the one xenial got released with, alternatively you can refer to @Michael Johnson's answer below which will work fine in this case.

    # see footnote (1)
    sudo apt-get install firefox=56.0+build6-0ubuntu0.16.04.2
    sudo apt-mark hold firefox
    
  3. For all other Ubuntu versions:

    Note: Here as well it will only work if you not cleaned your local archives yet:

    request the apt policy information which will return you something like this:

    $ apt policy firefox
    firefox:
      Installed: 57.0+build4-0ubuntu0.17.10.5
      Candidate: 57.0+build4-0ubuntu0.17.10.5
      Version table:
     *** 57.0+build4-0ubuntu0.17.10.5 500
            500 http://archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages
            500 http://archive.ubuntu.com/ubuntu artful-security/main amd64 Packages
         56.0+build6-0ubuntu1 500
            500 http://archive.ubuntu.com/ubuntu artful/main amd64 Packages
            100 /var/lib/dpkg/status
    

    We are after the line which tells you the package name for version 56, which would be in this example 56.0+build6-0ubuntu1. this you simply put into the following lines:

    # see footnote (1)
    sudo apt-get install firefox=<package version>
    sudo apt-mark hold firefox
    
  4. If all options above fail you can download older firefox versions on their website for all versions and set them up in your home directory. See How do I install a tar.gz or tar.bz2 file on how to do this. This would leave you with firefox 56 as a second option on your system while you wait for your favorite add-ons to be updated.

  5. Since I'm not want to plagiatize @Michael Johnson's answer you should refer to his answer for another fine option on how to revert back.

Whenever you feel you want to update this package again to 57 or whatever version is current then, you can simply do (see (2)):

sudo apt-mark unhold firefox
sudo apt update
sudo apt install firefox

When you start the downgraded firefox for the first time you might get a warning that some extensions (language) which are available in firefox 57 are not compatible with version 56. After one time checking those for updated versions, which will find none, firefox will start normally.


Footnotes:

(1) The first will install the last version of firefox 56, even if you have 57 already installed and the second command will block this package from updating (see (2)).

(2) Normally holding/unholding firefox alone suffices for what you want to achieve, but if in doubt holding/unholding 'firefox\*' will hold/unhold all additional packages beginning with firefox too.

Videonauth
  • 33,355
  • 17
  • 105
  • 120
  • 3
    If you don't have 56.0 in your cache, I guess you can download it from https://launchpad.net/ubuntu/xenial/+package/firefox or https://launchpad.net/ubuntu/artful/+package/firefox and install it with dpkg -i – Jellby Nov 16 '17 at 19:47
  • 11
    Note that, unlike the ESR release which also allows older addons to work, version 56 no longer receives security updates. – Chai T. Rex Nov 17 '17 at 03:45
  • 3
    @ChaiT.Rex true that, I just answered the question and this was asking for how to downgrade to 56 and not whats a good replacement for 56 :) – Videonauth Nov 17 '17 at 03:47
  • @Videonauth Oh, I know, I just wanted that out there :) – Chai T. Rex Nov 17 '17 at 03:48
  • 2
    Apparently Firefox 56 is not available anymore at the ubuntu servers. Instead it could be found among the builds of the “Ubuntu Mozilla Security Team”. Just make sure to select the proper distribution and the architectire. – Vadim Nov 20 '17 at 09:49
  • @vadp to test if my above is still valid for 17.10 do sudo apt autoclean followed by apt-get download firefox=56.0+build6-0ubuntu1 called from within your favorite download folder. – Videonauth Nov 20 '17 at 17:19
  • Videonauth, I'm confused by your statement that one should use the command sudo apt-mark hold firefox to prevent an update. Firefox doesn't update itself through apt, rather it just does it by itself silently independently of what you do with apt. – Mateus Araújo Nov 20 '17 at 18:25
  • Thanks for finding that, @Vadim. Most people will need the amd64 version for Ubuntu, 16.04.2, so the precise link might be useful for them: https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa/+build/13537983 – Mateus Araújo Nov 20 '17 at 18:30
  • 1
    @MateusAraújo I don't know where you get that misconception from. On Linux Firefox does not update itself silently, it updates through packages provided through the repository using apt / apt-get on Ubuntu. You can easily check that. If you open the (H)elp menu you will find no option to check for updates, and neither does clicking on (A)bout start a silent check for updates like it does on Windows. – Videonauth Nov 20 '17 at 18:53
  • 1
    @MateusAraújo On both Arch and Ubuntu, to update Firefox I must use the package management programs within the OS - I believe that the auto update process is limited to Windows and perhaps Mac – Charles Green Nov 20 '17 at 18:53
  • @Videonauth, this is not a misconception. My firefox just updated itself automatically to 57 with no input from my part, and specifically with no sudo apt-get upgrade. – Mateus Araújo Nov 20 '17 at 19:26
  • @MateusAraújo Did you hold it with the above line? Do you have unattended upgrades switched on? Since Firefox comes from https://security.ubuntu.com it gets normally upgraded with unattended upgrades. Holding the package however prevents even this. Check your entries in /var/log/apt/history.log. – Videonauth Nov 20 '17 at 19:30
  • 1
    @Videonauth, I'm sorry, it was a misconception: Ubuntu was configured to silently download and install security updates, but to not do that with normal updates. This is why I was under the impression that Ubuntu was not being updated but Firefox was. – Mateus Araújo Nov 20 '17 at 19:30
4

The other answers do not currently work without reading the comments, so I think it is useful to post a more direct answer, since the OP asked for "the most straightforward way".

If you are still using Ubuntu 14.04 64 bits, just run these commands:

wget https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa/+build/13537990/+files/firefox_56.0+build6-0ubuntu0.14.04.2_amd64.deb
sudo apt install -Vy gdebi # gdebi lets you install local deb packages resolving and installing its dependencies.
sudo gdebi firefox_56.0+build6-0ubuntu0.14.04.2_amd64.deb
sudo apt-mark hold firefox

If you are using Ubuntu 16.04 64 bits just run these commands:

wget https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa/+build/13537983/+files/firefox_56.0+build6-0ubuntu0.16.04.2_amd64.deb
sudo dpkg -i firefox_56.0+build6-0ubuntu0.16.04.2_amd64.deb
sudo apt-mark hold firefox

If you are running instead Ubuntu 17.10 (32 or 64 bits), run these commands instead:

sudo apt-get install firefox=56.0+build6-0ubuntu1
sudo apt-mark hold firefox

If you are running some other version of Ubuntu, you'll have to hunt down the .deb here and install with dpkg as above.

SebMa
  • 2,291
Mateus Araújo
  • 274
  • 3
  • 12
3

You don't have to downgrade to 56 to use legacy extensions.

You can install the "Firefox Nightly" version which allows you to enable legacy extensions on 57+. Currently, I am using version 59* and legacy extensions work just fine for me so far.

First, install the ubuntu-mozilla-daily ppa by running the following commands:

sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa
sudo apt-get update

Next, run the following command install Firefox Nightly:

sudo apt install firefox-trunk

Additionally, if you want to use your current Firefox profile, run the following command to copy your existing Firefox profile to the Nightly build:

cp -R $HOME/.mozilla/firefox/* $HOME/.mozilla/firefox-trunk/

Finally:

  • open Firefox Nightly and go to about:config

  • search for extensions.legacy.enabled

  • double-click extensions.legacy.enabled to toggle the value to true

  • search for extensions.allow-non-mpc-extensions

  • double-click extensions.allow-non-mpc-extensions to toggle the value to true


Note: most of my non-multi-process-capable extensions do not work.

mchid
  • 43,546
  • 8
  • 97
  • 150
2

You can download the Firefox packages for Ubuntu from http://archive.ubuntu.com/ubuntu/pool/main/f/firefox/. At the end of the list you'll find the the Firefox packages, ignore the other ones (e.g. firefox-dbg, firefox-locale, etc.). From the ones at the end of the list, make sure to select the correct Ubuntu version and CPU architecture.

For Ubuntu 14.04:

For Ubuntu 16.04:

For Ubuntu 17.04:

For Ubuntu 17.10 there is no Firefox 56 package so try the 17.04 packages. For other versions try the closest newer package, or the closest older package if that one fails.

Once you've downloaded the correct package, you'll have a .deb file. Install this with sudo dpkg --install. So for example if you downloaded the 17.04 64-bit package, the command would be sudo dpkg --install firefox_56.0+build6-0ubuntu0.17.04.2_amd64.deb. Replace the filename in the command with the one matching the package that you downloaded.

You'll probably see some errors after running the dpkg command. This is normal. Run sudo apt-get -f install to fix the errors by installing/updating the required dependencies.

You may need to run sudo apt-mark hold firefox before running sudo apt-get -f install, personally I've never needed to do this but the other answers imply that this is necessary. Probably no harm done by using this command, and it will prevent Firefox from being updated automatically (use sudo apt-mark unhold firefox to allow Firefox to be updated again).

EDIT: These packages seem to have been removed. An updated version is available, using the same package for all supported Ubuntu versions:

  • 1
    What makes your answer unique from above? It's just compilation. – N0rbert Nov 16 '17 at 20:25
  • 4
    @N0rbert Your answer instructed the OP to use a different version of Firefox to their requested version, and required them to use a PPA. The answer by Videonauth arbitrarily upgrades the user's system and is of no help if the user doesn't have the package in the package cache. Mine is the only answer that explains how to download the requested version of Firefox from the official Ubuntu repository. By following my answer the user will be able to reinstall the exact package that they most likely had installed previously, even if it's no longer in their package cache. – micheal65536 Nov 16 '17 at 20:38
  • 2
    OK. But OP does not think about security. I suggest to use ESR :) – N0rbert Nov 16 '17 at 20:46
  • Ubuntu removed Firefox 56 from the links you posted. It can still be found in the builds by the Ubuntu Security Team, as noted by @Vadim: https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/ppa/+builds?build_state=built&batch=75&memo=75&start=75 – Mateus Araújo Nov 20 '17 at 18:35
  • @MateusAraújo The ones in the PPA aren't necessarily the same as the ones from the main package repository. – micheal65536 Nov 21 '17 at 21:16
  • Are they or are they not? They seem rather equal to me. – Mateus Araújo Nov 22 '17 at 07:56
  • @MateusAraújo They might appear the same but there's no guarantee that they're exactly the same. They're not from the official package repositories so there's no guarantee that they'll work correctly with the other packages in your system. They are built by some part of the Ubuntu team but there's still no guarantee that they are exactly the same, and for some people (myself included) saying "install this other package from this different source" is not a satisfactory answer to "how do I downgrade a package to something that I previously had installed". – micheal65536 Nov 22 '17 at 20:48
  • The name of the build is (e.g.) "firefox_56.0+build6-0ubuntu0.16.04.2_amd64". This is enough to convince me that it is indeed the build 6 of Firefox 56.0 for Ubuntu 16.04.2 64 bits. Please do not disparage the work of the Ubuntu security team unless you actually know that this is not the same package. On the other hand, the packages you posted in your EDIT cannot be the same as the official ones, as they differ between Ubuntu versions and yours do not. – Mateus Araújo Nov 22 '17 at 23:03
  • @MateusAraújo You cannot guarantee that the package is the same. It may be a build of the same version of Firefox targeting the same version of Ubuntu but you can't guarantee that the exact same patches were applied or that the exact some compiler options were used, for example. The packages in the edit apply to all Ubuntu versions as they do not specify a specific version. – micheal65536 Nov 23 '17 at 07:45
  • And are guaranteed not to be the same. – Mateus Araújo Nov 23 '17 at 08:27
  • @MateusAraújo But they're official. They're guaranteed to work with the other packages on the system, and they're guaranteed to be the same as whatever the user would have had if they had installed Firefox 56 from the repositories today. They're closer to the same than any packages from a third-party PPA. – micheal65536 Nov 23 '17 at 09:52
-3

An upstream Firefox release, or even multiple such releases, can be installed alongside the ubuntu-maintained version, as suggested in answers to this question on Unix and Linux SE.

You could then use these old versions just when you want to use the apps that need them, and disable the autoupdate in their settings.

This is the best way to deal with legacy web apps in times where browser-makers think of 10 year product lifetimes or backwards-compatibility as four letter words.

Zanna
  • 70,465