openSUSE

How to Upgrade to openSUSE Leap 16 from Leap 15

Upgrade to openSUSE Leap 16 from Leap 15

openSUSE Leap 16 marks a significant milestone in the project’s history, representing the first major version update in seven years. This community-driven Linux distribution brings substantial improvements, including a fresh software stack built on SUSE Linux Framework One (SLFO), an impressive 24-month free maintenance and security support cycle, and simplified migration options that make upgrading more accessible than ever. The release introduces cutting-edge features such as the new Agama installer, Linux kernel 6.12 LTS, SELinux as the default security module, and parallel downloads in Zypper for faster package management. Upgrading from Leap 15 to Leap 16 typically takes between 30 to 60 minutes, depending on system specifications and internet connection speed. This comprehensive guide provides proven methods for safely migrating your openSUSE Leap 15 installation to Leap 16, complete with detailed instructions, troubleshooting strategies, and best practices.

What’s New in openSUSE Leap 16

openSUSE Leap 16 represents a fundamental architectural shift from previous versions. Built on SUSE Linux Framework One (SLFO/ALP), the distribution achieves source and binary compatibility with SUSE Linux Enterprise Server 16, enabling seamless migration paths between community and enterprise platforms. This relationship allows developers to create and test workloads on Leap for later deployment on SLES.

The new Agama installer replaces the traditional YaST-based installation system, delivering a modernized setup experience that simplifies initial configuration. System management has evolved as well, with Cockpit and Myrlyn taking over administrative tasks previously handled by YaST. SELinux now serves as the default Linux Security Module, though AppArmor remains available as an alternative that can be selected post-installation.

Desktop environment enthusiasts will find updated versions including GNOME 48 and KDE Plasma 6.3, while the transition to Wayland as the default display server brings improved graphics performance and security. Zypper’s new parallel download capability significantly accelerates software installations and system updates.

Leap 16 addresses long-term compatibility concerns by ensuring Year 2038 problem-proofness. While 32-bit (ia32) support is disabled by default, users can manually enable it for applications like Steam that still rely on 32-bit libraries. The release initiates a new lifecycle plan with annual minor releases expected through Leap 16.6 in 2031, with a successor anticipated in 2032.

System Requirements for openSUSE Leap 16

Hardware requirements have evolved with this major release. Leap 16 mandates x86-64-v2 as the minimum CPU architecture level, generally encompassing processors manufactured from 2008 onwards. This requirement ensures optimal performance and security features.

Check CPU compatibility by running the following command in terminal:

/lib64/ld-linux-x86-64.so.2 --help | grep "x86-64-v2"

If the command returns output confirming x86-64-v2 support, the system meets the processor requirements. Systems with older hardware lacking this support should consider migrating to openSUSE Tumbleweed or Slowroll instead.

Memory and storage requirements remain reasonable. A minimum of 2GB RAM is recommended for basic desktop usage, while 4GB or more ensures smooth operation with modern desktop environments. Available disk space should exceed 10GB to accommodate the upgrade process and future updates.

Pre-Upgrade Preparations

Understanding Your Current System

Before initiating the upgrade, verify the current Leap version:

cat /etc/os-release

This command displays distribution information including the version number. Review installed packages and check available disk space:

df -h

Ensure adequate free space exists on the root partition to handle the upgrade process.

Creating System Backups

Backing up critical data represents the most crucial preparatory step. Systems using Btrfs filesystems can leverage Snapper for automatic snapshot creation:

sudo snapper create --description "Pre-Leap-16-upgrade"

This command generates a filesystem snapshot that enables quick rollback if issues arise during the upgrade. For comprehensive protection, back up the /home directory, /etc configuration files, and generate a list of installed packages:

rpm -qa > ~/installed-packages-backup.txt

Alternative backup methods include rsync for copying important directories to external storage or Timeshift for system-wide backup management. Test backup integrity by verifying that files can be restored before proceeding with the upgrade.

Reviewing Third-Party Repositories

Third-party repositories frequently cause upgrade complications due to unavailability for new releases or delays in version compatibility. List current repositories:

