As etckeeper wasn’t available in the “normal” OpeenSuSE 13.1 package, I used the steps below to upgrade to 13.2 after reading SDB:System upgrade – openSUSE and How To Upgrade To openSUSE 13.2 From openSUSE 13.1 | Unixmen.
Note I installed inside tmux (to prevent any ssh disconnects from screwing the upgrade process):
slave2:/etc # zypper repos --uri # | Alias | Name | Enabled | Refresh | URI --+---------------------------+------------------------------------+---------+---------+------------------------------------------------------------------------------------------------ 1 | openSUSE-13.1-1.10 | openSUSE-13.1-1.10 | Yes | No | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001,/dev/sr0 2 | repo-debug | openSUSE-13.1-Debug | No | Yes | http://download.opensuse.org/debug/distribution/13.1/repo/oss/ 3 | repo-debug-update | openSUSE-13.1-Update-Debug | No | Yes | http://download.opensuse.org/debug/update/13.1/ 4 | repo-debug-update-non-oss | openSUSE-13.1-Update-Debug-Non-Oss | No | Yes | http://download.opensuse.org/debug/update/13.1-non-oss/ 5 | repo-non-oss | openSUSE-13.1-Non-Oss | Yes | Yes | http://download.opensuse.org/distribution/13.1/repo/non-oss/ 6 | repo-oss | openSUSE-13.1-Oss | Yes | Yes | http://download.opensuse.org/distribution/13.1/repo/oss/ 7 | repo-source | openSUSE-13.1-Source | No | Yes | http://download.opensuse.org/source/distribution/13.1/repo/oss/ 8 | repo-update | openSUSE-13.1-Update | Yes | Yes | http://download.opensuse.org/update/13.1/ 9 | repo-update-non-oss | openSUSE-13.1-Update-Non-Oss | Yes | Yes | http://download.opensuse.org/update/13.1-non-oss/ slave2:/etc # zypper lr # | Alias | Name | Enabled | Refresh --+---------------------------+------------------------------------+---------+-------- 1 | openSUSE-13.1-1.10 | openSUSE-13.1-1.10 | Yes | No 2 | repo-debug | openSUSE-13.1-Debug | No | Yes 3 | repo-debug-update | openSUSE-13.1-Update-Debug | No | Yes 4 | repo-debug-update-non-oss | openSUSE-13.1-Update-Debug-Non-Oss | No | Yes 5 | repo-non-oss | openSUSE-13.1-Non-Oss | Yes | Yes 6 | repo-oss | openSUSE-13.1-Oss | Yes | Yes 7 | repo-source | openSUSE-13.1-Source | No | Yes 8 | repo-update | openSUSE-13.1-Update | Yes | Yes 9 | repo-update-non-oss | openSUSE-13.1-Update-Non-Oss | Yes | Yes slave2:/etc # rsync -aiv /etc/zypp/repos.d/ /etc/zypp/repos.d.Old/ sending incremental file list created directory /etc/zypp/repos.d.Old cd+++++++++ ./ >f+++++++++ openSUSE-13.1-1.10.repo >f+++++++++ repo-debug-update-non-oss.repo >f+++++++++ repo-debug-update.repo >f+++++++++ repo-debug.repo >f+++++++++ repo-non-oss.repo >f+++++++++ repo-oss.repo >f+++++++++ repo-source.repo >f+++++++++ repo-update-non-oss.repo >f+++++++++ repo-update.repo sent 2,205 bytes received 234 bytes 4,878.00 bytes/sec total size is 1,535 speedup is 0.63 slave2:/etc # ## because we don't have an OpenSuSE 13.2 DVD at hand: slave2:/etc # zypper removerepo openSUSE-13.1-1.10 Removing repository 'openSUSE-13.1-1.10' ............................................................................................................[done] Repository 'openSUSE-3.1-1.10' has been removed. slave2:/etc # ## note this 13.2 is still non-leap, so this sed is different from the site; see http://www.unixmen.com/upgrade-opensuse-13-2-opensuse-13-1/ slave2:/etc # sed -i 's/13\.1/13\.2/g' /etc/zypp/repos.d/* slave2:/etc # zypper repos --uri # | Alias | Name | Enabled | Refresh | URI --+---------------------------+------------------------------------+---------+---------+---------------------------------------------------------------- 1 | repo-debug | openSUSE-13.2-Debug | No | Yes | http://download.opensuse.org/debug/distribution/13.2/repo/oss/ 2 | repo-debug-update | openSUSE-13.2-Update-Debug | No | Yes | http://download.opensuse.org/debug/update/13.2/ 3 | repo-debug-update-non-oss | openSUSE-13.2-Update-Debug-Non-Oss | No | Yes | http://download.opensuse.org/debug/update/13.2-non-oss/ 4 | repo-non-oss | openSUSE-13.2-Non-Oss | Yes | Yes | http://download.opensuse.org/distribution/13.2/repo/non-oss/ 5 | repo-oss | openSUSE-13.2-Oss | Yes | Yes | http://download.opensuse.org/distribution/13.2/repo/oss/ 6 | repo-source | openSUSE-13.2-Source | No | Yes | http://download.opensuse.org/source/distribution/13.2/repo/oss/ 7 | repo-update | openSUSE-13.2-Update | Yes | Yes | http://download.opensuse.org/update/13.2/ 8 | repo-update-non-oss | openSUSE-13.2-Update-Non-Oss | Yes | Yes | http://download.opensuse.org/update/13.2-non-oss/ slave2:/etc # zypper --gpg-auto-import-keys ref Retrieving repository 'openSUSE-13.2-Non-Oss' metadata ...................................................................................................[done] Building repository 'openSUSE-13.2-Non-Oss' cache ........................................................................................................[done] Retrieving repository 'openSUSE-13.2-Oss' metadata .......................................................................................................[done] Building repository 'openSUSE-13.2-Oss' cache ............................................................................................................[done] Retrieving repository 'openSUSE-13.2-Update' metadata ....................................................................................................[done] Building repository 'openSUSE-13.2-Update' cache .........................................................................................................[done] Retrieving repository 'openSUSE-13.2-Update-Non-Oss' metadata ............................................................................................[done] Building repository 'openSUSE-13.2-Update-Non-Oss' cache .................................................................................................[done] All repositories have been refreshed. slave2:/etc # runlevel N 3 slave2:/etc # who -r run-level 3 Mar 6 15:04 slave2:/etc # ## you can use `zypper dup` here as well slave2:/etc # zypper dist-upgrade --download in-advance 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. Loading repository data... Reading installed packages... Computing distribution upgrade... Problem: yast2-x11-3.1.3-2.1.2.x86_64 requires yast2_theme >= 3.1.10, but this requirement cannot be provided uninstallable providers: yast2-branding-openSUSE-3.1.31-2.1.noarch[repo-oss] Solution 1: deinstallation of patterns-openSUSE-minimal_base-conflicts-13.1-13.6.1.x86_64 Solution 2: keep obsolete yast2-x11-3.0.1-2.2.1.x86_64 Solution 3: break yast2-x11-3.1.3-2.1.2.x86_64 by ignoring some of its dependencies Choose from above solutions by number or cancel [1/2/3/c] (c): 1 Resolving dependencies... Computing distribution upgrade... The following 144 NEW packages are going to be installed: bash-doc binutils boost-license1_54_0 btrfsmaintenance cantarell-fonts cups-filters-ghostscript cups-libs dbus-1-python dconf dejavu-fonts desktop-translations dracut fdupes fipscheck ghostscript ghostscript-fonts-other ghostscript-fonts-std ghostscript-x11 girepository-1_0 glib-networking glib-networking-lang google-opensans-fonts groff-full grub2-snapper-plugin gsettings-backend-dconf gsettings-desktop-schemas gxditview hardlink hicolor-icon-theme hicolor-icon-theme-branding-openSUSE kernel-default-3.16.7-35.1 kmod-compat libbasicobjects0 libboost_system1_54_0 libboost_thread1_54_0 libbtrfs0 libcares2 libcollection4 libdconf1 libdhash1 libfipscheck1 libgcrypt20 libgirepository-1_0-1 libgnutls28 libgsasl-lang libgsasl7 libhogweed2 libicu53_1 libicu53_1-ledata libini_config5 libjasper1 libjbig2 libjson-c2 libldb1 liblogging0 libnetpbm11 libnettle4 libnfsidmap-sss libnl-config libnl3-200 libntfs-3g85 libntlm0 libpath_utils1 libplist2 libprocps3 libpwquality1 libref_array1 libruby2_1-2_1 libsasl2-3 libsmartcols1 libsss_idmap0 libsss_nss_idmap0 libsss_sudo libstorage5 libtalloc2 libtdb1 libtevent0 libtidyp-1_04-0 libtiff5 libupower-glib3 libwicked-0-6 libxml2-tools libyui-ncurses-pkg6 libyui-ncurses6 libyui6 msmtp msmtp-mta netpbm openSUSE-release-ftp openssh-askpass openssh-helpers perl-Bootloader-YAML perl-Data-Dump perl-Encode-Locale perl-File-Listing perl-HTML-Parser perl-HTML-Tagset perl-HTML-Tidy perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-IO-HTML perl-LWP-MediaTypes perl-LWP-Protocol-https perl-Net-DBus perl-Net-DNS perl-Net-HTTP perl-Text-Wrapper perl-Tie-IxHash perl-TimeDate perl-URI perl-WWW-RobotRules perl-X11-Protocol perl-XML-Twig perl-XML-XPathEngine perl-YAML-LibYAML perl-libwww-perl pigz psutils python python-gobject python-xml readline-doc ruby-common ruby2.1 ruby2.1-rubygem-gem2rpm ruby2.1-stdlib snapper-zypp-plugin sssd sssd-krb5-common sssd-ldap subversion-bash-completion util-linux-systemd vim-data wicked wicked-service xdg-utils yast2-auth-client yast2-branding-openSUSE yast2-services-manager zypp-plugin-python zypper-log The following 9 packages are going to be REMOVED: libstorage4 libyui-ncurses-pkg5 mkinitrd module-init-tools patterns-openSUSE-minimal_base-conflicts sysconfig-network udevmountd yast2-ldap-client yast2-runlevel The following product is going to be REMOVED: openSUSE The following 407 packages are going to be upgraded: SuSEfirewall2 aaa_base aaa_base-extras acl adjtimex augeas-lenses autofs autoyast2-installation bash bash-completion bc bind bind-chrootenv bind-libs bind-utils branding-openSUSE bridge-utils btrfsprogs bundle-lang-common-en bzip2 ca-certificates check-create-certificate checkmedia coreutils cpio cpp cpp48 cracklib cracklib-dict-small crda cron cronie cryptsetup curl cvs cvsps cyrus-sasl dbus-1 dbus-1-glib dbus-1-x11 deltarpm device-mapper dhcpcd diffutils dirmngr dmraid e2fsprogs efibootmgr elfutils ethtool expat file file-magic filesystem fillup findutils fontconfig gawk gettext-runtime gio-branding-openSUSE git git-core git-cvs git-email git-gui git-svn git-web gitk glib2-tools glibc glibc-extra glibc-locale gpg2 grep groff grub2 grub2-branding-openSUSE grub2-i386-pc grub2-x86_64-efi gzip haveged hdparm hwinfo info initviocons insserv-compat iproute2 iptables iputils joe kbd kernel-firmware kexec-tools keyutils klogd kmod kpartx krb5 less libICE6 libSM6 libX11-6 libX11-data libXau6 libXaw7 libXdmcp6 libXext6 libXft2 libXinerama1 libXmu6 libXmuu1 libXpm4 libXrender1 libXss1 libXt6 libacl1 libadns1 libaio1 libapparmor1 libapr-util1 libapr1 libasm1 libassuan0 libattr1 libaudit1 libaugeas0 libblkid1 libbz2-1 libcap-ng0 libcap2 libcloog-isl4 libcom_err2 libcrack2 libcroco-0_6-3 libcryptsetup4 libcurl4 libdb-4_8 libdbus-1-3 libdnet1 libdw1 libedit0 libelf0 libelf1 libestr0 libevent-2_0-5 libexpat1 libext2fs2 libffi4 libfreetype6 libfuse2 libgc1 libgcc_s1 libgdbm4 libgio-2_0-0 libglib-2_0-0 libgmodule-2_0-0 libgmp10 libgobject-2_0-0 libgpg-error0 libgssglue1 libgudev-1_0-0 libhavege1 libimobiledevice4 libiptc0 libisl10 libiw30 libjpeg8 libkeyutils1 libkmod2 libksba8 libldap-2_4-2 libldapcpp1 liblua5_1 liblzma5 liblzo2-2 libmagic1 libmetalink3 libmnl0 libmodman1 libmount1 libmozjs-17_0 libmpc3 libmpfr4 libmysqlclient18 libncurses5 libncurses6 libnetfilter_conntrack3 libnfnetlink0 libp11-kit0 libparted0 libpci3 libpcre1 libpipeline1 libpng16-16 libpopt0 libproxy1 libpth20 libpython2_7-1_0 libqrencode3 libreadline6 libreiserfs-0_3-0 libseccomp2 libselinux1 libsemanage1 libsepol1 libsgutils2-2 libsnapper2 libsolv-tools libsqlite3-0 libssh2-1 libstdc++6 libstorage-ruby libtasn1 libtasn1-6 libudev1 libusb-0_1-4 libusb-1_0-0 libusbmuxd2 libustr-1_0-1 libutempter0 libuuid1 libvmtools0 libwrap0 libx86emu1 libxcb1 libxml2-2 libxtables10 libyaml-0-2 libz1 libzio1 libzypp linux32 logrotate lsof lsscsi luit lvm2 lynx man mdadm mpt-firmware mtools multipath-tools ncurses-utils net-tools netcat-openbsd netcfg nfs-client nfsidmap nscd ntfs-3g ntp open-vm-tools openSUSE-build-key openSUSE-release openslp openssh os-prober p11-kit p11-kit-tools pam pam-config parted patterns-openSUSE-base patterns-openSUSE-minimal_base patterns-openSUSE-sw_management patterns-openSUSE-yast2_install_wf pciutils pciutils-ids perl perl-Authen-SASL perl-Bootloader perl-Clone perl-Config-Crontab perl-DBD-SQLite perl-DBI perl-Digest-HMAC perl-Digest-SHA1 perl-Error perl-IO-Socket-SSL perl-MLDBM perl-Net-Daemon perl-Net-LibIDN perl-Net-SMTP-SSL perl-Net-SSLeay perl-Params-Util perl-Parse-RecDescent perl-PlRPC perl-SQL-Statement perl-Term-ReadKey perl-X500-DN perl-XML-NamespaceSupport perl-XML-Parser perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Expat perl-XML-Simple perl-XML-XPath perl-base perl-gettext permissions pinentry pkg-config pm-utils polkit-default-privs prctl procps python-base release-notes-openSUSE rpcbind rpm rsync rsyslog ruby rubygem-fast_gettext rubygem-ruby-dbus sed sessreg sg3_utils shadow shared-mime-info shellinabox snapper strace suse-module-tools sysconfig sysconfig-netconfig sysfsutils syslinux syslog-service systemd systemd-bash-completion systemd-presets-branding-openSUSE systemd-sysvinit sysvinit-tools tar tcl tcsh telnet terminfo-base time tnftp traceroute tunctl ucode-intel udev unzip unzip-doc update-alternatives upower usbmuxd util-linux vim vlan w3m wallpaper-branding-openSUSE wget which wireless-regdb wireless-tools wol xauth xbitmaps xdm xhost xli xrdb xtables-plugins xterm xz yast2 yast2-add-on yast2-bootloader yast2-core yast2-country yast2-country-data yast2-dns-server yast2-firewall yast2-hardware-detection yast2-installation yast2-ldap yast2-network yast2-ntp-client yast2-online-update yast2-online-update-frontend yast2-packager yast2-pam yast2-perl-bindings yast2-pkg-bindings yast2-proxy yast2-ruby-bindings yast2-security yast2-slp yast2-snapper yast2-storage yast2-sudo yast2-sysconfig yast2-trans-en_US yast2-trans-stats yast2-transfer yast2-update yast2-users yast2-x11 yast2-xml yast2-ycp-ui-bindings zypper zypper-aptitude The following 16 packages are going to be downgraded: ca-certificates-mozilla libidn11 libopenssl1_0_0 libpolkit0 libserf-1-1 libtirpc1 mozilla-nspr openssl polkit shim subversion subversion-perl sudo timezone tk tmux The following 2 packages are going to change architecture: insserv-compat x86_64 -> noarch suse-module-tools noarch -> x86_64 407 packages to upgrade, 16 to downgrade, 144 new, 9 to remove, 2 to change arch. Overall download size: 259.8 MiB. After the operation, additional 531.8 MiB will be used. Continue? [y/n/? shows all options] (y): y ... lots of downloads and installs ... View the notifications now? [y/n] (n): y ... (Use the Enter or Space key to scroll the text by lines or pages.) Message from package aaa_base: sysconfig settings for cleaning up temporary directories are no longer supported. Some of the features are provided by systemd's tmpfile mechanism instead. Please refer to 'man tmpfiles.d' for more information. Here are the old settings for reference: MAX_DAYS_IN_TMP=0 MAX_DAYS_IN_LONG_TMP=0 OWNER_TO_KEEP_IN_TMP=root ... There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs. slave2:/etc # zypper ps >> /tmp/output.txt slave2:/etc # reboot
I did this a long time ago for a different machine and had less issues (lesson learned: don’t wait for too long upgrading):
–jeroen
Filed under: *nix, Linux, openSuSE, Power User, SuSE Linux
