It’s literally a choice between what deb you want to get. One is a transitional package that installs a different package on the system (in this case the snap) as Debian transitional packages have done for decades, and the other is a third party package that provides the app rather than the transitional package. Just as when there was the ffmpeg vs. libav split, if you don’t want the transitional package to be installed and you want your third-party package from a different repository, you have to tell apt that.
Thanks for that correction then. I wasn’t conscious of that detail.
In any case, the issue remains that, if the vendor’s default repositories push for a type of package I don’t want, I either have to manually find and vet third party repositories I trust or find someone else to rely on for defaults I’m fine with.
The difference between “I want a different source for a single package, so I’ll manually select a different source for that one” and “I don’t trust Canonical to select sources I agree with anymore” is one of scale. I’m fine with manually pinning the transitional package, uninstalling it and the snap (hopefully remembering to back up my profile before realising that it also deletes user data) adding a ppa, reinstalling it and reimporting my profiles just for firefox.
But if I feel like I have to fight my distro vendor over not using their preferred package distribution system, it’s probably better to jump ship - other vendors have beautiful distros too.
(Also, “you can just use a different source” is part of the reason people prefer not to use snap, where you can’t do that)
If you’re fighting your distro vendor over the choice of packages they’re providing in their repos, then yeah, you should probably use another distro. But that’s exactly what I was saying in my original comment above. If you don’t like rpms or flatpaks, you shouldn’t be using Fedora either, since those two packaging technologies are what Fedora uses for their distribution. For me the Linux Mint developers’ hostility to snaps (which in my experience tend to be the best trade-offs for my needs) is one of the many reasons I won’t use or suggest Mint.
KDE Neon provides their own packages in their repo that add Mozilla’s apt repository for Firefox as well as setting up the preferences. In fact, here’s the file, which gets placed in /etc/apt/preferences.d/org-kde-neon-packages-mozilla-org-pin
:
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
# SPDX-FileCopyrightText: 2022 Harald Sitter <sitter@kde.org>
Package: firefox
Pin: release o=packages.mozilla.org
Pin-Priority: 1000
Package: firefox-*
Pin: release o=packages.mozilla.org
Pin-Priority: 1000
Package: firefox-locale-*
Pin: release o=packages.mozilla.org
Pin-Priority: 1000
The great part of KDE Neon’s approach to it is that since I do want the Firefox snap on my KDE Neon laptop, I can simply run sudo apt remove neon-repositories-mozilla-firefox firefox && sudo apt update && sudo apt install firefox
to get the snapped version of Firefox.
Also, snapd keeps a snapshot of your per-revision configuration from an app for a while after you remove
it. You can run snap saved
to see all the current snapshots. It doesn’t remove your directory for that snap (which is where the Firefox snap stores its profiles), so moving from the snapped Firefox to the version from apt is just a matter of moving the
.mozilla
directory out of ~/snap/firefox/common
to ~/
For me the Linux Mint developers’ hostility to snaps (which in my experience tend to be the best trade-offs for my needs) is one of the many reasons I won’t use or suggest Mint.
I mean, analogous to firefox example you supplied, you could just delete nosnap.pref and be on your way.
Also, snapd keeps a snapshot of your per-revision configuration from an app for a while after you
remove
it. You can runsnap saved
to see all the current snapshots. It doesn’t remove yourdirectory for that snap (which is where the Firefox snap stores its profiles), so moving from the snapped Firefox to the version from apt is just a matter of moving the
.mozilla
directory out of~/snap/firefox/common
to~/
I could have sworn I checked that, but I was a lot less familiar with these things at the time, so maybe I missed it.
I don’t think snaps are a bad thing on principle, my own bad experiences with them notwithstanding. I could also live with a for-profit operating its own curated package repository as part of its service. I’d personally prefer not to use a client locked into one particular package provider, but if that’s the tradeoff for that provider’s security guarantee that your packages are all Canonical-certified safe, I’d accept that. If it were preinstalled with an OS, that’s fine. If they make it the default Software Store, we’re on par with the Microsoft Store and other App Stores and those too provide a utility and convenience, particularly for those less technically minded. The ship on “don’t bundle your browser with your OS because that’s monopoly grabbing” has sailed long ago anyway.
All of these are things I’m fine with, even if I personally would choose not to use them. If that was all, I’d still recommend Ubuntu as a beginner distro, because it was my intro to Linux too and I found it good at the time.
The thing that irks me is when they’re being dishonest about it. You no longer wanna support a deb package in your repos? Fine, let me know, offer me a one-click migration option for installing the snap instead and moving my data over, give me the whole marketing routine of telling me how much better your new solution is, but make it my choice.
Having a transition package for a name change or breaking up a larger project into modular packages is one thing. Using it to instead run an entirely different package manager pulling from a proprietary repo?
Worse still, if you had trouble with one app so you went and found a non-snap repo, you pinned it with higher priority, reinstalled it from the new source and thought you were in the clear because that worked as expected.
But you forgot or didn’t know to also put a negative priority on the snap source because pin priorities seem intuitive enough, only for unattended upgrades to look at the pins and say “That sign can’t stop me, because I can’t read” (pins from repos I don’t know) and reinstall the snap…
I get that automatic upgrades don’t pull from all repos by default for security reasons, but at least look at the priorities and realise “Ope, not gonna touch that, I’ll notify the user to do it manually if they trust the update”.
And that, for me, is the part that takes it from apathy to disdain; the part that goes beyond “each distro has its own preferences, no big deal”; the part that reeks of a profit-oriented company aiming for vendor lock-in.
To close the topic out: All of this is just explaining my stance; I’m not telling anyone what to do or not to do. You gave your point, I gave mine. By all means, if it works best for you, I’m not getting in your way. I just wish there was a better option.