33

I am wondering whether or not there is a way to completely remove Snap from Ubuntu 21.10 (Impish Indri) without losing the ability to install Ubuntu's default browser Firefox.

When I just recently updated to the newest Ubuntu release I realized that the installer programmatically reinstalled Snap, although I had manually removed it before. Additionally the installer removed Firefox, which was installed via the repositories, and reinstalled it via snap.

As I don't want snap to be installed on my machines for various reasons, my question is: Is there a safe way to remove it, and to get the Firefox DEB back to the sources?

Is there a PPA? Could I use a source of an Ubuntu flavor additionally, which didn't remove the Firefox Deb from its sources?

user5950
  • 6,406

2 Answers2

35

You can combine two measures.

Start by removing Snap package of Firefox by snap remove firefox --purge.

Then follow the steps:

  1. prevent Snap installation by purging and pinning it with negative priority:

    sudo apt-get autopurge snapd
    

    cat <<EOF | sudo tee /etc/apt/preferences.d/nosnap.pref

    To prevent repository packages from triggering the installation of Snap,

    this file forbids snapd from being installed by APT.

    For more information: https://linuxmint-user-guide.readthedocs.io/en/latest/snap.html

    Package: snapd Pin: release a=* Pin-Priority: -10 EOF

  2. Then install Firefox from

    • official repositories as simple as

      sudo apt-get install firefox
      

      Update april 2022: This option is not anymore applicable in Ubuntu 22.04 and up. Installing the .deb package causes installation of the snap version.

    • some third-party (but trusted) repositories

      a. deb-packaged Firefox from UbuntuZilla - regular or ESR
      Add UbuntuZilla repository with its signing key by

      echo "deb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list.d/ubuntuzilla.list > /dev/null
      sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2667CA5C
      sudo apt-get update
      sudo apt-get install firefox-mozilla-build
      

      Note: if one needs ESR version - then replace last command with sudo apt-get install firefox-esr-mozilla-build.

      Removal is possible by the following commands:

      sudo rm /etc/apt/sources.list.d/ubuntuzilla.list
      sudo apt-get autoremove --purge '*firefox*'
      sudo apt-get update
      

      b. deb packaged Firefox ESR version from Mozilla Team PPA

      To get Firefox ESR version installed from Mozilla Team PPA use commands below:

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

      Additional locales may be installed by using packages like firefox-esr-locale-it (example for Italian).

      To remove deb-packaged Firefox one can use commands like:

      sudo apt-get install ppa-purge
      sudo ppa-purge ppa:mozillateam/ppa
      sudo apt-get autoremove --purge
      
    • Locally extracted Firefox archive

      If one needs to download and install Firefox to the home folder, then it is possible in the following way:

      mkdir ~/Software ~/bin
      cd ~/Software
      wget -c http://ftp.mozilla.org/pub/firefox/releases/93.0/linux-x86_64/en-US/firefox-93.0.tar.bz2
      tar -xf firefox-93.0.tar.bz2
      ln -sf /home/$USER/Software/firefox/firefox ~/bin/firefox
      

      create desktop-file with long command below

      mkdir -p ~/.local/share/applications/ cat <<EOF > ~/.local/share/applications/firefox-user.desktop #!/usr/bin/env xdg-open [Desktop Entry] Encoding=UTF-8 Name=Firefox (local) GenericName=Browser Comment=Web Browser Exec=firefox %u Icon=/home/$USER/Software/firefox/browser/chrome/icons/default/default48.png Terminal=false X-MultipleArgs=false StartupWMClass=Firefox Type=Application Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall; EOF

      update-menus

      then logout and login back.

      To remove such local installation use commands below:

      rm -rf ~/Software/firefox
      rm -v ~/.local/share/applications/firefox-user.desktop
      rm -v ~/bin/firefox
      update-menus
      

Discussion and notes:

My personal choice will be one of deb-based.
I would prefer ESR (2b) to get my Firefox behavior stable as it is needed for enterprise level application.

vanadium
  • 97,564
N0rbert
  • 103,263
1

You can download the latest official .deb builds for 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.

Remember to backup your ~/.mozilla directory (or the snap equivalent).