Difference between system/version/point-release update and regular package updates

What is the difference between system/version/point-release updates and regular package updates?

In rolling release distro all updates can done with one tool like dnf update, but in version release distro all regular package updates is done (as well) with dnf upgrade/apt update/upgrade and version updates needs for some reason separate tool like dnf system-upgrade/do-release-update, why? Why I can’t update version release distro with one tool? Why rolling release can do this?

Is system updates something different than regular packages, like it downloads whole new /bin directory and replaces the old one directly?

So I wonder the technical difference between rolling and version release distros. I hope an answer from the developer.

In Fedora, major releases for software is delegated to the next release. For example, Gnome 45 will only be available for Fedora 39. However, more minor updates will be available immediately (all Gnome 44.x updates will be available in Fedora 38).

This is different from something like Arch where all updates will be rolled out whenever it is ready since it does not have a release cycle. Ubuntu is also different since it only releases security updates for a specific version and not any feature updates until the next release (plus Ubuntu has a longer release cycle).

This style of updates is simply what Fedora uses. dnf update will give you any updates for your current Fedora release. dnf system-upgrade will move you to the next fedora release if one is available.

Note: I am not a developer, but I think my answer is fairly accurate. If not, please correct me.


The documentation is instructive

On Fedora, system-upgrade differs in two ways

  • it works offline with changes only being applied at the next reboot (note: this is now available for regular upgrades too, implemented by the same plugin: DNF Offline Upgrading is now available )

  • it allows certain changes to be performed only during release upgrades (and these are validated in OpenQA for supported upgrade paths)

What is difference between Fedora Linux and Ubuntu in this? I mean, in Fedora “minor updates will be available immediately” and in Ubuntu “only releases security updates for a specific version”. Security updates and minor updates aren’t the same???

And while your comment is interesting (and thanks for it❤️), my question is about the technical difference. I understand the difference between version and rolling release otherwise, but I’m wondering technical difference, how their implementation differs from each other. Why do release version distros needs dedicated tool for version updates?

And please remember, although I’m asking this in Ask Fedora, I’m wondering the technically difference between version and rolling release distros generally. I believe that the devs of Fedora can answer universally.

I think that site doesn’t answer my question. It tells just how to use system-upgrade plugin.

It does provide some of the rationale, and list some commands it provides notably offline-uograde that I mentioned earlier

The system-upgrade command also performes additional actions necessary for the upgrade of the system, for example an upgrade of groups and environments.

They are not. If you look at bodhi.fedoraproject.org you will see many updates for stable releases that are not security updates. Security updates only address security vulnerabilities, minor updates can also fix bugs or even provide improvements.

The Fedora policy does discourage ABI breakage, but the Ubuntu policy is much stricter - thus you see more PPAs used as workarounds (eg I have to use one on my Ubuntu machine to fix Nextcloud bugs)


Not even close.
As stated above security updates are to fix security issues and are a very small part of what is updated.
Minor updates are tweaks to fix bugs, add enhancements, or general minor fixes in other ways but not amounting to a bigger upgrade, and are provided for many packages that are often not related to security in any way.

Fedora gets what may amount to hundreds of minor updates over the life of a release while only a very few updates are actually security related. There was even a kernel security fix that delayed release of Fedora 37 almost a month last fall. Security updates are critical and should be applied immediately, minor updates are not and may be applied at the users convenience.

You can actually use upgrade and distro-sync commands for all upgrades.
Just specify --releasever for release upgrade if necessary.

But major online upgrades are risky, specifically release upgrades.
So, system-upgrade performs upgrade offline to minimize the risks.

As salimma mentioned ABI breakage a Fedora Magazin Article who explains what this is.
ABI = Application Binary Interface

Basic & Rolling Releases:

Without being a developer I would say the big difference is, that the basic release keeps the Tools (ABI) while being on a certain release version. This keeps the system more stable. While Fedora lives more on the edge it also uses quite new but not always the latest software.

When using a rolling release you can say it is on a bleeding edge while getting more errors/instabilities because the tools you use to compile the source-code to binary files can be incompatible. But you might have always the newest applications available.