zypper lr -u

This displays all configured repositories with their URLs and enabled status. Identify non-official repositories such as Packman, Open Build Service (OBS) personal projects, or vendor-specific sources. These repositories should be disabled before upgrading to prevent package conflicts and dependency resolution failures.

Pay particular attention to repositories using hardcoded version numbers in their URLs rather than the $RELEASEVER variable, as these will continue pointing to Leap 15 repositories after the upgrade.

Updating Your Current Leap 15 System

A fully updated Leap 15 system ensures the smoothest upgrade experience. Refresh repository metadata:

sudo zypper ref

Perform a complete system update:

sudo zypper up

Review the proposed changes and accept package updates. Address any update conflicts by following on-screen prompts. If kernel updates are installed, reboot the system:

sudo reboot

After rebooting, verify system stability by ensuring all critical services operate correctly. Check for held packages or locks that might interfere with the upgrade:

zypper locks

Remove unnecessary locks before proceeding with the distribution upgrade.

Method 1: Upgrading Using openSUSE Migration Tool (Recommended)

Understanding the Migration Tool

The opensuse-migration-tool represents the officially recommended method for upgrading to Leap 16. This sophisticated utility automates repository management, disables problematic third-party sources, and executes distribution upgrades safely. The tool features a user-friendly dialog interface with openSUSE’s signature green color scheme, making the upgrade process simple and predictable.

Unlike manual upgrade methods that require extensive repository configuration, the migration tool handles distribution repository updates automatically through the openSUSE-repos package system. It performs pre-migration checks including x86-64-v2 CPU architecture verification and offers post-upgrade scripts for adopting new defaults such as SELinux configuration.

The tool’s versatility extends beyond simple Leap upgrades. Users can migrate to SUSE Linux Enterprise, Slowroll, or Tumbleweed using the same interface. Integration with Snapper enables easy rollback through snapshot functionality if issues occur.

Installing the Migration Tool

The migration tool comes preinstalled on Leap 15.6 systems. Install it on earlier Leap 15 versions:

sudo zypper in opensuse-migration-tool

This command downloads and installs the tool along with its dependencies.

Running the Migration Tool

First-time users should test the tool in dry-run mode to preview functionality without making system changes:

/usr/sbin/opensuse-migration-tool --dry-run

Dry-run mode doesn’t require root privileges and provides insight into the migration process. When ready to proceed with the actual upgrade, launch the tool with administrative privileges:

sudo opensuse-migration-tool

The interactive menu displays available migration targets. Select “openSUSE Leap 16.0” from the list using arrow keys and Enter.

Handling Third-Party Repositories

The tool presents a screen recommending which non-distribution repositories to disable. Accept the default selections, as these recommendations prevent common upgrade conflicts. Third-party repositories can be re-enabled and updated after successfully completing the upgrade.

The tool automatically manages official openSUSE repositories, updating them to Leap 16 URLs and installing updated repository definitions through the openSUSE-repos package.

The Upgrade Process

After confirming repository changes, the tool executes zypper dup --r to perform the distribution upgrade. Download size typically ranges from several gigabytes depending on installed packages. Progress indicators display package download and installation status.

During package replacement, prompts may appear requesting decisions about configuration file changes. Review each prompt carefully. Choosing to keep current configurations preserves custom settings, while accepting maintainer versions adopts new defaults. Vendor change notifications indicate packages transitioning from community to SLES repositories or vice versa.

The tool automatically reruns zypper if issues occur during the upgrade process, ensuring completion even if temporary failures happen. Upgrade duration varies based on internet connection speed and system specifications, typically ranging from 30 to 90 minutes.

Post-Migration Reboot

After the upgrade completes successfully, reboot the system:

sudo reboot

The first boot into Leap 16 may take longer than usual as the system initializes new configurations and services. The GRUB bootloader displays Leap 16 entries, confirming the upgrade succeeded.

Method 2: Manual Upgrade with Zypper dup

When to Use Manual Method

