PackageKit is a system daemon, various graphical front-ends are available
|Original author(s)||Richard Hughes|
|Written in||C, C++, Python|
|Type||Package management system|
|License||GNU 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, and first introduced into 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.
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.
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.
- 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:
- gnome-packagekit is obsoleted
pkcon operates from the command-line.
A number of different package management systems (known as back-ends) support different abstract methods and signals used by the front-end tools. Back-ends supported include:
- Advanced Packaging Tool (APT)
- hawkey & librepo, the libraries upon which DNF, (the successor to yum) builds
- Smart Package Manager
- Richard Hughes (20 May 2016). "PackageKit - Where can I download it?". freedesktop.org. Retrieved 20 May 2016.
- "Installing and Updating Software Blows Goats". Richard Hughes. Retrieved 18 January 2011.
- "Richard Hughes' blog posts about PackageKit". Richard Hughes. Retrieved 18 January 2011.
- "Releases/9/FeatureList". Fedora Project Wiki. Fedora Project. 28 May 2008. Retrieved 7 July 2015.
- "Introduction to PackageKit, a Package Abstraction Framework" (PDF). Richard Hughes. 2008-02-24. Retrieved 2014-04-11.
- "PackageKit Reference Manual". packagekit.org. Retrieved 10 July 2009.
- "HowTo use pkon".
- "Frequently asked questions". packagekit.org. Retrieved 10 July 2009.
- "hawkey on github".
- "librepo on github".