Should offline updates become the default?

Hi. The recent update from Plasma 5 to Plasma 6 caused quite a few issues for some users. One common occurrence was desktop environment crashes and interruptions during the update process, leading to system issues upon reboot. If updates could be performed upon reboot without the desktop environment running, the risk would be much lower. I believe such a solution would only enhance openSUSE’s reputation as a highly stable distribution. It’s just a matter of changing one setting in Plasma. What do you think?

https://en.opensuse.org/SDB:Upgrade_Tumbleweed#UPGRADING_via_ROOT_and_LOGGED_OUT

Why the “could be”? It is prefect doable to not login in the GUI after a boot (any boot, not just a reboot) and then Ctrl-Alt-F1, etc. But that is not different from log out of all users (the GUI or CLI) and doing the update.

What has Plasma to do with this? That is just one of the DEs available on openSUSE. And not being logged in in a DE that is updated is very sensible to do for any of them. And what “setting” are you referring to?

The thing is that, while Unix/Linux is very forgiving when one updates an executable while it is in use (the old file will not be removed from the system before it is not in use anymore and at the same time new starts of the executable will start from the new file), it becomes more tricky when several files have to work together very closely. Then one partner may already be updated while the other is still running from an “old” file. That may clash. I have noticed e.g. that updating Firefox while in use may leave you with a hanging Firefox. Killing and start it fresh will solve the problem. That is the same phenomenon as with the desktop, but the desktop is a much more intricate bunch of programs that have to work together.

“Could be” is my writing error. Yes it’s possible and that’s what I do on my system. The plasma setting im referring to changes the discover/packagekit behavior and forces reboot to apply the updates. User still can perform an update without the reboot using zypper. I just think changing the setting to offline updates by default would be beneficial for not tech savvy users that probably should get the most stable experience possible and as it only affects discover it shouldn’t be a problem for power users

Plasma is only one from many supported and delivered desktop environments in openSUSE. Discover is Plasma only…

Hi @hui
Also in gnome it has been like this for a while.

I know Discover is Plasma-only, but Plasma is kind of the flagship DE in openSUSE, and most users use it. Also, changing this setting would unify the experience between KDE and GNOME since as @Keyran17 mentioned, it’s been like this in gnome for a while.

Where did you get this statistics from?

With the way things are headed (atomic desktops, ALP) updates wouldn’t cause any issues as they’re transactional. It’s both DE-agnostic and doesn’t cause delays on reboot.

For normal systems, there is atomic-update which I wrote.

@icodrop has kindly packaged it at:

1 Like

Personally, i find broken updates very rare on openSUSE, openQA does an outstanding job at catching most issues.

Still, while both KDE and Gnome have the ability to apply offline updates they still lack many of the checks transactional updates have on a btrfs+snapper system, i.e. you could update and potentially still end up with an unbootable or broken system.

Besides the clear advantages both transactional-update and atomic-update provide in their inherent mitigation of potentially problematic updates, they also allow for much easier automated updates as anything that is installed or updated this way wont interfere with the running system and any failed update is simply discarded.

The title of this thread caught my eye. About a month ago pavinjoseph suggested I look at os-update and I installed this on my home machine with overnight running set on my system.

So far it has been rather helpful in saving time and I have not had any issues but this thread raised the question for me:

Does os-update log out of the desktop environment before running zypper dup? As I have professed many times I am not a coder so am not sure what is the answer. Could somebody please advise.

Budgie2

No it does not…

transactional-update does not have any checks. There is separate project health-checker that does perform some basic sanity checks - as with openQA, exactly those that someone cared to prepare. You are free to install this package and plugins you are interested in or extend with your own checks.

Hi and thanks for this info. It does however beg the question would it be possible to modify the script for os-update so that the desktop is logged out before running zypper dup?

I wonder why this has not been done already. Are there technical reasons or just that the author did not deem it necessary?

os-update and zypper dup are not aware of DEs (desktop environments).
This is where Discover or Gnome Software’s system update modules can provide enhanced features such as updating DE files on the next reboot, offline update as it’s called by KDE.

Hi and thanks for the further information. I confess that this is now all beyond me.
Can I assume I can be content with what I have done with os-update and that I do not need to update my DE?

It’s fine to continue using it as it’s working for you so far.
os-update does have some protections against a faulty update that does not exit cleanly and you’re expected to fix it the usual way by booting into the pre-update grub snapshot entry. Make sure it’s set to notify you correctly.

IIRC there’s a timer that runs it at night, so even if there’s a DE update it shouldn’t impact you during work hours. Though you might find yourself facing an unresponsive DE in the morning if it’s not set to automatically reboot after a major DE upgrade.

It’s just a matter of requirements, as I’m on-call it’s unacceptable to find a broken system at any time during the day or night. It’s better for me to not have the system apply a faulty update in the first place, so I’m left with a functional system at all times. With live applying updates, I also don’t need to reboot the system as often.

In 6 years of doing zypper dup from a konsole I’ve never had an major issue with online update process. Problems after rebooting or re-login for sure, but the dup process has generally worked well.

The recent KDE6 update hiccup was a rare slipup, it was quickly identified, well publicized, and fixed. On hearing of the issue I delayed updating until it was fixed.

I have occasionally experienced minor issues - sometimes logout or reboot via the desktop-menu no longer works after a zypper dup, but it’s simple to sudo reboot or switch to a text console.

3 Likes

Leave aside the idea of making system upgrades installed offline, during a reboot or shutdown, the default. For GNOME (Software) and Plasma (Discover) users, can offline system upgrades be considered a reasonable system upgrade method?

GNOME Software does only offline updates.

1 Like