PackageKit
PackageKit is a system daemon, various graphical front-ends are available | |
Original author(s) | Richard Hughes |
---|---|
Initial release | 2007 |
Stable release | 1.0.0 (September 12, 2014 ) [±] |
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.
The suite is ostensibly 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.
The motivation behind PackageKit is not to reinvent the wheel, but to push forward. 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 the authenticate as root, fast-user-switching, warnings translated into the correct locale, common upstream GNOME and KDE tools and of course one software over multiple Linux distributions.[1]
History
PackageKit was created by Richard Hughes and first proposed in a series of blog posts in 2007,[2][3] and is now developed by a small team of developers. Fedora 9 was the first operating system to use it as default front end for yum. It underwent many updates in Fedora 10 and Fedora 11.
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.[4]
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+
-
gnome-packagekit is obsoleted
pkcon operates from the command-line.[5]
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.[6] Back-ends supported include:
- Advanced Packaging Tool (APT)
- box
- Conary
- hawkey[7] & librepo,[8] 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
- AppStream
- Listaller
- PolicyKit
- Red Carpet
- Software Updater
References
- ↑ "Introduction to PackageKit, a Package Abstraction Framework" (PDF). Richard Hughes. 2008-02-24. Retrieved 2014-04-11.
- ↑ "Installing and Updating Software Blows Goats". Richard Hughes. Retrieved 18 January 2011.
- ↑ "Richard Hughes' blog posts about PackageKit". Richard Hughes. Retrieved 18 January 2011.
- ↑ "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".
External links
|
|