Nov 232014

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:

  1. run this script (after editing to fix the version numbers):
    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.
  2. move /etc/zypp/repos.d out of the way, for example rename it to /etc/zypp/repos.d_old
  3. move /etc/zypp/repos.d_13.2 to /etc/zypp/repos.d
  4. clean zyppers cache:
    zypper cc --all
  5. 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.

  6. 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
  7. 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
    zypper dup -l
  8. 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:

Have a lot of fun!

Jun 252014

Lately I’ve noticed a trend in mobile apps that started on iOS, and even is understandable there due to the sandbox nature of that os.

“Every mobile app will continue to evolve until it contains a web browser, antivirus, and anti theft features, no matter what is initial purpose was.”

In German we call that “eierlegende Wollmilchsau“.
An animal that produces wool, milk, eggs, and meat.
Sure would be nice to have for a farmer, but can’t be done.

So what is the connection to mobiles?

Well, look at this: right now I have on my tablet the different apps that can provide me with anti theft services, but only one of them had that when I installed it.
Same goes for anti virus, two of those, only one had such a feature when I choose to install it.
Or how about memory and storage cleaning… two again, one when I started with them.

Like I said, on iOS this can be understood, since the sand box nature of ios separates apps from each other to a much higher degree than on android…

But android should be different, its Unix after all, where the long standing tradition is to have small tools that do one job really well, and let them talk to each other.

May 312014

In my never ending story for single sign on on KDE4 the last post I had was this one.

There was just one little problem with that method: It stopped working when KDE 4.13 came around…

Now there is a new candidate for solving this, and it works just fine so far.

At this point all I can say is that anyone interested should read this blog post, and that the pam_kwallet package in my OBS project has been updated to the code in that post.

Have a lot of fun!

Dec 282013

Seeing that there are only two more weeks until openSUSE 12.2 reaches end of life, I’m doing my usual upgrade with zypper.

If you are about to say “didn’t you do that already some months ago“, that was a virtual machine…now it’s my “production” system. Let’s hope all goes as well as it did on the VM.

So far all is looking good, but 4500 packages takes some time, so I can’t really say anything yet. I’m doing 12.2 -> 12.3 and KDE 4.11 -> KDE 4.12 at the same time, so it might get a bit hairy at some point.

The fun part comes next week… if this goes well I’ll do the same to my wife’s laptop, where a failure will be way more painful…


Update: finished, all seems to be working fine.

Oct 262013

…at least with KDE4 on openSUSE 12.2.

In a previous post I mentioned that there are single-sign-on methods available for KDE to open the wallet right on login, but they do not work when you’re using NIS accounts.

Turns out they do work after all, you just need make sure that the references to the pam_kwallet module is after in common-auth, like this:

# This file is autogenerated by pam-config. All changes
# will be overwritten.
# Authentication-related modules common to all services
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
auth required
auth required
auth optional use_first_pass
auth optional

After this, you just add the two modules pam_dbus_launch and pam_kwallet in common-session like this (pam_dbus_launch needs to be before pam_systemd, and pam_kwallet at the end):

# This file is autogenerated by pam-config. All changes
# will be overwritten.
# Session-related modules common to all services
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive
session required
session required
session optional
session optional dbus-launch=/usr/bin/dbus-launch
session optional
session optional    maxwait=60 session_timeout=360 localwallet start_daemon kwalletopener=/usr/bin/kwalletopener
session optional    auto_start only_if=gdm,gdm-password,lxdm,lightdm

With these settings the pam modules work with any kind of useraccounts. Keep in mind that it will not work for automated logins where the system doesn’t actually prompt for a password.

The required pam modules can be installed from this OBS project.

Sep 212013

As anyone who has attended a RH124 or higher class, or has any experience in Unix/Linux knows, we usually set the system to assume that the local clock runs in UTC. This gives us the advantage that the correction for daylight savings time (DST) gets applied automatically.

The problem with that is that on a dual boot system, Windows automatically assumes that the local clock runs in the local time zone, which messes things up.

The solution is one quick registry hack away:

Start Windows, open regedit, and add a 32bit DWORD in this location:


That’s all there is to it.


Original source (in German) is here.

Apr 152013

Like I already said before, openSUSE 12.3 was released today, and I’ve done the usual live upgrade with zypper.

The upgrade itself worked without any problems, and the resulting installation was usable without issues right from the start.

I logged into KDE 4.10 and everything that I’ve tried works just fine. I admit, I can’t say anything about performance as my test machine is accessed via a NoMachine remote desktop session.

After that I upgraded the KDE 4.10.0 to 4.10.1 from the opensuse build service, and that also went well and posed no problems afterwards. Now I’m waiting for my own repository for 12.3 to rebuild against KDE:Release:410.

I’m pretty confident in saying that with 12.3 the process of a live update via zypper can be done without major fear, as long as one has ones repositories set up properly, and with the right priorities (packman and KDE from OBS should have a higher priority than the stop openSUSE repositories).

Mar 132013

Today, openSUSE 12.3 got released after 6 months of hard work by openSUSE members and contributors.

As usual, I’m doing a zypper live upgrade, but so far it’s still downloading packages, so I can’t say anything about 12.3 just yet.

I am going to post a review of the process and the results after it is finished. In the mean time, if you’re in the area (southern Germany), why not go to the release party in Nürnberg? It starts at 7pm at artefakt.

Mar 072013

As part of my job a senior Linux systems engineer and freelance consultant, I am often asked to do staff training on various Unix and linux related topics. One such training is “UNIX and Linux – an introduction”, a 2-day intensive course which I developed.

The content is aimed individuals who are familiar with Windows back-office operations.

Click on the Slideshare link to access a read-only copy of the presentation.

Feb 192013

As announced on the Heise newsticker (article in german) the linux kernel version 3.8 has been released. If you look closely on though, you’ll find that the latest stable version is still 3.7.9, but I don’t know if that’s because of something about the 3.8 kernel, or just because I looked there too early.

There are several interesting things in that version:

On the server-side the most important new feature, in my opinion, is the possibility to create namespace containers as a regular user. Such a container can be understood similar to a chroot jail, or a virtual machine, so that regular users can run privileged applications inside a container and not endanger the integrity of the system as a whole. Also there’s now a Ballon driver for Hyper-V which means that a Virtual Machine with a linux guest running 3.8 can release memory to the Windows host that runs it, and reclaim that memory later.

Also, there is improved support for the modern NUMA architectures, and lots of improvements for btrfs and ext4fs.

On the desktop the most important changes are better 3d hardware acceleration support with the Nouveau driver, a driver for Phillips PSC724 “Ultimate Edge” sound cards, and several improvements for DMA handling in regard with video streaming.

For mobile devices (and of course, servers and desktops with SSD storage) there is a new filesystem, f2fs, which is specifically designed for flash storage.

The upcoming openSUSE 12.3 release, which is scheduled for around mid-March, is still using the 3.7.7 kernel, or at least was last time I looked, and I don’t think the openSUSE team is going to switch kernels just 3 weeks before the gold master.

If you want to read about the 3.8 kernel in greater detail the kernel log on heise open is quite good (but in german).

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