Jammy, don’t snap at me!
Posted on Fri 19 August 2022 in hints-and-kinks • 2 min read
The current Ubuntu LTS release, 22.04 “Jammy Jellyfish”, does not install a Debian package for Mozilla Firefox anymore. Instead, Ubuntu now delivers Firefox as a snap. I’m not particularly enthralled by that idea.
Every once in a while I look at the current state of snaps. And every
time I look them, I find that they don’t solve any problems I am
having at the time, but do add some. The same, incidentally, happens
to be true for Wayland, which is why I still use X.org. (I want to
emphasize that the foregoing is true for me — your own experience
may well differ, and that’s perfectly okay.) So I have kept my systems
free of snapd
, and I intend to keep them that way for the
foreseeable future.
However, if you upgrade an existing Ubuntu Focal or Impish system to
Jammy in-place, with the customary apt dist-upgrade
command, Ubuntu
replaces the pre-existing Debian (.deb
) package with a snap. That
is to say, firefox
in Ubuntu Jammy is a transitional
package that would install
snapd
as a dependency, and then run snap install
firefox
. Mid-upgrade, it does pause and prompt you about this fact —
but there’s no yes or no that would give you the option to bail, only
an “OK” button.
What you thus want to do if you’re wired like me, prior to commencing your upgrade, is tell Ubuntu that you want to keep installing Firefox from a package. And while you’re at it, you might also politely inform your package manager that you have no desire to use snaps, at all.
To do so, first become root
, and make the necessary changes to
change the focal
or impish
references in your
/etc/apt/sources.list
and /etc/apt/sources.list.d
files to jammy
as you normally would.
Then, make sure that you don’t have the snapd
package installed:
# dpkg -l snapd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
un snapd <none> <none> (no description available)
Next, mark the snapd
package with hold
, so that the current state
of the package (un
) is made permanent:
apt-mark hold snapd
Now, add the mozillateam
PPA:
add-apt-repository ppa:mozillateam/ppa
Next, create a file named /etc/apt/preferences.d/mozilla-firefox
,
containing the following three lines:
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
At this stage, your system should be set up to (a) not install the
snap daemon, and (b) conduct the upgrade of the firefox
package using the regular Debian package as it appears in the PPA, not
the distro package that is a wrapper around snap install
.
Now, proceed with:
apt dist-upgrade
Happy jamming!