Sometimes business plans change and maybe you need to move your OpenLeap 15 Server to the supported version SUSE Linux Enterprise Server 15. Upgrade is getting really easy with version 15. It can be performed online. So your server does not need to be offline during the upgrade.
So let’s have a look on the upgrade.
First of all, you need a SUSE Subscription. We will help you with this. Just send us a message.
As soon as you got it you can go on with the upgrade.
Let’s start with checking the actual version running on the server.
openleap:~ $ cat /etc/os-release NAME="openSUSE Leap" VERSION="15.0" ID="opensuse-leap" ID_LIKE="suse opensuse" VERSION_ID="15.0" PRETTY_NAME="openSUSE Leap 15.0" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:leap:15.0" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/"
Now we can install SUSEConnect, so we can register the system in the next step.
openleap:~ $ zypper in SUSEConnect Retrieving repository 'openSUSE-Leap-15.0-Update' metadata ..............................................................................................................................................................[done] Building repository 'openSUSE-Leap-15.0-Update' cache ...................................................................................................................................................................[done] Loading repository data... Reading installed packages... Resolving package dependencies... The following 3 NEW packages are going to be installed: SUSEConnect rollback-helper zypper-migration-plugin 3 new packages to install. Overall download size: 138.9 KiB. Already cached: 0 B. After the operation, additional 213.9 KiB will be used. Continue? [y/n/...? shows all options] (y): y Retrieving package SUSEConnect-0.3.17-lp150.2.14.1.x86_64 (1/3), 100.9 KiB (176.3 KiB unpacked) Retrieving: SUSEConnect-0.3.17-lp150.2.14.1.x86_64.rpm ..................................................................................................................................................................[done] Retrieving package rollback-helper-1.0+git20181218.5394d6e-lp150.3.3.1.noarch (2/3), 22.6 KiB ( 19.9 KiB unpacked) Retrieving: rollback-helper-1.0+git20181218.5394d6e-lp150.3.3.1.noarch.rpm ..................................................................................................................................[done (7.9 KiB/s)] Retrieving package zypper-migration-plugin-0.11.1520597355.bcf74ad-lp150.1.1.noarch (3/3), 15.5 KiB ( 17.6 KiB unpacked) Retrieving: zypper-migration-plugin-0.11.1520597355.bcf74ad-lp150.1.1.noarch.rpm ..............................................................................................................................[done (253 B/s)] Checking for file conflicts: ............................................................................................................................................................................................[done] (1/3) Installing: SUSEConnect-0.3.17-lp150.2.14.1.x86_64 ................................................................................................................................................................[done] (2/3) Installing: rollback-helper-1.0+git20181218.5394d6e-lp150.3.3.1.noarch ............................................................................................................................................[done] (3/3) Installing: zypper-migration-plugin-0.11.1520597355.bcf74ad-lp150.1.1.noarch ......................................................................................................................................[done] openleap:~ #
Register your system at the SUSE Customer Center, so you get full access to the repositories. This step is mandatory, otherweise it’s not possible to upgrade.
openleap:~ $ SUSEConnect -r REGISTRATION_CODE -p SLES/15/x86_64 Registering system to SUSE Customer Center Announcing system to https://scc.suse.com ... Activating SLES 15 x86_64 ... -> Adding service to system ... -> Installing release package ... Successfully registered system
Now check for available extensions and the command to activate it using SUSEConnect
openleap:~ $ SUSEConnect --list-extensions AVAILABLE EXTENSIONS AND MODULES Basesystem Module 15 x86_64 Activate with: SUSEConnect -p sle-module-basesystem/15/x86_64 Containers Module 15 x86_64 Activate with: SUSEConnect -p sle-module-containers/15/x86_64 Desktop Applications Module 15 x86_64 Activate with: SUSEConnect -p sle-module-desktop-applications/15/x86_64 Development Tools Module 15 x86_64 Activate with: SUSEConnect -p sle-module-development-tools/15/x86_64 SUSE Linux Enterprise Workstation Extension 15 x86_64 Activate with: SUSEConnect -p sle-we/15/x86_64 -r ADDITIONAL REGCODE SUSE Cloud Application Platform Tools Module 15 x86_64 Activate with: SUSEConnect -p sle-module-cap-tools/15/x86_64 SUSE Linux Enterprise Live Patching 15 x86_64 Activate with: SUSEConnect -p sle-module-live-patching/15/x86_64 -r ADDITIONAL REGCODE SUSE Package Hub 15 x86_64 Activate with: SUSEConnect -p PackageHub/15/x86_64 Server Applications Module 15 x86_64 Activate with: SUSEConnect -p sle-module-server-applications/15/x86_64 Legacy Module 15 x86_64 Activate with: SUSEConnect -p sle-module-legacy/15/x86_64 Public Cloud Module 15 x86_64 Activate with: SUSEConnect -p sle-module-public-cloud/15/x86_64 SUSE Linux Enterprise High Availability Extension 15 x86_64 Activate with: SUSEConnect -p sle-ha/15/x86_64 -r ADDITIONAL REGCODE Web and Scripting Module 15 x86_64 Activate with: SUSEConnect -p sle-module-web-scripting/15/x86_64 REMARKS (Not available) The module/extension is not enabled on your RMT/SMT (Activated) The module/extension is activated on your system MORE INFORMATION You can find more information about available modules here: https://www.suse.com/products/server/features/modules.html
In case you need more modules, you can add now any module you need. Please keep in mind, for the extensions you need a separate subscription. For my needs the base module is enough.
openleap:~ $ SUSEConnect -p sle-module-basesystem/15/x86_64 Registering system to SUSE Customer Center Updating system details on https://scc.suse.com ... Activating sle-module-basesystem 15 x86_64 ... -> Adding service to system ... -> Installing release package ... Successfully registered system
Next step is to do the upgrade itself. As the output is quite huge, I put some [***] as place holders.
openleap:~ $ zypper dup --force-resolution Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command. Refreshing service 'Basesystem_Module_15_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_15_x86_64'. Loading repository data... Warning: Repository 'openSUSE-Leap-15.0-Update-Non-Oss' appears to be outdated. Consider using a different mirror or server. Reading installed packages... Computing distribution upgrade... The following 11 NEW packages are going to be installed: dejavu-fonts glibc-locale-base google-opensans-fonts issue-generator kernel-default-4.12.14-lp150.12.67.1 man-pages man-pages-posix release-notes-sles rpcgen yast2-vm zypper-search-packages-plugin The following 286 packages are going to be upgraded: NetworkManager NetworkManager-lang PackageKit PackageKit-backend-zypp PackageKit-gstreamer-plugin PackageKit-gtk3-module PackageKit-lang aaa_base aaa_base-extras apparmor-abstractions [***] [***] yast2-storage-ng yast2-users The following 288 packages have no support information from their vendor: NetworkManager NetworkManager-lang PackageKit PackageKit-backend-zypp PackageKit-gstreamer-plugin PackageKit-gtk3-module PackageKit-lang aaa_base aaa_base-extras apparmor-abstractions apparmor-docs apparmor-parser [***] [***] The following package is not supported by its vendor: zypper-search-packages-plugin 286 packages to upgrade, 11 new. Overall download size: 322.4 MiB. Already cached: 0 B. After the operation, additional 343.9 MiB will be used. Continue? [y/n/...? shows all options] (y): y Retrieving package issue-generator-1.6-1.1.noarch (1/297), 28.0 KiB ( 25.6 KiB unpacked) Retrieving: issue-generator-1.6-1.1.noarch.rpm ..........................................................................................................................................................................[done] Retrieving package man-pages-4.16-3.3.1.noarch (2/297), [***] [***] Executing %posttrans scripts ............................................................................................................................................................................................[done] There are some running programs that might use files deleted by recent upgrade. You may wish to check and restart some of them. Run 'zypper ps -s' to list these programs.
Disable the openLeap repository to prevent warnings when using zypper (this is optional).
openleap:~ $ zypper lr -d Repository priorities are without effect. All enabled repositories share the same priority. # | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service ---+-----------------------------------------------------------------------------+-------------------------------------------+---------+-----------+---------+----------+--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------- 1 | Basesystem_Module_15_x86_64:SLE-Module-Basesystem15-Debuginfo-Pool | SLE-Module-Basesystem15-Debuginfo-Pool | No | ---- | ---- | 99 | NONE | https://updates.suse.com/SUSE/Products/SLE-Module-Basesystem/15/x86_64/product_debug?8YsR5pv4h6qQr15qW8KWqXRBK0MDd9EONPOcnYjrQyXxeU4PVhIX5FRdwf5ziU1Oa8rdtuE2W4NyVotHhKeQrdvQMM9OQ3sEllMJno1VxgQEPq-1QyaCv24cSZsg2H21-d3hQqkxXD3iUKRgNTqHGtkRHHCN71yMa28 | Basesystem_Module_15_x86_64 2 | Basesystem_Module_15_x86_64:SLE-Module-Basesystem15-Debuginfo-Updates | SLE-Module-Basesystem15-Debuginfo-Updates | No | ---- | ---- | 99 | NONE | https://updates.suse.com/SUSE/Updates/SLE-Module-Basesystem/15/x86_64/update_debug?jjKAgTm0AAAAAAAAq_jTGwRAkx4zc8EQV0ANMjmrFjIoJBofX8ETJPW9qS9ojjVsnoDNK1TRGjk5t31J0Y9Bv_KRzpdYdJVmoH_gO-WaIo-dsZHiDXUm9fjYvLJcjsm0TidUzPnNkAqDAQsPZGZUUCXrek3JjRZl | Basesystem_Module_15_x86_64 3 | Basesystem_Module_15_x86_64:SLE-Module-Basesystem15-Pool | SLE-Module-Basesystem15-Pool | Yes | (r ) Yes | No | 99 | rpm-md | https://updates.suse.com/SUSE/Products/SLE-Module-Basesystem/15/x86_64/product?MbepfbRQy5WToAHi4xjhC2KOqjwW00ax8Xj23W9iMukhhWz78BKVY5sSDHiT4nurfz1JyHJrqcqpZiJU-PdajPthp3lQx4hyu-5FzifML0ALTTvKY6XEYA7qlwbn0E6fmA_iSbMl2JOWvZDpeQUZtMlCjQI | Basesystem_Module_15_x86_64 4 | Basesystem_Module_15_x86_64:SLE-Module-Basesystem15-Source-Pool | SLE-Module-Basesystem15-Source-Pool | No | ---- | ---- | 99 | NONE | https://updates.suse.com/SUSE/Products/SLE-Module-Basesystem/15/x86_64/product_source?86sSfrO8KT3dMsapcn4ihtYRbSwy2kunffEZ6oUiH-vBC-0IkEZQPniCPn63-DeOwlX9brw3vR-BqMNjC9KiOAq0JR0aHZUcyHP5sGhjitLFGTx9zUYo3F4u0KNC3rqIq2WGq-kZEhLm1s2U-vVJHpr6x5RWmMjuBDAe | Basesystem_Module_15_x86_64 5 | Basesystem_Module_15_x86_64:SLE-Module-Basesystem15-Updates | SLE-Module-Basesystem15-Updates | Yes | (r ) Yes | Yes | 99 | rpm-md | https://updates.suse.com/SUSE/Updates/SLE-Module-Basesystem/15/x86_64/update?WzCCey-NrSLfBHonPxWuaTXt1QuGMemPZsFEhtMfDC_jKtn5XUsqbdI8JZ9D6YNveeYrthpKY2uLTOIB_vtbMQsQUblAr2dU4D59yIBIjZv1l91CLeZD2z61oLPc7ad0UkZjl9R_e6bSNAGP8oz94Fp5 | Basesystem_Module_15_x86_64 6 | SUSE_Linux_Enterprise_Server_15_x86_64:SLE-Product-SLES15-Debuginfo-Pool | SLE-Product-SLES15-Debuginfo-Pool | No | ---- | ---- | 99 | NONE | https://updates.suse.com/SUSE/Products/SLE-Product-SLES/15/x86_64/product_debug?xtsT1GSwugZaHDGElBaTczgwJS79hgJDOy_tkzInodgbplBttQlatgP5rI0SnLQqLCw5WsfSqBIyN_tnMVZn4ZLJ3S3ENBDiZsYhg0vGZf7ILMix03bcXoHEKlzAYRntcEIx877RvS7DDHAAR4cj1V5gzcu6 | SUSE_Linux_Enterprise_Server_15_x86_64 7 | SUSE_Linux_Enterprise_Server_15_x86_64:SLE-Product-SLES15-Debuginfo-Updates | SLE-Product-SLES15-Debuginfo-Updates | No | ---- | ---- | 99 | NONE | https://updates.suse.com/SUSE/Updates/SLE-Product-SLES/15/x86_64/update_debug?tkJ9rVV33hinQtEBnPYH_5D8OCs1ZtB4WEQFAShIaq1yN6Lwg2-W2Zu2AFALp5Jk3Oh1g1XVBqEOSPnSgACvcCIWuXr_cRfirUHEwbNqIcaSwcjxGjJYdhsb97t01_X-LPT0FDiGGezP64HheC_CzdV6xA | SUSE_Linux_Enterprise_Server_15_x86_64 8 | SUSE_Linux_Enterprise_Server_15_x86_64:SLE-Product-SLES15-Pool | SLE-Product-SLES15-Pool | Yes | (r ) Yes | No | 99 | rpm-md | https://updates.suse.com/SUSE/Products/SLE-Product-SLES/15/x86_64/product?887kGBgH3AfONFY1X3wVkuYn_5nm8sTKex06X1JSRI9gXQNqJioSBea5sAECwbVhqs510L3YRdVlVLgsavZ9D8PPplk8S_oEvhWEQdS-jfFH9dTKcukF09RkjliWQkcaNHkFzY4uQWbHzXJYekkn | SUSE_Linux_Enterprise_Server_15_x86_64 9 | SUSE_Linux_Enterprise_Server_15_x86_64:SLE-Product-SLES15-Source-Pool | SLE-Product-SLES15-Source-Pool | No | ---- | ---- | 99 | NONE | https://updates.suse.com/SUSE/Products/SLE-Product-SLES/15/x86_64/product_source?XhlzrvfoPp1qTZqv1hErqkUwBGOoZMYY4RAS-c78IKoacswAmOXTemuxa8ZiAFfopgedlQfewbcC7_gxUERoKGdlcW7E4WaqpcuSDYh-xlJr2SG9-4OuxPDToPfZ1CgvDDZIAlqIyXDKGcwvl3EjALH9msDNHg | SUSE_Linux_Enterprise_Server_15_x86_64 10 | SUSE_Linux_Enterprise_Server_15_x86_64:SLE-Product-SLES15-Updates | SLE-Product-SLES15-Updates | Yes | (r ) Yes | Yes | 99 | rpm-md | https://updates.suse.com/SUSE/Updates/SLE-Product-SLES/15/x86_64/update?j0Qh2SfH11scgFCBmZI3R9B4GMJWAh5l6C0P7_jtUle_3dAATzJ2wwwo3SR_dOpn4bBYL4wSkD9bMuCRJlzcmWSkeh1W06Rz8Jsq1KysLODXqUtsBgeE5Tju1Pf-XTpNJF1RQMRRRmb_Tj8RPA | SUSE_Linux_Enterprise_Server_15_x86_64 11 | openSUSE-Leap-15.0-1 | openSUSE-Leap-15.0-1 | No | ---- | ---- | 99 | rpm-md | cd:///?devices=/dev/disk/by-id/ata-VBOX_CD-ROM_VB0-01f003f6 | 12 | repo-debug | openSUSE-Leap-15.0-Debug | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/debug/distribution/leap/15.0/repo/oss/ | 13 | repo-debug-non-oss | openSUSE-Leap-15.0-Debug-Non-Oss | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/debug/distribution/leap/15.0/repo/non-oss/ | 14 | repo-debug-update | openSUSE-Leap-15.0-Update-Debug | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/debug/update/leap/15.0/oss/ | 15 | repo-debug-update-non-oss | openSUSE-Leap-15.0-Update-Debug-Non-Oss | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/debug/update/leap/15.0/non-oss/ | 16 | repo-non-oss | openSUSE-Leap-15.0-Non-Oss | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.0/repo/non-oss/ | 17 | repo-oss | openSUSE-Leap-15.0-Oss | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/distribution/leap/15.0/repo/oss/ | 18 | repo-source | openSUSE-Leap-15.0-Source | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/source/distribution/leap/15.0/repo/oss/ | 19 | repo-source-non-oss | openSUSE-Leap-15.0-Source-Non-Oss | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/source/distribution/leap/15.0/repo/non-oss/ | 20 | repo-update | openSUSE-Leap-15.0-Update | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.0/oss/ | 21 | repo-update-non-oss | openSUSE-Leap-15.0-Update-Non-Oss | Yes | (r ) Yes | Yes | 99 | rpm-md | http://download.opensuse.org/update/leap/15.0/non-oss/ | openleap:~ # zypper mr -d 21 Repository 'repo-update-non-oss' has been successfully disabled.
Check for orphaned packages.
openleap:~ $ zypper rm $(zypper --no-refresh packages --orphaned | gawk '{print $5}' | tail -n +5 ) Too few arguments. At least one package name is required. remove (rm) [OPTIONS] ... Remove packages with specified capabilities. A capability is NAME[.ARCH][OP], where OP is one of <, =, >. Command options: -r, --repo Load only the specified repository. -t, --type Type of package (package, patch, pattern, product). -n, --name Select packages by plain name, not by capability. -C, --capability Select packages by capability. -u, --clean-deps Automatically remove unneeded dependencies. -U, --no-clean-deps No automatic removal of unneeded dependencies. -D, --dry-run Test the removal, do not actually remove. --details Show the detailed installation summary. -y, --no-confirm Don't require user interaction. Alias for the --non-interactive global option. Solver options: --debug-solver Create a solver test case for debugging. --force-resolution Force the solver to find a solution (even an aggressive one) rather than asking. --no-force-resolution Do not force the solver to find solution, let it ask. openleap:~ $ zypper --no-refresh packages --orphaned Loading repository data... Reading installed packages... No packages found.
My whole migration lasts about 30 minutes. But that’s really a small server.
And in the end – you have to reboot, anyway.
openleap:~ $ systemctl reboot
Let’s check if we really run a SLES15 server now.
openleap:~ # cat /etc/os-release NAME="SLES" VERSION="15" VERSION_ID="15" PRETTY_NAME="SUSE Linux Enterprise Server 15" ID="sles" ID_LIKE="suse" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:suse:sles:15"
Looks good! The system is running SLES15 now. Now you can enjoy the full support and service of SUSE.