From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
PackageKit is a system daemon, various graphical front-ends are available
PackageKit is a system daemon, various graphical front-ends are available
Original author(s)Richard Hughes
Initial release2007; 12 years ago (2007)
Stable release
1.1.11 / 25 September 2018; 9 months ago (2018-09-25)[1]
Repository Edit this at Wikidata
Written inC, C++, Python
Operating systemLinux
TypePackage management system
LicenseGNU General Public License

PackageKit is a free and open-source 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 in 2007,[2][3] and first introduced into an operating system as a default application in May 2008 with the release of Fedora 9.[4]

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

Since 1995, package formats have been around, since 2000 there have been dependency solvers and auto-downloaders as a layer on top of them around, and since 2004 graphical front-ends. 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.[5]

PackageKit has been out of active maintenance since 2014.[6]

Software architecture[edit]

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

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


Graphical front-ends for PackageKit include:

pkcon operates from the command-line.[8]


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

See also[edit]


  1. ^ Hughes, Richard (20 May 2016). "PackageKit - Where can I download it?". Retrieved 20 May 2016.
  2. ^ "Installing and Updating Software Blows Goats". Richard Hughes. Retrieved 18 January 2011.
  3. ^ "Richard Hughes' blog posts about PackageKit". Richard Hughes. Retrieved 18 January 2011.
  4. ^ "Releases/9/FeatureList". Fedora Project Wiki. Fedora Project. 28 May 2008. Retrieved 7 July 2015.
  5. ^ "Introduction to PackageKit, a Package Abstraction Framework" (PDF). Richard Hughes. 2008-02-24. Retrieved 2014-04-11.
  6. ^ "PackageKit is dead, long live, well, something else". Richard Hughes. 2019-02-15. Retrieved 2019-06-18.
  7. ^ "PackageKit Reference Manual". Archived from the original on 16 July 2009. Retrieved 10 July 2009.
  8. ^ "HowTo use pkon".
  9. ^ "Frequently asked questions". Archived from the original on 19 March 2008. Retrieved 10 July 2009.
  10. ^ "hawkey on github".
  11. ^ "librepo on github".

External links[edit]