PackageKit

Back to the main page

What is PackageKit?

PackageKit is a system designed to make installing and updating software on your computer easier. The primary design goal is to unify all the software graphical tools used in different distributions, and use some of the latest technology like PolicyKit to make the process suck less.

The actual nuts-and-bolts distro tool (yum, apt, conary etc-) is used in PackageKit using compiled and scripted helpers. PackageKit isn't meant to replace these tools, instead providing a common set abstraction that can be used by standard GUI and text mode package managers.

PackageKit itself is a system activated daemon called packagekitd. Being system activated means that it's only being run when the user is using a text mode or graphical tool, and quits when it's no longer being used. This means we don't delay the boot sequence or session startup and don't consume memory when not being used.

gnome-packagekit is the name of the collection of graphical tools for PackageKit to be used in the GNOME desktop. There are also QT applications being designed, although these are not fully functional yet.

[NOTE]

By default, PackageKit uses PolicyKit for user authentication. This means as an admin you can specify with fine-grained control what your users can and cannot do. For instance, an admin could specify that unprivileged users can update the system and do searching, but are not allowed to install or remove packages. For home users it's typical to ask the user for their own, or the administrator "root" password. With PolicyKit, all these options are possible.

Use cases for PackageKit exist for the following scenarios:

More details can be found on the wiki.

PackageKit and gnome-packagekit is GPL2+ licensed.

What PackageKit is not:

Formally, PackageKit is a D-Bus abstraction layer that allows the session user to manage packages in a secure way using a cross-distro, cross-architecture API.

Back to the main page