I‘m very new to Fedora and it’s been nearly a decade that I truly used Linux (Ununtu) before. I think there is a topic that I never really thought about and thus never understood: How keeping everything up to date on your machine really works. Searching for the topic didn’t yield a good result, I might not know the fitting keywords yet.
I just installed Fedora and was really pleased with the GUI Gnome Software Manager (does it has a name?).
I like that theoretically I can update all the software on my machine from one place, in this case this package manager, right? (Unlike on Windows where I‘d have to check every software individually for updates.)
But a few minutes later I already had to install things (Codemium and Thinkpad Fan Control) via cli as they were not available through the Gnome Software manager.
One software I could install via flatpack, the other via dnf.
Now I‘m asking myself: How am I supposed to keep track of the various apps I install and the various ways I use to do so, when I want to keep my system up to date?
What’s the best practice here? Is there a way to check via package manager or cli for all the updates, regardless of the way I installed the apps?
Or should I choose between Gnome Software, Flatpack, Snap, cli and stick to one of them?
As far as I know you can install , update & remove packages from Gnome Software itself that includes
rpm(native apps) , flatpak, rpm fusion(additional repository) and if you can’t see the updates of certain software in Gnome Software that you installed then you can use dnf to keep track of all the software that you have installed. Its all upto you whatever you like but for any reason if the Gnome software doesn’t work then I suggest you to stick with dnf and flatpak cli if you are comfortable with terminal. Just so you know Gnome Software can update flatpaks while in terminal dnf will only update rpm and you can use flatpak cli to update them. As for snaps, since I don’t use them I don’t know much about them but I think you have to use snap store which looks like Gnome software but UI is old and snap has its own cli like flatpaks.
There’s a bit of an overlap between different tools, but they’re all targeted to different users.
Gnome software is an installer for all GUI tools, this includes flatpaks, traditional rpms, snap etc. It’s just a frontend. For the traditional rpms, it uses “packagekit” under the hood (try
pkcon in your terminal), which is built on top of
dnf but is meant to also work on top of
apt etc. This means that Gnome software can also function on non dnf/rpm systems via packagekit. For flatpaks/snaps, it uses the flatpak/snap libraries/tools which you can also access from the terminal.
As you found out, Gnome software does not list all rpm based packages because not all of them are GUI tools. So, for anything that’s not GUI, one must use either dnf (or pkcon too).
Irrespective of what you use, you should be able to use
dnf for all your rpm related tasks and checking updates and so on;
flatpak for all your flatpaks, and
snap (or whatever the cli is) for them.
So, if you tend to use GUI tools, Gnome software should be quite sufficient. If you also work on the terminal with non GUI tools, you’ll need to use dnf.
Note however that
packagekit (and so Gnome software) do not share the same metadata, so sometimes they do get out of sync depending on which was most recently updated. This leads to confusing issues where
dnf does not report updates but gnome-software does. There are number of posts about that on the forum.
Thank you very much for your thorough answers!
So there’s quite some Venn-Diagram-overlap going on with the different ways to install & update. I think from here on I will understand the different approaches and reasons why I can access app X via Gnome Software but not app Y a lot better. And why there are so many different ways to get new software.
Did I understand it correctly that to make sure I have everything up to date I‘ll need to run the update commands of
flatpak every once in a while to make sure I covered all bases?
(If I continue to install apps via flatpak, but I should probably check with
pkcon and such first, whether I can find the software there, to keep it simple and use the Gnome software as often as possible.
Same for running the
snap updates if I should end up using Snaps after all.)
Gnome-software will take care of all updates, even if it’s a “package” that’s not listed in gnome-software. So if you use gnome-software to update your system, that should be sufficient.