Language and Page Formatting Options
9.3. PackageKit Architecture
Red Hat provides the PackageKit suite of applications for viewing, updating, installing and uninstalling packages and package groups compatible with your system. Architecturally, PackageKit consists of several graphical front ends that communicate with the
packagekitddaemon back end, which communicates with a package manager-specific back end that utilizes Yum to perform the actual transactions, such as installing and removing packages, etc.
Table 9.1, “PackageKit GUI windows, menu locations, and shell prompt commands” shows the name of the GUI window, how to start the window from the GNOME desktop or from the Add/Remove Software window, and the name of the command-line application that opens that window.
Table 9.1. PackageKit GUI windows, menu locations, and shell prompt commands
|Window Title||Function||How to Open||Shell Command|
|Add/Remove Software||Install, remove or view package info|| |
From the GNOME panel: System → Administration → Add/Remove Software
|Software Update||Perform package updates|| |
From the GNOME panel: System → Administration → Software Update
|Software Sources||Enable and disable Yum repositories|| |
From Add/Remove Software: System → Software Sources
|Software Log Viewer||View the transaction log|| |
From Add/Remove Software: System → Software Log
|Software Update Preferences||Set PackageKit preferences||gpk-prefs|
|(Notification Area Alert)||Alerts you when updates are available|| |
From the GNOME panel: System → Preferences → Startup Applications, the Startup Programs tab
packagekitddaemon runs outside the user session and communicates with the various graphical front ends. The
packagekitddaemon communicates via the DBus system message bus with another back end, which utilizes Yum's Python API to perform queries and make changes to the system. On Linux systems other than Red Hat Enterprise Linux and Fedora,
packagekitdcan communicate with other back ends that are able to utilize the native package manager for that system. This modular architecture provides the abstraction necessary for the graphical interfaces to work with many different package managers to perform essentially the same types of package management tasks. Learning how to use the PackageKit front ends means that you can use the same familiar graphical interface across many different Linux distributions, even when they utilize a native package manager other than Yum.
In addition, PackageKit's separation of concerns provides reliability in that a crash of one of the GUI windows—or even the user's X Window session—will not affect any package management tasks being supervised by the
packagekitddaemon, which runs outside of the user session.
All of the front end graphical applications discussed in this chapter are provided by the gnome-packagekit package instead of by PackageKit and its dependencies.
Finally, PackageKit also comes with a console-based front end called
 System daemons are typically long-running processes that provide services to the user or to other programs, and which are started, often at boot time, by special initialization scripts (often shortened to init scripts). Daemons respond to the
servicecommand and can be turned on or off permanently by using the
chkconfig offcommands. They can typically be recognized by a “d” appended to their name, such as the
packagekitddaemon. See Chapter 12, Services and Daemons for information about system services.