Advanced users preferring granular control over the upgrade process may choose the manual method. This approach suits scenarios where the migration tool is unavailable or when specific repository configurations require preservation. Manual upgrades demand deeper understanding of repository management and package dependencies.

Disabling Third-Party Repositories

List all configured repositories with detailed information:

zypper lr -u

Identify non-official repositories by examining URLs. Official openSUSE repositories contain “download.opensuse.org” in their addresses. Disable each third-party repository individually:

zypper modifyrepo -d <REPO_ID>

Replace <REPO_ID> with the repository number or alias shown in the repository list. Alternatively, disable all non-official repositories using grep filtering:

zypper lr | egrep -v 'openSUSE|Yes' | awk '{print $1}' | xargs -I {} sudo zypper modifyrepo -d {}

Verify repository status after disabling:

zypper lr -E

This displays only enabled repositories, confirming that third-party sources are disabled.

Adjusting Repository Definitions

Repository definition files reside in /etc/zypp/repos.d/. Examine these files to ensure they use the $RELEASEVER variable instead of hardcoded version numbers:

ls /etc/zypp/repos.d/

Files containing hardcoded “15.6” or similar version strings in their URLs must be updated to reference Leap 16.0 repositories. The safest approach involves installing the openSUSE-repos package that automates this process.

Executing the Distribution Upgrade

Execute the distribution upgrade command with the --releasever parameter:

sudo zypper --releasever 16.0 dup

The dup (distribution upgrade) command differs from up (update) by allowing package downgrades, architecture changes, and vendor switches necessary for major version transitions. Zypper calculates dependencies and displays a comprehensive list of changes.

Review the proposed package operations carefully. Accept vendor changes when prompted, as packages transition from Leap 15 to Leap 16 repositories. Systems with slow internet connections can use the download-in-advance option:

sudo zypper --releasever 16.0 dup --download-in-advance

This downloads all packages before beginning installation, preventing timeout issues. Monitor upgrade progress through on-screen messages. The process may take substantial time depending on system specifications.

Completing the Manual Upgrade

After zypper completes all package operations, reboot the system:

sudo reboot

The upgraded system boots into openSUSE Leap 16.

Method 3: Using openSUSE-repos Package

An alternative manual approach involves directly installing the openSUSE-repos package for Leap 16. This method suits users comfortable with manual package management who want simplified repository configuration.

Download the openSUSE-repos package from software.opensuse.org or use OSC (openSUSE Commander) tool:

osc getbinaries openSUSE:Leap:16.0 openSUSE-repos standard x86_64 -d /tmp

This command retrieves the repository package binaries. Install the downloaded package:

sudo zypper in /tmp/openSUSE-repos-Leap*.rpm

The package installation updates repository definitions to point to Leap 16 sources with the SLFO_Main designation. After installing the repository package, execute the distribution upgrade:

sudo zypper dup

This approach benefits users who want repository updates without running the full migration tool while maintaining more control than fully manual methods.

Post-Upgrade Tasks and Verification

Initial System Check

Verify successful upgrade by checking the operating system release information:

cat /etc/os-release

The output should display “openSUSE Leap 16.0” as the version. Confirm the running kernel version:

uname -r

Leap 16 ships with Linux kernel 6.12 LTS or newer. Review system logs for errors or warnings:

journalctl -b

This displays boot logs from the current session, highlighting any service failures or configuration issues.

Desktop Environment Verification

Log into the graphical session to verify desktop environment functionality. Check whether Wayland or X11 is active:

echo $XDG_SESSION_TYPE

Leap 16 defaults to Wayland for supported graphics hardware. Confirm desktop environment versions through their respective about dialogs. GNOME users should see version 48, while KDE Plasma users should find version 6.3.

Package and Repository Status

Identify orphaned packages no longer provided by active repositories:

zypper packages --orphaned

Orphaned packages can be removed or left installed based on necessity. Review the current repository list:

zypper lr

Official Leap 16 repositories should be enabled and pointing to correct URLs. Update repository cache:

sudo zypper ref

This ensures package metadata reflects the new Leap 16 repositories.

Re-enabling Third-Party Repositories

