SDB:System upgrade

(Redirected from Upgrade)
Jump to: navigation, search
This guide shows how to use Zypper to perform a live distribution upgrade of openSUSE.

Tested on openSUSE

Recommended articles

Related articles

Icon-help.png



Upgrade to Leap 16.0 Beta

Generally the upgrade should be simply matter of running zypper dup --releasever $RELEASE # e.g. 16.0 However there might be changes in distribution repositories in between major version updates and users might need to do a one or more extra steps.

Changes in distribution repositories from previous releases

Repository definitions for Leap 16.0 are available in the openSUSE-repos GitHub project. The most notable changes compared to Leap 15 include:

  • Removal of dedicated update repositories.
  • Split repositories per architecture to reduce repodata size and improve refresh speed.

Leap 16.0 uses Repository Index Service-based management by default. The openSUSE-repos package automatically manages repository definitions, relieving users from manually updating them.

This mechanism allows seamless migration between various openSUSE distributions.

Note on 3rd-party repositories

3rd-party repositories (e.g. OBS, Packman) can cause issues during migration.

This is a big problem especially early in a Leap development cycle as 3rd repositories may be unavailable or broken. Some repositories might hardcode Leap version instead of using $RELEASEVER variable, leading to unresolved dependencies in outdated software.

We strongly recommend disabling all non-official repositories before migrating.

 zypper lr -u | egrep -v "/distribution/|/update/" # list the 3rd party repos
 zypper modifyrepo -d <REPO_ID> # to disable individual repositories

Major changes

Leap 16.0 will no longer run on machines that do not support x86_64-v2. If you don't have a x86_64-v2 capable machine please consider using openSUSE Tumbleweed. Most of YaST stack was removed. There is a standalone

SELinux is the new default for Leap 16.0. Leap 16.0 can be still configured with AppArmor.

Most of YaST stack was removed from SLES 16 and therefore Leap. The good news is that we do have a drop-in replacement for YaST software installation GUI called Myrlyn.

Leap 16.0 release notes draft

The release notes for Leap 16.0 is being completely revamped. A draft can be found here.

Upgrade using opensuse-migration-tool

As part of Hackweek 24, the opensuse-migration-tool was introduced. This tool supports both standard release upgrades and cross-distribution migrations (e.g. from Leap to SLES or Leap to Slowroll or Tumbleweed).

It utilizes openSUSE:Standards_Repository_Index_Service, repository updates are then deployed as part of openSUSE-repos package update.

It installs the appropriate repository definitions from the target release and then executes zypper dup to perform the upgrade.

 sudo zypper in opensuse-migration-tool # Available since 15.6
 sudo opensuse-migration-tool
 sudo reboot # After a successful migration

Systems using btrfs can use snapper for rollback in case of failed migration.


opensuse-migration-tool
opensuse-migration-tool interface

If you experience any issues with the tool or want to help with development of opensuse-migration-tool check [1].

Manual upgrade with zypper dup

Adjust your repository definitions in /etc/zypp/repos.d/ to match the Leap 16.0 repository definitions from openSUSE-repos.

 sudo zypper dup --releasever 16.0
 sudo reboot # After a successful migration

Manual upgrade using openSUSE-repos package

Alternatively, you can manually install the openSUSE-repos package from Leap 16.0 to update repository definitions. Either get it from https://software.opensuse.org/package/openSUSE-repos-Leap.

Please note that Leap 16.0 version will be seen as SLFO_Main in software-o-o.

You can also get the package with osc

 zypper in osc
 osc getbinaries -d /tmp openSUSE:Leap:16.0 openSUSE-repos:openSUSE-repos-Leap standard x86_64
 sudo zypper in /tmp/openSUSE-repos-Leap*.rpm


Once you have Leap 16.0 repository definitions run

 sudo zypper dup --releasever 16.0
 sudo reboot # After a successful migration