Mar 172011
 

Here’s a little followup to my previous post about how to upgrade to 11.4.

This one describes how to make the whole process even more risky. You have been warned.
It’s even possible to do this remotely through a ssh session. If you attempt to do that, do it from inside a screen session!

Actually, this first bit makes it a bit easier:

#!/bin/bash

repodir=/etc/zypp/repos.d
newrepodir=/etc/zypp/repos.d_11.4
old=11.3
new=11.4

mkdir -p ${newrepodir}

cd ${repodir}

for repofile in *repo; do
{
 echo -n converting ${repofile} to ${newrepodir}/$(echo ${repofile}|sed -e 's/11.3/11.4/g') ... ;
 cat "${repofile}" | sed -e 's/11.3/11.4/g' > "${newrepodir}/$(echo ${repofile}|sed -e 's/11.3/11.4/g')" ;
 echo done.
}

done;

This script creates a directory /etc/zypp/repos.d_11.4 with all your configured repos switched to their 11.4 counterparts.

After you run this script, all you have to do is move the old /etc/zypp/repos.d out of the way, rename the new one to /etc/zypp/repos.d and make sure that all the paths in the repo files exist. If they don’t, “zypp ref” is going to complain.

now, before you begin, run these two commands:

zypper cc --all
zypper ref

The first one clears all zypper cache folders, the second one refreshes all repositories (here’s where you’ll see if all paths are correct).
If you have a custom X11 setup (dualscreen or such), now would be the point to make a copy of your xorg.conf file.
Now you jump into the instructions in my previous post, right at #6.

Mar 142011
 

Here’s a quick and dirty HOWTO about upgrading from openSUSE 11.3 to 11.4, with all additional repos enabled…

  1. Switch to runlevel 3: as root, execute “init 3”
  2. Login as root
  3. Make a backup of all your repositories:
    cd /etc/zypp
    cp -r repos.d repos.d_11.3
  4. Go through all your .repo files in /etc/zypp/repos.d and replace “11.3” with “11.4”.
    Here’s a “before/after” example:
    before: 

    [openSUSE 11.3 OSS]
    name=Haupt-Repository (OSS)
    enabled=1
    autorefresh=0
    baseurl=http://download.opensuse.org/distribution/11.3/repo/oss/
    path=/
    type=yast2
    keeppackages=0

    after:

    [openSUSE 11.4 OSS]
    name=Haupt-Repository (OSS)
    enabled=1
    autorefresh=0
    baseurl=http://download.opensuse.org/distribution/11.4/repo/oss/
    path=/
    type=yast2
    keeppackages=0
  5. Refresh your repository cache:
    zypper ref
  6. Upgrade zypper:
    zypper install zypper

    You have to pay attention on the list of conflicts. Generally the best of the proposed solutions is the one the would uninstall the least number of packages while still installing/upgrading what you want.

  7. Do the full upgrade:
    zypper dup

    Again, pay attention to any listed conflicts, and resolve them carefully. Again, the best of the proposed solution would be the one that installs what you want while uninstalling as little as possible.

  8. The scary moment:
    Reboot your system. If all went well you will be greeted by a working openSUSE 11.4 installation.
  9. Cleaning up afterwards:
    Login as root, and run the following command:

    LANG=CTYPE zypper search -si | grep "(System Packages)"| cut -d "|" -f 2

    That will list all installed packages that are not available from any of the configured repositories anymore.
    You might want to carefully remove them one by one with “zypper remove”. If you use “zypper remove -u” instead, you will also remove all dependencies that are not needed anymore. This can really break things.

Optimization WordPress Plugins & Solutions by W3 EDGE
%d bloggers like this: