What is Apper?

Apper is the updater on openSUSE KDE installations. It can also be used as a full package manager, but it is only included in openSUSE for the updater functionality and it is only recommended as an updater. The recommended general package management tools on openSUSE are YaST (graphical user interface) and zypper (command line interface).

Apper is also used to install RPM packages that you have downloaded manually, if you click them in your file manager.

How Apper works

Apper is developed by the KDE project and it is a frontend to the PackageKit abstraction layer. This abstraction layer allows Apper to work on multiple different Linux distributions each with different package management systems. PackageKit is using the native openSUSE libzypp package management library via the ZYpp PackageKit backend. Meaning the stack looks like this:

Apper -> PackageKit -> PackageKit ZYpp backend -> libzypp -> RPM

For comparison the YaST/zypper stack is a lot simpler:

YaST/zypper -> libzypp -> RPM

The Apper components

Update Notifications

When updates are available you'll be notified about them via the KDE notification system in the system tray in the panel. If you're away from the computer when the notification occurs you can still access the notification by clicking the notification icon (the number '1' on the screenshot below, indicating there's one notification).

Apper Plasmoid

Apper provides a plasmoid which works more like a full updater applet, however it was decided not to include this plasmoid in the default installation of openSUSE 12.3 because it is new and still a bit immature. If you want to try it install the package apper-plasmoid. The plasmoid will be enabled after you restart KDE.

KDE Control Module

The Apper KCM Apper Software Management is found in the KDE Systemsettings (Configure Desktop / Personal Settings). Here you can configure Apper and access the full package management features of Apper. Note that the recommended package management tools on openSUSE are YaST and zypper.

Packages or Patches Only?

By default Apper will notify you about package updates available in all your configured software repositories. This can mean that you get notifications very often - even for packages that weren't really updated, but only rebuilt. Also it can make it difficult to distinguish official security and bugfix patches from random rebuilds or updates in your additional unsupported repositories.

If you want Apper to only notify you about official patches edit the file /etc/PackageKit/ZYpp.conf to say:

HidePackages=true

Workarounds

Updating Fails

If updating your system with Apper fails, don't panic there are several alternatives. Try updating your system with YaST Online Update or YaST Software Management instead or using zypper in a root terminal:

To update all packages:

zypper update

To install official patches only:

zypper patch

Installing a Downloaded RPM Fails

If you have downloaded an RPM package manually, and Apper fails to install it, try installing it with zypper in a root terminal instead:

zypper install /path/to/file.rpm

Removing Apper Completely

If Apper is causing you problems and you'd rather get rid of it completely, remove the package PackageKit and the packages which depend on it with YaST or zypper