PackageKit
Encyclopedia
PackageKit is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 and free suite of software applications designed to provide a consistent and high-level front end for a number of different package management system
Package management system
In software, a package management system, also called package manager, is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer's operating system in a consistent manner...

s. PackageKit was created by Richard Hughes.

The suite is ostensibly cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

, though it is primarily targeted at Linux distribution
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...

s which follow the interoperability standards set out by the freedesktop.org
Freedesktop.org
freedesktop.org is a project to work on interoperability and shared base technology for free software desktop environments for the X Window System on Linux and other Unix-like operating systems. It was founded by Havoc Pennington from Red Hat in March 2000.The organisation focuses on the user....

 group. It uses the software libraries provided by the D-Bus
D-Bus
In computing, D-Bus is a simple inter-process communication open-source system for software applications to communicate with one another. Heavily influenced by KDE2–3's DCOP system, D-Bus has replaced DCOP in the KDE 4 release. An implementation of D-Bus supports most POSIX operating...

 and PolicyKit
PolicyKit
PolicyKit is an operating system component for controlling system-wide privileges in Unix-like operating systems. It provides an organized way for non-privileged processes to communicate with privileged ones. In contrast to systems such as sudo, it does not grant root permission to an entire...

 projects to handle inter-process communication
Inter-process communication
In computing, Inter-process communication is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for message passing, synchronization, shared...

 and computer privilege negotiation.

History

PackageKit was created by Richard Hughes and first proposed in a series of blog
Blog
A blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...

 posts in 2007, and is now developed by a small team of developers. Fedora
Fedora (operating system)
Fedora is a RPM-based, general purpose collection of software, including an operating system based on the Linux kernel, developed by the community-supported Fedora Project and sponsored by Red Hat...

 9 was the first operating system to use it as default front end for yum
Yellow dog Updater, Modified
The Yellowdog Updater, Modified is an open-source command-line package-management utility for RPM-compatible Linux operating systems and has been released under the GNU General Public License. It was developed by Seth Vidal and a group of volunteer programmers...

. It has undergone many updates in Fedora 10 and Fedora 11.

Design

PackageKit itself is a system activated daemon
Daemon (computer software)
In Unix and other multitasking computer operating systems, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user...

 called packagekitd, that abstracts out differences between the different systems. A library called libpackagekit also allows other programs to interact with PackageKit.

Features include:
  • Installing local files, ServicePack media and from remote sources.
  • Authorization using PolicyKit
    PolicyKit
    PolicyKit is an operating system component for controlling system-wide privileges in Unix-like operating systems. It provides an organized way for non-privileged processes to communicate with privileged ones. In contrast to systems such as sudo, it does not grant root permission to an entire...

    .
  • Does not replace existing packaging tools.
  • Multi-user system aware – will not allow shutdown in critical parts of the transaction.
  • A system activated daemon so exits when not in use.

Front-ends

There are three front-ends for PackageKit:
  • gnome-packagekit to be used in the GNOME
    GNOME
    GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...

     desktop.
  • Apper
    Apper
    Apper is a free and opensource Linux front end of the PackageKit application for the KDE desktop.Apper was originally named KPackageKit however, understanding the complexity of the meaning of "Package" for Linux new comers it was renamed Apper to avoid the "Package" word.Apper also has one main...

    to be used in the KDE
    KDE
    KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...

     desktop.
  • pkcon to be used on the command line.

Back-ends

A number of different package management system
Package management system
In software, a package management system, also called package manager, is a collection of software tools to automate the process of installing, upgrading, configuring, and removing software packages for a computer's operating system in a consistent manner...

s (known as back-ends) support different abstract methods and signals that are used by the front-end tools. Back-ends supported include:
  • Advanced Packaging Tool
    Advanced Packaging Tool
    The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants...

     (APT),
  • Arch Linux
    Arch Linux
    Arch Linux is an independently developed, Linux-based operating system for i686 and x86-64 computers. It is composed predominantly of free and open source software, and supports community involvement....

     Package Management (ALPM),
  • box,
  • Conary
    Conary (package manager)
    Conary is a free software package management system created by rPath and distributed under the terms of the GNU General Public License Version 3. It focuses on installing packages through automated dependency resolution against distributed online repositories, and providing a concise and...

    ,
  • Sabayon Linux's Entropy,
  • Opkg
    Opkg
    Opkg is a lightweight package management system based upon the now defunct ipkg. It is written in C and resembles APT/dpkg in operation. It is intended for use on embedded Linux devices and is used in this capacity in the OpenEmbedded and OpenWrt projects....

    ,
  • PiSi,
  • poldek,
  • Portage
    Portage (software)
    Portage is a package management system used by Gentoo Linux, based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project is concerned with using...

    ,
  • razor,
  • Smart Package Manager,
  • YUM,
  • ZYpp
    ZYpp
    ZYpp is a package management engine that powers Linux applications like YaST, Zypper and the openSUSE/SUSE Linux Enterprise implementation of PackageKit. Unlike other common package managers, it provides a powerful satisfiability solver to compute package dependencies and a convenient package...

    .
  • urpmi
    Urpmi
    urpmi is a Mandriva Linux package management tool for installing, removing, updating and querying software packages of local or remote media. It wraps around the package manager rpm with the aim that the user should not have to suffer the often-encountered dependency hell...

    .

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK