@karlmistelberger and @pavinjoseph have you tried the other plethora of transactional-update options eg apply, rollback etc?
The reference is GitHub - openSUSE/transactional-update: Atomic updates for Linux operating systems. opensuse Tumbleweed users may safely ignore âopenSUSE Tumbleweed âTransactional Serverâ roleâ being removed. The removal wonât affect them. Kubic may be dead. However concepts explained in The Transactional Update Guide persist. Users considering transactional updates may want to read about the concepts.
@karlmistelberger OK, so will it work (as per the documentation you have referenced) to install rpms and update the bootloader on my r/w system?
As per the bug report, going forward that may not be the case when the Tumbleweed role is removedâŚ
Donât get me wrong, it works great on my MicroOS and Aeon setups, in fact they have never had to rollback (fingers crossedâŚ).
Yep, I use apply for my nightly dup, saves me from having to reboot.
rollback is useful to discard an update/snapshot for whatever reason, especially when troubleshooting a failing dup. Have used it in the past without issues.
apply doesnât do live patching of kernel updates, though, does it?
Nope! Have to reboot for that ![]()
So basically the same thing youâd have with a regular dup. I assume the same is true for libraries that are updated while in use - restarting those services/applications would also be needed after doing an apply.
The man page has only one note for read-write systems -
âOn read-write systems please be aware that all changes done to the running root filesystem after snapshot creation are lost after the next reboot. For this reason the system should be rebooted as fast as possible after a successful update.â
Of course, because of potential changes to /etc. the above advice to reboot as soon as possible applies to opensuseâs immutable systems as well.
Because of how it works, there is no reasonable reason to believe that it required a read-only root filesystem.
Itâs very unfortunate to see that Suse created a better way to patch your systems to then have the community turn around and keep recommending against it.
Yes, I do zypper ps -s to get the list of processes to restart. Usually itâs just chrome.
apply is very much like a normal dup with the disadvantage of zypper not automatically restarting services.
Of course one gets the benefits of an atomic dup with TU.
It will be interesting to see how apply handles a major DE upgrade, Iâm waiting for Gnome 46 to trickle down to Slowroll.
I am testing for several weeks now. I use plain zypper install, zypper dup and others as well as transactional-update. In the end you get the same upgrade.
@mhurron Itâs not about recommending against it, itâs making sure the folks recommending it understand that the majority of users, are just that users.
Introducing something outside the normal practices for Tumbleweed (dup) and Leap (up/patch) on normal r/w installed systems can have unintended consequences and need to be well documented, transactional-update does more that just a dupâŚ
The job of stressing dup to update tumbleweed is pretty poorly done, so itâs not like it would be messing anything up.
And quite frankly, all the benefits to normal users that transactional-update brings mean it should have been brought to the forefront the moment it was stable and should be a selling point of using opensuse distros.
Completely agreed, Malcolm.
I tried this for my update to GNOME 46. Anyone reading this please note that I am in no way advocating this as a way to perform this upgrade. I tried it as an experiment.
Hereâs what I did:
- I disabled all GNOME extensions prior to rebooting.
- I did all my usual prep for performing an upgrade (I shut down non-essential services and applications).
- I did not exit my GNOME desktop environment (something I would have likely done if I were not using transactional-update
- I ran
sudo transactional-update
The update failed, because I use the proprietary nVidia driver, and there was an update to that driver that required agreeing with the license.
- I re-ran
sudo transactional-update dup -i- as I was unable to get--auto-agree-with-licenseesto work (I tried before and after thedup) - I immediately rebooted the system once the upgrade was completed.
- Upon reboot, GNOME 46 launched and promptly gave me the âOh no, something went wrong!â screen. (This seems to happen to me every time I upgrade GNOME, regardless of whether I have extensions enabled or not). I restarted GNOME by switching back to the single-user target and back again to the multi-user target.
- I re-enabled my extensions and found a couple that were incompatible with GNOME 46 (one of them - Caffeine - is now a part of GNOME, apparently. The other, dash to dock, has a fix in its git repo.
All in all, it worked, but it didnât really seem to make things easier or really any âsaferâ. Had the upgrade installed successfully but failed to work after a reboot, Iâd have been going back to an earlier snapshot either way. The only real protection I would have received would have been if the upgrade itself had errored out (as it did when it took the default of not accepting the nVidia license), and not being aware of if I have any packages that were updated outside of the part of the filesystem that was snapshotted, that could have led to further troubleshooting had the upgrade been successful in installing but failed in terms of breaking the system post-upgrade (arguably, this would be the case with or without using transactional-update, since at that point, itâs all about the normal use of snapshots for recovery).
It added steps for what, to me, seems little to no return. If the upgrade failed with or without it, Iâd have been using a read-only snapshot to back out. If the user has concerns about a failed download messing up the upgrade, it does afford some protection for that, but you can also use zypper dup -d to just download the upgrade packages without applying them - then make sure theyâve downloaded correctly, and then apply the upgrade.
The additional step of running in interactive mode or otherwise finding a way to deal with solver issues (which I didnât have, but I can see also being an issue) as well as other things like license agreement requirements that may come up during a dup leads me to conclude that for myself (and probably most users), this isnât the way to do a system upgrade.
For more advanced users who know what theyâre doing, I can see some benefits. For me, not enough to make it part of my regular upgrade process, nor really enough for me to think that itâs a recommendation that Iâm comfortable giving. There are just too many caveats along the way. If you donât have solver issues, if you donât use packages that require a separate license agreement, if you remember to reboot right away after the upgrade to apply kernel updates (or run transactional-update apply) or you end up potentially modifying things in the current system that get wiped out post-upgrade when you reboot or otherwise activate the changes.
Thatâs a lot for an inexperienced user to have to deal with and remember.
So Iâll not be recommending this for general users based on my own experience.
Itâs really easy for advanced users to forget what itâs like to be a new user or to lack experience. What seems easy to us is completely foreign to those who lack that experience.
âNormal usersâ donât want anything to do with command-line interfaces.
Just as a point of calibration data.
@mhurron but Tumbleweed is not about today, itâs about Tomorrow, today it works, tomorrow it may notâŚ
Yet âthe normal practices for Tumbleweed (dup)â is very literally, open a terminal or exit out of your GUI session entirely and run zypper dup
transactional-update dup is safer and is not really any different than the existing recommended way.
You can also stop pretending âusersâ are touched in the head and realize that there are some expectations with using Tumbleweed already and fear of the command line is antithetical to that.
And itâll work tomorrow, it is the basis of MicroOS and itâs offshoots. If it became âthe wayâ focus would be on it continuing to work.
transactional-update is a better way than rpm was before, itâs a better way than zypper/yum/dnf/apt are now.
tup does the same as dup, but in a different manner, with the same result:
Options: cleanup dup reboot
2024-03-21 16:37:11 Options: call 2738 zypper --no-cd dup -y --auto-agree-with-product-licenses
2024-03-21 16:37:11 Executing `zypper --no-cd dup -y --auto-agree-with-product-licenses`:
The following 3034 packages are going to be upgraded:
The following 33 patterns are going to be upgraded:
The following product is going to be upgraded:
The following 3 packages are going to change architecture:
The following 575 NEW packages are going to be installed:
The following 252 packages are going to be REMOVED:
The following package requires a system reboot:
The following package is going to be REMOVED:
Warning: The following files were changed in the snapshot, but are shadowed by
As dup affects running processes anything can happen. tup wonât interfere with running processes. If you donât know what you are doing donât use it.
Youâre talking about ânormal usersâ in a way that is actually antithetical to the audience itself. Yes, Tumbleweed does expect more from the user. But to say that ânormal usersâ are fine with the command line is to not really understand who the ânormal usersâ are.
I donât know how much you read here in the forums. I read a bit every day, and I constantly see people who run TW who are averse to running any command-line utilities, even to the extent of pulling log files. This is not a case of âpretending âusersâ are touched in the headâ, but the reality of what users coming to Linux in general are expecting. Theyâre coming from Windows or MacOS, where everything is done in the GUI. They come to Linux and OMG, I have to learn how to use a command-line? What if I mistype something and trash my system?
It may not be an entirely rational fear, but it is most certainly there.
I detailed my experience using transactional-update to upgrade my system just yesterday. It was more involved than the way I would have normally done it, and it was really no more safe than how I would have done it normally.
Iâve been a Linux user for about 26 years now. Iâve trained people on how to use Linux systems (I used to teach classes on running a particular identity technology on both RedHat and SUSE Linux). Iâve seen the trepedation on even system administratorsâ faces who have only dealt with Windows Server being told that theyâre going to have to learn some CLI stuff to run it on Linux.
Those of us who have used it for years and years forget what it is to be new to the technology. This is not me assuming that ânormal usersâ arenât âsmart enoughâ to use it. This is me speaking from the experience of having worked with even IT professionals who look at Linux with anxiety when they havenât used it extensively, or who came up during a time when administering everything through a GUI has been the ânormalâ way to do things.
Using transactiona-update dup adds additional steps and things to take into consideration, which I detailed already.
So again, I will not be recommending it to normal users. Itâs fine by me if you want to take those extra steps and perceive it as being somehow âsaferâ than the normal way of doing an upgrade. You want to do that, knock yourself out. Youâre an advanced user and you know what youâre doing and how to recover from it if something goes wrong. Good for you.
You are not a ânormalâ user. Just remember that.
@mhurron again, itâs about folks writing up some (up to date) documentation about expectations, use cases etc before advising our Forum users, hey do thisâŚ
But theyâre your system(s), itâs all about the ability to do whatever works for you ![]()
The bigger but is, when users introduce something new in this Forum that there is an expectation (FAQ Technical Merit) users are prepared to stand behind it, in this case document it and support itâŚ
@hendersj and as of today, the KDE Theme thread trashing users systemsâŚ