Reference articles on history, science, culture and more
Encyclopedia

PackageKit

Free software

Image credit is listed at the end of this article.

PackageKit is a free and open-source suite of software applications designed to provide a consistent and high-level abstraction layer for a number of different package management systems. PackageKit was created by Richard Hughes in 2007, and first embedded in an operating system as a default application in May 2008, with the release of Fedora 9.

The suite is 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 Polkit projects to handle inter-process communication and privilege negotiation respectively.

PackageKit seeks to introduce automatic updates without having to authenticate as root, fast-user-switching, warnings translated into the correct locale, common upstream GNOME and KDE tools and one software over multiple Linux distributions.

01Software architecture

PackageKit runs as a system-activated daemon, named packagekitd, which abstracts out differences between the different systems. A library called libpackagekit allows other programs to interact with PackageKit.

Features include:

  • installing local files, ServicePack media and packages from remote sources
  • authorization using Polkit
  • the use of existing packaging tools
  • multi-user system awareness, it will not allow shutdown in critical parts of the transaction
  • a system-activated daemon which exits when not in use

Front-ends

  • pkgcli is the official front-end of PackageKit, it operates from the command line.
  • pkcon the older command-line interface of PackageKit.

GTK-based:

  • gnome-packagekit is an official GNOME front-end for PackageKit. Unlike GNOME Software, gnome-packagekit can handle all packages, not just applications, and has advanced features that are missing in GNOME Software as of June 2020.
  • GNOME Software is a utility for installing the applications and updates on Linux. It is part of the GNOME Core Applications and was introduced in GNOME 3.10.

Qt-based:

Back-ends

A number of different package management systems (known as back-ends) support different abstract methods and signals used by the front-end tools. Supported back-ends include:

gnome-packagekit 3.32 (released in 2019-03)
gnome-packagekit 3.32 (released in 2019-03)
Watch videos about PackageKitExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article PackageKit, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Images, from Wikimedia Commons:

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.