Re-enable previously disabled third-party repositories after verifying Leap 16 compatibility. Check repository websites for updated URLs supporting Leap 16. Packman, the popular multimedia repository, typically provides Leap 16 support shortly after release:

sudo zypper ar -cfp 90 http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_16.0/ packman

Adjust priority levels as needed to prevent unintended package replacements.

System Optimization

Clean the package cache to reclaim disk space:

sudo zypper clean

This removes downloaded package files no longer needed. Identify and optionally remove unneeded packages:

sudo zypper packages --unneeded

Review the list carefully before removing packages to avoid deleting desired software.

Common Issues and Troubleshooting

Dependency Conflicts

Dependency resolution errors occasionally occur during upgrades. Enable vendor changes explicitly:

sudo zypper dup --allow-vendor-change

This permits packages to switch between different repositories. If specific packages cause conflicts, consider temporarily removing them:

sudo zypper rm <package-name>

Reinstall problematic packages after completing the upgrade. Check for package locks preventing modifications:

zypper locks

Remove unnecessary locks using:

sudo zypper rl <package-name>

Third-Party Repository Problems

Repository conflicts manifest as metadata download failures or dependency resolution errors. Verify repository URLs point to Leap 16-compatible versions. Disable problematic repositories:

sudo zypper modifyrepo -d <repo-name>

Search for alternative repositories or wait for maintainers to provide Leap 16 support. The OPI (Open Build Service Package Installer) tool assists with finding packages across repositories.

Boot Issues After Upgrade

Boot failures require accessing GRUB recovery options. At the GRUB menu, select “Advanced options” and choose an older kernel or snapshot. Systems using Btrfs with Snapper can roll back to pre-upgrade snapshots:

sudo snapper rollback

This restores the system to its state before the upgrade. Kernel panic errors often relate to driver incompatibilities, particularly with proprietary graphics drivers. Boot with the “nomodeset” kernel parameter to disable graphics drivers temporarily and investigate issues.

Graphics and Display Issues

Wayland compatibility problems affect certain graphics cards and proprietary drivers. Switch to X11 by selecting “GNOME on X11” or “Plasma (X11)” at the login screen. NVIDIA users should install appropriate drivers from the official repository:

sudo zypper in nvidia-glG06

AMD and Intel graphics typically work with open-source drivers included in Leap 16.

SELinux Transition Issues

SELinux becomes the default security module in Leap 16, potentially causing permission denials for previously working applications. Review SELinux denial messages:

sudo ausearch -m avc

Temporarily set SELinux to permissive mode during troubleshooting:

sudo setenforce 0

Users preferring AppArmor can switch security modules during post-installation configuration. Filesystem relabeling may be necessary:

sudo fixfiles onboot
sudo reboot

Network Configuration Issues

Network connectivity problems after upgrading require checking NetworkManager status:

systemctl status NetworkManager

Restart the service if inactive:

sudo systemctl restart NetworkManager

Reconfigure network interfaces through Cockpit or command-line tools if automatic configuration fails.

Important Considerations and Best Practices

Never skip major versions when upgrading. Systems running Leap 15.2 or earlier should first upgrade to Leap 15.6 before proceeding to Leap 16. Avoid performing upgrades from GUI desktop environments. Use virtual terminals (Ctrl+Alt+F2) or SSH connections for more stable upgrade sessions.

Consider setting the default target to multi-user mode before upgrading:

sudo systemctl set-default multi-user.target

This prevents desktop environment issues from interrupting the upgrade process. Never interrupt distribution upgrades, as partial updates cause system instability. Ensure uninterruptible power supply protection for critical systems.

Physical access to machines provides recovery options if boot problems occur. Keep installation media accessible for emergency repairs. Read release notes thoroughly before upgrading to understand known issues and behavioral changes.

Test upgrades on non-production systems first to identify potential issues specific to particular configurations. Leap 16’s 24-month free maintenance and security support cycle provides substantial stability, unmatched by other community distributions. Users may also migrate from Leap to SLES for enterprise support if needs evolve.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button