SDB:System upgrade of LeapMicro
Summary
This page explains how to run a series of command line steps to live upgrade your Leap Micro 5.5 system to the latest Leap Micro 6.0.
Doing a live upgrade has advantages as well as disadvantages.
I highly recommend performing a clean install especially with a new major version and even more since the deployment with self-install image takes less than a 5 minutes.
Extra repositories handling
openSUSE-repos simplifies updating of repository definition in between major version upgrades.
Before Upgrading
Please check the SDB:System_upgrade_of_LeapMicro#Known_issues_with_migration section at the bottom of the page. Also, read the Release Notes which list changes and glitches in the new release.
Backup
Backup all data you do not want to loose! transactional-update system mechanism does not serve as a backup your 3rd party application data.
Experimental opensuse-migration-tool
We're shipping new experimental opensuse-migration-tool for migration and system upgrades with Leap Micro 6.1.
There is a nice article about showcasing Leap Micro 6.1 Beta.
Leap Micro 6.1+ users can simply follow instructions for Immutable systems on github.
Please follow instructions on getting the tool from github for migration from older releases such as Leap Micro 5.X or 6.0. Just skip the distrobox part.
Issues can be reported on github.
Manual steps for upgrade
Making sure you are up to date
transactional-update dup
1. Enter transactional update shell
You need to stay within transactional-update shell until end of upgrade steps.
transactional-update shell
2. Fetch new repositories and new keys
This step is only for migration from 5.X releases to 6.X. There is no repository paths change in between 6.0 and 6.1 aside from $releasever.
The most important change as far as repositories go is that Leap Micro 6.0+ uses exclusively repo definitions provided by package openSUSE-repos. The update repo was merged into the main repository and paths are slightly different as we use product-composer instead of old product builder. Installing openSUSE-repos takes care about all of it.
If you insist on maintaining repositories manually instead of relying on our local Repository Index Service, then template for new repos can be found here.
zypper --releasever 6.1 install openSUSE-repos openSUSE-build-key audit
Note: Installation of audit before upgrade is required until Bug#1226723 has a released fix for Micro 5.5.
Note: SLE Micro 6.0, on which binaries Leap Micro 6.X is based on, introduces new signing key gpg-pubkey-09d9ea69-645b99ce.asc which gets deployed by installing new openSUSE-repos. You might need to run following to import the key to rpmdb.
for i in /usr/lib/rpm/gnupg/keys/gpg-pubkey*asc; do rpm --import $i || true; done
3. Execute the full distribution upgrade
Now execute the full distribution upgrade.
zypper --releasever=6.1 dup --download-in-advance
With the above command, zypper will download all packages in advance - which is more reliable if your internet connection may fail.
Once the dup
is finished, openSUSE sets the releasever
variable to the new version.
zypper dup
step now to receive the final release.4. Exit transactional-update shell and Reboot
Exit transactional update shell. You need to reboot to the new snapshot in order to see changes.
exit # or ^D
reboot
5. (optional) Rollback
Transactional update systems make rollback super easy. Please be aware that this is a rollback of the distribution upgrade not your 3rd party application data.
transactional-update rollback
Known issues with migration
Migration from 5.X
Bug 1226723 backlog limit exceeded on migration from 5.5 -> 6.0
Leap Micro 6.0 - used signing keys 09d9ea69: NOKEY
Migration from 5.5 complains about libcontainer-sles-mounts
Afterwards
Discover and enjoy :)