PackageKit

Share on Facebook Share on Twitter Email
Top
PackageKit
Packagekit.png
PackageKit on Fedora.png
gnome-packagekit, a front-end for PackageKit, running on Fedora
Developer(s) Richard Hughes
Stable release [±]
Development status Active
Written in C, C++, Python
Operating system Linux
Type Package management system
License GNU General Public License
Website www.packagekit.org

PackageKit is an open source and free suite of software applications designed to provide a consistent and high-level front end for a number of different package management systems. PackageKit was created by Richard Hughes.

The suite is ostensibly cross-platform, though it is primarily targeted at Linux distributions which follow the interoperability standards set out by the freedesktop.org group. It uses the software libraries provided by the D-Bus and PolicyKit projects to handle inter-process communication and computer privilege negotiation.

Contents

History

PackageKit was created by Richard Hughes and first proposed in a series of blog posts in 2007[1][2], and is now developed by a small team of developers. Fedora 9 was the first operating system to use it as default front end for yum. It has undergone many updates in Fedora 10 and Fedora 11.

Design

KPackageKit, the KDE-based front-end, integrates directly with KDE's System Settings modules. It is now called Apper as of 0.64+.[3]

PackageKit itself is a system-activated daemon called packagekitd, that abstracts out differences between the different systems. A library called libpackagekit also allows other programs to interact with PackageKit.[4]

Features include:

  • Installing local files, ServicePack media and from remote sources.
  • Authorization using PolicyKit.
  • Does not replace existing packaging tools.
  • Multi-user system aware – it will not allow shutdown in critical parts of the transaction.
  • A system activated daemon so exits when not in use.

Front-ends

There are three front-ends for PackageKit:

Back-ends

A number of different package management systems (known as back-ends) support different abstract methods and signals that are used by the front-end tools.[5] Back-ends supported include:

See also

References

External links


Post a question - any question - to the WikiAnswers community:

Copyrights: