On how to upgrade a transactional Leap server to the next version.
Normally, the System upgrade page in the openSUSE wiki is a good resource on how to upgrade a system to the next major/minor version. However, the documentation part on transactional server is still sparse. This short blog post shows, how I managed to upgrade my Leap 15.2 transactional servers to 15.3 without much fuzz.
Do the upgrade prodecure for a non-transactional system with a
# transactional-update shell # zypper --releasever=15.3 dup --download-in-advance # reboot # transactional-update dup # Ignore the 'Subprocess failed. Error: Failed to import public key' errors # reboot
Check if the upgrade was successful:
# cat /etc/os-release | grep VERSION VERSION="15.3"
In principle we are doing exactly the same procedure as for a non-transactional system, but we need to run this in a read-write snapshot of the system. For that we use the integrated
shell feature of
# transactional-update shell # Starts a shell in a new rw snapshot
Within this shell, we can do the typical update command
# zypper --releasever=15.3 dup --download-in-advance
This should download an install all relevant updates for the upgrade. So far so good. The upgrade went well and after restarting the system I was in a new 15.3 system:
# cat /etc/os-release | grep VERSION VERSION="15.3" VERSION_ID="15.3"
However, not all packages have been updated, as a new run of
transactional-update dup reveals:
... Checking for newer version. Subprocess failed. Error: Failed to import public key [70AF9E8139DB7C82-5f68629b] [SuSE Package Signing Key <email@example.com>] [expires: 2024-09-20] ...
However after this round and another reboot, the system was fine:
# transactional-update dup Checking for newer version. transactional-update 3.2.2 started Options: dup ... zypper: nothing to update ... transactional-update finished
After this update I also had the new SUSE Linux Enterprise 15 repos within the system
9 | repo-sle-debug-update | Update repository with debuginfo for updates from SUSE Linux Enterprise 15 | No | ---- | ---- 10 | repo-sle-update | Update repository with updates from SUSE Linux Enterprise 15 | Yes | (r ) Yes | Yes
So all in all, that’s it. Using
transactional-update shell upgrading a transactional server is as easy as upgrading a classical one.