PackageKit
Lua error in package.lua at line 80: module 'strict' not found.
64px | |
300px
PackageKit is a system daemon, various graphical front-ends are available
|
|
Original author(s) | Richard Hughes |
---|---|
Initial release | 2007 |
Stable release | 1.0.11 / 27 November 2015[1] |
Development status | Active |
Written in | C, C++, Python |
Operating system | Linux |
Type | Package management system |
License | GNU General Public License |
Website | www |
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]
Contents
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:
-
GNOME Software uses GTK+
-
PackageKit on Fedora.png
gnome-packagekit is obsoleted[citation needed]
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:
- Advanced Packaging Tool (APT)
- box
- Conary
- hawkey[9] & librepo,[10] the libraries upon which DNF, (the successor to yum) builds
- Entropy
- Opkg
- Pacman
- PiSi
- poldek
- Portage
- razor
- Smart Package Manager
- urpmi
- YUM
- ZYpp
See also
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
External links
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- Articles with unsourced statements from October 2014
- Pages with broken file links
- Pages with reference errors
- Official website not in Wikidata
- Applications using D-Bus
- Free package management systems
- Free software programmed in C
- Free software programmed in C++
- Free software programmed in Python
- Linux package management-related software
- Linux PMS graphical front-ends
- Package management software that uses GTK+
- Package management software that uses Qt