I’ve done it again… a live upgrade from openSUSE 13.1 to 13.2.
I’ve been following the usual process that I’ve outlined in a few posts so far, and it went pretty smoothly on three different computers.
The actual process has evolved into this:
- run this script (after editing to fix the version numbers):
#!/bin/bash old=13.1 new=13.2 repodir=/etc/zypp/repos.d newrepodir=/etc/zypp/repos.d_${new} mkdir -p ${newrepodir} cd ${repodir} for repofile in *repo; do { echo -n converting ${repofile} to ${newrepodir}/$(echo ${repofile}|sed -e "s/${old}/${new}/g") ... ; cat "${repofile}" | sed -e "s/${old}/${new}/g" > "${newrepodir}/$(echo ${repofile}|sed -e "s/${old}/${new}/g")" ; echo done. } done;
- move /etc/zypp/repos.d out of the way, for example rename it to /etc/zypp/repos.d_old
- move /etc/zypp/repos.d_13.2 to /etc/zypp/repos.d
- clean zyppers cache:
zypper cc --all
- refresh zypper:
zypper ref
When you do this, you might get errors for some repositories because they don’t exist yet for 13.2. To disable them, do this:
zypper mr -d -R <repository number>
On the other hand you might want to investigate if there are 13.2 versions of those repositories, and edit the repo files accordingly.
Then, repeat the zypper ref command. - Once you can run through zypper ref without errors, get updated versions of zypper, libzypp and rpm, and install them:
zypper up --download only zypper libzypp rpm zypper up zypper libzypp rpm
- Once that finished without errors, do the same two commands for the whole distribution (Pay attention to any warnings and/or conflicts here. You’ll have to make the right choices about what should be done to resolve them, and I can’t really give you a recipe):
zypper dup -l --download only --allow-vendor-change --allow-arch-change --recommends zypper dup -l --allow-vendor-change --allow-arch-change --recommends
- After all is done you can reboot. The first reboot should lead into textmode in case you have to re-install/upgrade your nvidia or AMD binary drivers. To boot into text mode, append this kernel parameter:
systemd.unit=multi-user.target
Have a lot of fun!
5 thoughts on “Live upgrade: openSUSE 13.1 -> openSUSE 13.2”