PackageKit

PackageKit
PackageKit is a system daemon, various graphical front-ends are available
Original author(s) Richard Hughes
Initial release 2007 (2007)
Stable release
1.1.9 / 5 March 2018 (2018-03-05)[1]
Repository Edit this at Wikidata
Written in C, C++, Python
Operating system Linux
Type Package management system
License GNU General Public License
Website www.freedesktop.org/software/PackageKit/

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 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.[5]

Software architecture

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.[6]

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

Graphical front-ends for PackageKit include:

pkcon operates from the command-line.[7]

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.[8] Back-ends supported include:

See also

References

  1. Hughes, Richard (20 May 2016). "PackageKit - Where can I download it?". freedesktop.org. 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 Reference Manual". packagekit.org. Archived from the original on 16 July 2009. Retrieved 10 July 2009.
  7. "HowTo use pkon".
  8. "Frequently asked questions". packagekit.org. Archived from the original on 19 March 2008. Retrieved 10 July 2009.
  9. "hawkey on github".
  10. "librepo on github".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.