commit 260b4cba75b25c3889faa89e63f9a0fd1f938bcc
Author: fnadge <fnadge(a)redhat.com>
Date: Wed Jun 23 13:30:42 2010 +0200
indexed
en-US/PackageKit.xml | 87 +++++++++++++++++++++++++++++++----------------
en-US/RPM.xml | 90 ++++++++++++++++++++++++++------------------------
en-US/Yum.xml | 4 +--
3 files changed, 105 insertions(+), 76 deletions(-)
---
diff --git a/en-US/PackageKit.xml b/en-US/PackageKit.xml
index 3708358..bd77a52 100644
--- a/en-US/PackageKit.xml
+++ b/en-US/PackageKit.xml
@@ -1,17 +1,23 @@
<?xml version='1.0'?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
-<chapter id="ch-PackageKit">
+<chapter
+ id="ch-PackageKit">
<title>PackageKit</title>
<indexterm>
<primary>PackageKit</primary>
</indexterm>
<para>Red Hat provides <application>PackageKit</application> for
viewing, managing, updating, installing and uninstalling packages<indexterm>
- <primary>Packages</primary><secondary>viewing packages with
PackageKit</secondary></indexterm>
- <indexterm><primary>Packages</primary><secondary>managing
packages with PackageKit</secondary></indexterm>
- <indexterm><primary>Packages</primary><secondary>updating
packages with PackageKit</secondary></indexterm>
- <indexterm><primary>Packages</primary><secondary>installing
packages with PackageKit</secondary></indexterm>
- <indexterm><primary>Packages</primary><secondary>uninstalling
packages with PackageKit</secondary></indexterm>
+ <primary>packages</primary><secondary>viewing packages with
PackageKit</secondary></indexterm>
+ <indexterm><primary>packages</primary><secondary>managing
packages with PackageKit</secondary></indexterm>
+ <indexterm><primary>packages</primary><secondary>updating
packages with PackageKit</secondary></indexterm>
+ <indexterm><primary>packages</primary><secondary>installing
packages with PackageKit</secondary></indexterm>
+ <indexterm><primary>packages</primary><secondary>uninstalling
packages with PackageKit</secondary></indexterm>
+ <indexterm><primary>PackageKit</primary><secondary>viewing
packages </secondary></indexterm>
+ <indexterm><primary>PackageKit</primary><secondary>managing
packages </secondary></indexterm>
+ <indexterm><primary>PackageKit</primary><secondary>updating
packages </secondary></indexterm>
+ <indexterm><primary>PackageKit</primary><secondary>installing
packages </secondary></indexterm>
+
<indexterm><primary>PackageKit</primary><secondary>uninstalling
packages </secondary></indexterm>
compatible with your system. <application>PackageKit</application>
consists of several graphical interfaces that can be opened from the GNOME panel menu, or
from the Notification Area when <application>PackageKit</application> alerts
you that updates are available. For more information on
<application>PackageKit's</application> architecture and available front
ends, refer to <xref
linkend="sec-PackageKit_Architecture"/>.</para>
<section
@@ -28,8 +34,7 @@
format="PNG"/>
</imageobject>
</mediaobject>
- <para>Clicking on the notification icon opens the <guilabel>Software
Update</guilabel> window. Alternatively, you can open <guilabel>Software
Updates</guilabel> by clicking
<menuchoice><guimenu>System</guimenu>
- <guimenuitem>Administration</guimenuitem>
+ <para>Clicking on the notification icon opens the <guilabel>Software
Update</guilabel>
<indexterm><primary>packages</primary><secondary>updating packages
with PackageKit</secondary><tertiary>Software
Update</tertiary></indexterm><indexterm><primary>updating packages
with
PackageKit</primary><secondary>PolicyKit</secondary></indexterm>
window. Alternatively, you can open <guilabel>Software Updates</guilabel> by
clicking <menuchoice><guimenu>System</guimenu>
<guimenuitem>Administration</guimenuitem>
<guimenuitem>Software Update</guimenuitem>
</menuchoice> from the GNOME panel, or running the
<command>gpk-update-viewer</command> command at the shell prompt. In the
<guilabel>Software Updates</guilabel> window, all available updates are listed
along with the names of the packages being updated (minus the
<filename>.rpm</filename> suffix, but including the CPU architecture), a short
summary of the package, and, usually, short descriptions of the changes the update
provides. Any updates you do not wish to install can be de-selected here by unchecking the
checkbox corresponding to the update.</para>
<figure
@@ -47,9 +52,9 @@
</textobject>
</mediaobject>
</figure>
- <para>The updates presented in the <guilabel>Software
Updates</guilabel> window only represent the currently-installed packages on your
system for which updates are available; dependencies of those packages, whether they are
existing packages on your system or new ones, are not shown until you click
<guibutton>Install Updates</guibutton>.</para>
+ <para>The updates presented in the <guilabel>Software
Updates</guilabel> window only represent the currently-installed packages on your
system for which updates are
available<indexterm><primary>packages</primary><secondary>updating
currently installed packages</secondary><tertiary>available
updates</tertiary></indexterm><indexterm><primary>updating
currently installed packages</primary><secondary>available
updates</secondary></indexterm>; dependencies of those packages, whether they
are existing packages on your system or new ones, are not shown until you click
<guibutton>Install Updates</guibutton>.</para>
<para>
- <application>PackageKit</application> utilizes the fine-grained user
authentication capabilities provided by the
<application>PolicyKit</application> toolkit whenever you request it to make
changes to the system. Whenever you instruct
<application>PackageKit</application> to update, install or remove packages,
you will be prompted to enter the superuser password before changes are made to the
system.</para>
+ <application>PackageKit</application>
<indexterm><primary>packages</primary><secondary>updating packages
with
PackageKit</secondary><tertiary>PolicyKit</tertiary></indexterm><indexterm><primary>updating
packages with
PackageKit</primary><secondary>PolicyKit</secondary></indexterm><indexterm><primary>PolicyKit</primary></indexterm>utilizes
the fine-grained user
authentication<indexterm><primary>PackageKit</primary><secondary>PolicyKit</secondary><tertiary>authentication</tertiary></indexterm>
capabilities provided by the <application>PolicyKit</application> toolkit
whenever you request it to make changes to the system. Whenever you instruct
<application>PackageKit</application> to update, install or remove packages,
you will be prompted to enter the superuser password before changes are made to the
system.</para>
<figure
id="fig-Graphical_Package_Management-authenticate">
<title>PackageKit uses PolicyKit to authenticate</title>
@@ -68,6 +73,7 @@
<para>If you instruct <application>PackageKit</application> to
update the <filename>kernel</filename> package, then it will prompt you after
installation, asking you whether you want to reboot the system and thereby boot into the
newly-installed kernel.</para>
<bridgehead
id="bh-Setting_preferences_for_checking_for_updates">Setting the
Update-Checking Interval</bridgehead>
+ <indexterm><primary>packages</primary><secondary>setting
packages with PackageKit</secondary><tertiary>checking
interval</tertiary></indexterm>
<para>Right-clicking on <application>PackageKit</application>'s
Notification Area icon and clicking <guimenuitem>Preferences</guimenuitem>
opens the <guilabel>Software Update Preferences</guilabel> window, where you
can define the interval at which <application>PackageKit</application> checks
for package updates, as well as whether or not to automatically install all updates or
only security updates, and how often to check for major upgrades. Leaving the
<guilabel>Check for updates when using mobile broadband</guilabel> box
unchecked is handy for avoiding extraneous bandwidth usage when using a wireless
connection on which you are charged for the amount of data you download.</para>
<figure
id="fig-Graphical_Package_Management-Software_Update_Preferences">
@@ -85,9 +91,10 @@
</mediaobject>
</figure>
</section>
- <section
- id="sec-Using_Add_Remove_Software">
+ <section id="sec-Using_Add_Remove_Software">
<title>Using Add/Remove Software</title>
+ <indexterm><primary>packages</primary><secondary>adding and
removing with
PackageKit</secondary></indexterm><indexterm><primary>PackageKit</primary><secondary>adding
and removing</secondary></indexterm>
+
<para>
<application>PackageKit</application>'s <application>Software
Update</application> GUI window is a separate application from its
<guilabel>Add/Remove Software</guilabel> application, although the two have
intuitively similar interfaces. To find and install a new package, on the GNOME panel
click on <menuchoice><guimenu>System</guimenu>
<guimenuitem>Administration</guimenuitem>
@@ -112,7 +119,9 @@
id="sec-Refreshing_Software_Sources_Yum_Repositories">
<title>Refreshing Software Sources (Yum Repositories)</title>
<para>
- <application>PackageKit</application> refers to
<application>Yum</application> repositories as <firstterm>software
sources</firstterm>. It obtains all packages from enabled software sources. You can
view the list of all <emphasis>configured</emphasis> and unfiltered (see
below)
+ <application>PackageKit</application> refers to
<application>Yum</application> repositories as <indexterm>
+ <primary>packages</primary><secondary>viewing Yum repositories
with PackageKit</secondary></indexterm><indexterm>
+ <primary>Yum repositories</primary><secondary>viewing Yum
repositories with PackageKit</secondary></indexterm>software sources. It
obtains all packages from enabled software sources. You can view the list of all
<emphasis>configured</emphasis> and unfiltered (see below)
<application>Yum</application> repositories by opening
<guilabel>Add/Remove Software</guilabel> and clicking
<menuchoice><guimenu>System</guimenu>
<guimenuitem>Software sources</guimenuitem>
</menuchoice>. The <guilabel>Software Sources</guilabel> dialog
shows the repository name, as written on the
<computeroutput>name=<replaceable><My Repository
Name></replaceable>
@@ -120,8 +129,7 @@
<para>Entries which are checked in the
<guilabel>Enabled</guilabel> column indicate that the corresponding repository
will be used to locate packages to satisfy all update and installation requests (including
dependency resolution). The <guilabel>Enabled</guilabel> column corresponds to
the <computeroutput>enabled=<replaceable><1 or
0></replaceable>
</computeroutput> field in
[<replaceable>repository</replaceable>] sections. Checking an unchecked box
enables the Yum repository, and unchecking it disables it. Performing either function
causes <application>PolicyKit</application> to prompt for superuser
authentication to enable or disable the repository.
<application>PackageKit</application> actually inserts the
<literal>enabled=<replaceable><1 or 0></replaceable>
</literal> line into the correct
[<replaceable>repository</replaceable>] section if it does not exist, or
changes the value if it does. This means that enabling or disabling a repository through
the <guilabel>Software Sources</guilabel> window causes that change to persist
after closing the window or rebooting the system. The ability to quickly enable and
disable repositories based on our needs is a highly-convenient feature of
<application>PackageKit</application>.</para>
- <para>Note that it is not possible to add or remove
<application>Yum</application> repositories through
<application>PackageKit</application>. Refer to <xref
- linkend="sec-Configuring_Yum_and_Yum_Repositories"/> for
information on how to set up and configure <application>Yum</application>
repositories.</para>
+ <para>Note that it is not possible to add or remove
<application>Yum</application> repositories through
<application>PackageKit</application>.</para>
<note
id="note-Showing_Source_RPM_and_Test_Repositories">
<title>Showing Source RPM, Test and Debuginfo Repositories</title>
@@ -134,10 +142,16 @@
<section
id="sec-Finding_Packages_with_Filters">
<title>Finding Packages with Filters</title>
+
<indexterm><primary>packages</primary><secondary>filtering with
PackageKit for packages</secondary></indexterm>
<para>Once the software sources have been updated, it is often beneficial to
apply some filters so that <application>PackageKit</application> retrieves the
results of our <guilabel>Find</guilabel> queries faster. This is especially
helpful when performing many package searches. Four of the filters in the
<guimenu>Filters</guimenu> drop-down menu are used to split results by
matching or not matching a single criterion. By default when
<application>PackageKit</application> starts, these filters are all unapplied
(<guibutton>No filter</guibutton>), but once you do filter by one of them,
that filter remains set until you either change it or close
<application>PackageKit</application>.</para>
<para>Because you are usually searching for available packages that are
<emphasis>not</emphasis> installed on the system, click
<menuchoice><guimenu>Filters</guimenu>
<guimenuitem>Installed</guimenuitem>
- </menuchoice> and select the <guimenuitem>Only
available</guimenuitem> radio button.</para>
+ </menuchoice> and select the <guimenuitem>Only
available</guimenuitem> radio button.
+ <indexterm><primary>packages</primary><secondary>filtering
with
PackageKit</secondary><tertiary>installed</tertiary></indexterm>
+ <indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary></indexterm>
+ <indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>only
installed</tertiary></indexterm>
+ <indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>only
available</tertiary></indexterm>
+ <indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>no
filter</tertiary></indexterm></para>
<figure
id="Graphical_Package_Management-filters-only_available">
<title>Filtering out already-installed packages</title>
@@ -153,9 +167,11 @@
</textobject>
</mediaobject>
</figure>
- <para>Also, unless we require development files such as C header files, we
can filter for <guimenu>Only end user files</guimenu> and, in doing so, filter
out all of the
<filename><replaceable><package_name></replaceable>-devel</filename>
packages we are not interested in.</para>
- <figure
- id="fig-Graphical_Package_Management-filters-only_end_user">
+ <para>
+ <indexterm><primary>packages</primary><secondary>filtering
with
PackageKit</secondary><tertiary>Development</tertiary></indexterm>
+ <indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>only
development</tertiary></indexterm>
+ <indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>only end user
files</tertiary></indexterm> Also, unless we require development files such as
C header files, we can filter for <guimenu>Only end user files</guimenu> and,
in doing so, filter out all of the
<filename><replaceable><package_name></replaceable>-devel</filename>
packages we are not interested in.</para>
+ <figure
id="fig-Graphical_Package_Management-filters-only_end_user">
<title>Filtering out development packages from the list of Find
results</title>
<mediaobject>
<imageobject>
@@ -173,7 +189,7 @@
<variablelist>
<varlistentry>
<term>
- <guisubmenu>Graphical</guisubmenu>
+
<guisubmenu>Graphical</guisubmenu><indexterm><primary>packages</primary><secondary>filtering
with
PackageKit</secondary><tertiary>Graphical</tertiary></indexterm>
</term>
<listitem>
<para>Narrows the search to either applications which provide a GUI
interface or those that do not (<guibutton>Only text</guibutton>). This filter
is useful when browsing for GUI applications that perform a specific
function.</para>
@@ -181,8 +197,9 @@
</varlistentry>
<varlistentry>
<term>
- <guisubmenu>Free</guisubmenu>
+
<guisubmenu>Free</guisubmenu><indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>Free</tertiary></indexterm>
</term>
+
<listitem>
<para>Search for packages which are considered to be free software
Refer to the <ulink
url="https://fedoraproject.org/wiki/Licensing#SoftwareLicenses"...
Licensing List</ulink> for details on approved licenses.</para>
@@ -196,7 +213,7 @@
<guimenuitem>Hide subpackages</guimenuitem>
</term>
<listitem>
- <para>Checking the <guimenuitem>Hide
subpackages</guimenuitem> checkbox filters out generally-uninteresting packages that
are typically only dependencies of other packages that we want. For example, checking
<guimenuitem>Hide subpackages</guimenuitem> and searching for
<filename><replaceable><package></replaceable>
+ <para>Checking the <guimenuitem>Hide
subpackages</guimenuitem><indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>hide
subpackages</tertiary></indexterm> checkbox filters out
generally-uninteresting packages that are typically only dependencies of other packages
that we want. For example, checking <guimenuitem>Hide
subpackages</guimenuitem> and searching for
<filename><replaceable><package></replaceable>
</filename> would cause the following related packages to be filtered
out of the <guibutton>Find</guibutton> results (if it exists):</para>
<itemizedlist>
<listitem>
@@ -231,7 +248,7 @@
<guimenuitem>Only newest items</guimenuitem>
</term>
<listitem>
- <para>Checking <guimenuitem>Only newest items</guimenuitem>
filters out all older versions of the same package from the list of results, which is
generally what we want.</para>
+ <para>Checking <guimenuitem>Only newest
items</guimenuitem><indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>only newest
items</tertiary></indexterm> filters out all older versions of the same
package from the list of results, which is generally what we want.</para>
<important
id="important-Using_the_Only_newest_items_filter">
<title>Important: Using the Only newest items filter</title>
@@ -242,7 +259,7 @@
<varlistentry>
<term>Only native packages</term>
<listitem>
- <para>Checking the <guimenuitem>Only native
packages</guimenuitem> box on a multilib system causes
<application>PackageKit</application> to omit listing results for packages
compiled for the architecture that runs in <emphasis>compatibility
mode</emphasis>. For example, enabling this filter on a 64-bit system with an AMD64
CPU would cause all packages built for the 32-bit x86 CPU architecture not to be shown in
the list of results, even though those packages are able to run on an AMD64 machine.
Packages which are architecture-agnostic (i.e. <firstterm>noarch</firstterm>
packages such as <filename>crontabs-1.10-32.1.el6.noarch.rpm</filename>) are
never filtered out by checking <guimenuitem>Only native
packages</guimenuitem>. This filter has no affect on non-multilib systems, such as
<replaceable>x</replaceable>86 machines.</para>
+ <para>Checking the <guimenuitem>Only native
packages</guimenuitem><indexterm><primary>packages</primary><secondary>filtering
with PackageKit</secondary><tertiary>only native
packages</tertiary></indexterm> box on a multilib system causes
<application>PackageKit</application> to omit listing results for packages
compiled for the architecture that runs in <emphasis>compatibility
mode</emphasis>. For example, enabling this filter on a 64-bit system with an AMD64
CPU would cause all packages built for the 32-bit x86 CPU architecture not to be shown in
the list of results, even though those packages are able to run on an AMD64 machine.
Packages which are architecture-agnostic (i.e. <firstterm>noarch</firstterm>
packages such as <filename>crontabs-1.10-32.1.el6.noarch.rpm</filename>) are
never filtered out by checking <guimenuitem>Only native
packages</guimenuitem>. This filter has no affect on non-multilib systems, such as
<replaceable>x</replaceable>86 machines.</par
a>
</listitem>
</varlistentry>
</variablelist>
@@ -250,6 +267,8 @@
<section
id="sec-Installing_and_Removing_Packages_and_Dependencies">
<title>Installing and Removing Packages (and Dependencies)</title>
+ <indexterm><primary>packages</primary><secondary>installing
packages with PackageKit</secondary></indexterm>
+ <indexterm><primary>packages</primary><secondary>removing
packages with PackageKit</secondary></indexterm>
<para>With the two filters selected, <guibutton>Only
available</guibutton> and <guibutton>Only end user files</guibutton>,
search for the <application>htop</application> interactive process viewer and
highlight the package. You now have access to some very useful information about it,
including: a clickable link to the project homepage; the
<application>Yum</application> package group it is found in, if any; the
license of the package; a pointer to the GNOME menu location from where the application
can be opened, if applicable
(<menuchoice><guimenu>Applications</guimenu>
<guimenuitem>System Tools</guimenuitem>
<guimenuitem>Htop</guimenuitem>
@@ -269,7 +288,7 @@
</textobject>
</mediaobject>
</figure>
- <para>When the checkbox next to a package or group is checked, then that item
is already installed on the system. Checking an unchecked box causes it to be
<emphasis>marked</emphasis> for installation, which only occurs when the
<guibutton>Apply</guibutton> button is clicked. In this way, you can search
for and select multiple packages or package groups before performing the actual
installation transactions. Additionally, you can remove installed packages by unchecking
the checked box, and the removal will occur along with any pending installations when
<guibutton>Apply</guibutton> is pressed. Dependency resolution, which may add
additional packages to be installed or removed, is performed after pressing
<guibutton>Apply</guibutton>.
<application>PackageKit</application> will then display a window listing those
additional packages to install or remove, and ask for confirmation to
proceed.</para>
+ <para>When the checkbox next to a package or group is checked, then that item
is already installed on the system. Checking an unchecked box causes it to be
<emphasis>marked</emphasis> for installation, which only occurs when the
<guibutton>Apply</guibutton> button is clicked. In this way, you can search
for and select multiple packages or package groups before performing the actual
installation transactions. Additionally, you can remove installed packages by unchecking
the checked box, and the removal will occur along with any pending installations when
<guibutton>Apply</guibutton> is pressed. Dependency resolution
<indexterm><primary>packages</primary><secondary>installing
packages with
PackageKit</secondary><tertiary>dependencies</tertiary></indexterm>,
which may add additional packages to be installed or removed, is performed after pressing
<guibutton>Apply</guibutton>.
<application>PackageKit</application> will then display a window listing those
additional package
s to install or remove, and ask for confirmation to proceed.</para>
<para>Check <application>htop</application> and click the
<guibutton>Apply</guibutton> button. You will then be prompted for the
superuser password; enter it, and <application>PackageKit</application> will
install <application>htop</application>. One nice feature of
<application>PackageKit</application> is that, following installation, it
sometimes presents you with a list of your newly-installed applications and offer you the
choice of running them immediately. Alternatively, you will remember that finding a
package and selecting it in the <guilabel>Add/Remove Software</guilabel>
window shows you the <guilabel>Location</guilabel> of where in the GNOME menus
its application shortcut is located, which is helpful when you want to run
it.</para>
<para>Once it is installed, you can run <command>htop</command>,
an colorful and enhanced version of the <command>top</command> process viewer,
by opening a shell prompt and entering:</para>
<screen>~]$ <command>htop</command>
@@ -292,8 +311,7 @@
<warning
id="warning-PackageKit-Removing_a_Package_Without_Removing_Packages_Depending_on_It">
<title>Warning: Removing a Package when Other Packages Depend On
It</title>
- <para>Although <application>PackageKit</application>
automatically resolves dependencies during package installation and removal, it is unable
to remove a package without also removing packages which depend on it. This type of
operation can only be performed by <application>RPM</application>, is not
advised, and can potentially leave your system in a non-functioning state or cause
applications to misbehave and/or crash. For further information, refer to <xref
- linkend="s2-rpm-uninstalling"/>.</para>
+ <para>Although <application>PackageKit</application>
automatically resolves dependencies during package installation and removal, it is unable
to remove a package without also removing packages which depend on it. This type of
operation can only be performed by <application>RPM</application>, is not
advised, and can potentially leave your system in a non-functioning state or cause
applications to misbehave and/or crash.</para>
</warning>
<figure
id="fig-Graphical_Package_Management-removing_a_package">
@@ -314,6 +332,12 @@
<section
id="sec-Installing_and_Removing_Package_Groups">
<title>Installing and Removing Package Groups</title>
+ <indexterm><primary>packages</primary><secondary>installing
and removing package groups</secondary></indexterm>
+
<indexterm><primary>PackageKit</primary><secondary>installing and
removing package groups</secondary></indexterm>
+<indexterm><primary>installing package
groups</primary><secondary>installing package groups with
PackageKit</secondary>
+</indexterm>
+<indexterm><primary>removing package
groups</primary><secondary>removing package groups with
PackageKit</secondary>
+</indexterm>
<para>
<application>PackageKit</application> also has the ability to install
<application>Yum</application> package groups, which it calls
<guilabel>Package collections</guilabel>. Clicking on <guilabel>Package
collections</guilabel> in the top-left list of categories in the
<guilabel>Software Updates</guilabel> window allows us to scroll through and
find the package group we want to install. In this case, we want to install Czech language
support (the <guilabel>Czech Support</guilabel> group). Checking the box and
clicking <guibutton>apply</guibutton> informs us how many
<emphasis>additional</emphasis> packages must be installed in order to fulfill
the dependencies of the package group.</para>
<figure
@@ -327,7 +351,7 @@
format="PNG" />
</imageobject>
<textobject>
- <para>using packagekit to install czech language support with
packagekit's add/remove software window</para>
+ <para>using PackageKit to install czech language support with
PackageKit's add/remove software window</para>
</textobject>
</mediaobject>
</figure>
@@ -337,7 +361,9 @@
id="sec-Viewing_the_Transaction_Log">
<title>Viewing the Transaction Log</title>
<para>
- <application>PackageKit</application> maintains a log of the
transactions that it performs. To view the log, from the <guilabel>Add/Remove
Software</guilabel> window, click
<menuchoice><guimenu>System</guimenu>
+ <application>PackageKit</application> maintains a log of the
transactions
+ <indexterm><primary>packages</primary><secondary>viewing
transaction log</secondary></indexterm>
+
<indexterm><primary>PackageKit</primary><secondary>viewing
transaction log</secondary></indexterm>that it performs. To view the log, from
the <guilabel>Add/Remove Software</guilabel> window, click
<menuchoice><guimenu>System</guimenu>
<guimenuitem>Software log</guimenuitem>
</menuchoice>, or run the <command>gpk-log</command> command at
the shell prompt.</para>
<para>The <guilabel>Software Log Viewer</guilabel> shows the
<guilabel>Action</guilabel>, such as <replaceable>Updated
System</replaceable> or <replaceable>Installed Packages</replaceable>,
the <guilabel>Date</guilabel> on which that action was performed, the
<guilabel>Username</guilabel> of the user who performed the action, and the
front end <guilabel>Application</guilabel> the user used (such as
<replaceable>Update Icon</replaceable>, or
<replaceable>kpackagekit</replaceable>). The
<guilabel>Details</guilabel> column provides the types of the transactions,
such as <replaceable>Updated</replaceable>,
<replaceable>Installed</replaceable> or
<replaceable>Removed</replaceable>, as well as the list of packages the
transactions were performed on.</para>
@@ -362,7 +388,8 @@
<section
id="sec-PackageKit_Architecture">
<title>PackageKit Architecture</title>
- <para>Red Hat provides the <application>PackageKit</application>
suite of applications for viewing, updating, installing and uninstalling packages and
package groups compatible with your system. Architecturally,
<application>PackageKit</application> consists of several graphical front ends
that communicate with the <command>packagekitd</command> daemon back end,
which communicates with a package manager-specific back end that utilizes
<application>Yum</application> (on &MAJOROS;) to perform the actual
transactions, such as installing and removing packages, etc.</para>
+
<indexterm><primary>PackageKit</primary><secondary>architecture</secondary></indexterm>
+ <para>Red Hat provides the <application>PackageKit</application>
suite of applications for viewing, updating, installing and uninstalling packages and
package groups compatible with your system. Architecturally,
<application>PackageKit</application> consists of several graphical front ends
that communicate with the <command>packagekitd</command> daemon back end,
which communicates with a package manager-specific back end that utilizes
<application>Yum</application> to perform the actual transactions, such as
installing and removing packages, etc.</para>
<para>
<xref
linkend="table-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 <guilabel>Add/Remove Software</guilabel> window, and the name of the
command line application that opens that window.</para>
diff --git a/en-US/RPM.xml b/en-US/RPM.xml
index 8c9fe0b..481111a 100644
--- a/en-US/RPM.xml
+++ b/en-US/RPM.xml
@@ -12,12 +12,12 @@
<indexterm>
<primary>RPM</primary>
</indexterm>
- <para>The <firstterm>RPM Package Manager</firstterm> (RPM) is an open
packaging system, which runs on &MAJOROS; as well as other Linux and UNIX systems. Red
Hat, Inc. and the Fedora Project encourage other vendors to use RPM for their own
products. RPM is distributed under the terms of the <firstterm>GPL</firstterm>
(<firstterm>GNU General Public License</firstterm>).</para>
+ <para>The <firstterm>RPM Package Manager</firstterm> (RPM) is an open
packaging
system<indexterm><primary>packages</primary><secondary>RPM</secondary></indexterm>,
which runs on &MAJOROS; as well as other Linux and UNIX systems. Red Hat, Inc. and the
Fedora Project encourage other vendors to use RPM for their own products. RPM is
distributed under the terms of the <firstterm>GPL</firstterm>
(<firstterm>GNU General Public License</firstterm>).</para>
<para>The RPM Package Manager only works with packages built to work with the
<emphasis>RPM format</emphasis>. RPM is itself provided as a pre-installed
<package>rpm</package> package. For the end user, RPM makes system updates
easy. Installing, uninstalling and upgrading RPM packages can be accomplished with short
commands. RPM maintains a database of installed packages and their files, so you can
invoke powerful queries and verifications on your system.</para>
<warning
id="warning-Use_Yum_Instead_of_RPM_Whenever_Possible">
<title>Use Yum Instead of RPM Whenever Possible</title>
- <para>For most package management tasks, the
<application>Yum</application> package manager offers equal and often greater
capabilities and utility than RPM. <application>Yum</application> also
performs and tracks complicated system dependency resolution, and will complain and force
system integrity checks if you use RPM as well to install and remove packages. For these
reasons, it is highly recommended that you use <application>Yum</application>
instead of RPM whenever possible to perform package management tasks. Refer to <xref
+ <para>For most package management tasks, the
<application>Yum</application> package manager offers equal and often greater
capabilities and utility than
RPM<indexterm><primary>packages</primary><secondary>Yum insead of
RPM</secondary></indexterm>. <application>Yum</application> also
performs and tracks complicated system dependency resolution, and will complain and force
system integrity checks if you use RPM as well to install and remove packages. For these
reasons, it is highly recommended that you use <application>Yum</application>
instead of RPM whenever possible to perform package management tasks. Refer to <xref
linkend="ch-yum"/>.</para>
<para>If you prefer a graphical interface, you can use the
<application>PackageKit</application> GUI application, which uses
<application>Yum</application> as its back end, to manage your system's
packages. Refer to <xref
linkend="ch-PackageKit"/> for details.</para>
@@ -27,7 +27,8 @@
<para>When installing a package, ensure it is compatible with your operating
system and processor architecture. This can usually be determined by checking the package
name. Many of the following examples show RPM packages compiled for the AMD64/Intel 64
computer architectures; thus, the RPM file name ends in
<filename>x86_64.rpm</filename>.</para>
</important>
<para>During upgrades, RPM handles configuration files carefully, so that you
never lose your customizations—something that you cannot accomplish with regular
<filename>.tar.gz</filename> files.</para>
- <para>For the developer, RPM allows you to take software source code and package
it into source and binary packages for end users. This process is quite simple and is
driven from a single file and optional patches that you create. This clear delineation
between <firstterm>pristine</firstterm> sources and your patches along with
build instructions eases the maintenance of the package as new versions of the software
are released.</para>
+ <para>For the developer, RPM allows you to take software source code and package
it into source and binary packages for end
users.<indexterm><primary>packages</primary><secondary>RPM</secondary><tertiary>source
and
+ binary packages</tertiary></indexterm> This process is quite simple and is
driven from a single file and optional patches that you create. This clear delineation
between <firstterm>pristine</firstterm> sources and your patches along with
build instructions eases the maintenance of the package as new versions of the software
are released.</para>
<note>
<title>Note</title>
<para>Because RPM makes changes to your system, you must be logged in as root
to install, remove, or upgrade an RPM package.</para>
@@ -42,25 +43,25 @@
<para>To understand how to use RPM, it can be helpful to understand the design
goals of RPM:</para>
<variablelist>
<varlistentry>
- <term> Upgradability </term>
+
<term>Upgradability<indexterm><primary>RPM</primary><secondary>design
goals</secondary><tertiary>upgradability</tertiary></indexterm></term>
<listitem>
<para>With RPM, you can upgrade individual components of your system
without completely reinstalling. When you get a new release of an operating system based
on RPM, such as &MAJOROS;, you do not need to reinstall a fresh copy of the operating
system your machine (as you might need to with operating systems based on other packaging
systems). RPM allows intelligent, fully-automated, in-place upgrades of your system. In
addition, configuration files in packages are preserved across upgrades, so you do not
lose your customizations. There are no special upgrade files needed to upgrade a package
because the same RPM file is used to both install and upgrade the package on your
system.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term> Powerful Querying </term>
+ <term>Powerful
Querying<indexterm><primary>RPM</primary><secondary>design
goals</secondary><tertiary>powerful
querying</tertiary></indexterm></term>
<listitem>
<para>RPM is designed to provide powerful querying options. You can
perform searches on your entire database for packages or even just certain files. You can
also easily find out what package a file belongs to and from where the package came. The
files an RPM package contains are in a compressed archive, with a custom binary header
containing useful information about the package and its contents, allowing you to query
individual packages quickly and easily.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term> System Verification </term>
+ <term> System
Verification<indexterm><primary>RPM</primary><secondary>design
goals</secondary><tertiary>system
verification</tertiary></indexterm></term>
<listitem>
<para>Another powerful RPM feature is the ability to verify packages. If
you are worried that you deleted an important file for some package, you can verify the
package. You are then notified of anomalies, if any—at which point you can
reinstall the package, if necessary. Any configuration files that you modified are
preserved during reinstallation.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term> Pristine Sources </term>
+ <term>Pristine Sources
<indexterm><primary>packages</primary><secondary>RPM</secondary><tertiary>prisitne
sources</tertiary></indexterm></term>
<listitem>
<para>A crucial design goal was to allow the use of
<emphasis>pristine </emphasis> software sources, as distributed by the
original authors of the software. With RPM, you have the pristine sources along with any
patches that were used, plus complete build instructions. This is an important advantage
for several reasons. For instance, if a new version of a program is released, you do not
necessarily have to start from scratch to get it to compile. You can look at the patch to
see what you <emphasis>might</emphasis> need to do. All the compiled-in
defaults, and all of the changes that were made to get the software to build properly, are
easily visible using this technique.</para>
<para>The goal of keeping sources pristine may seem important only for
developers, but it results in higher quality software for end users, too.</para>
@@ -71,26 +72,26 @@
<section
id="s1-rpm-using">
<title>Using RPM</title>
- <indexterm>
- <primary>RPM</primary>
- <secondary>using</secondary>
- </indexterm>
- <para>RPM has five basic modes of operation (not counting package building):
installing, uninstalling, upgrading, querying, and verifying. This section contains an
overview of each mode. For complete details and options, try <command>rpm
--help</command> or <command>man rpm</command>. You can also refer to
<xref
+
+ <para>RPM has five basic modes of
operation<indexterm><primary>RPM</primary><secondary>basic
modes</secondary>
+ </indexterm> (not counting package building): installing, uninstalling,
upgrading, querying, and verifying. This section contains an overview of each mode. For
complete details and options, try <command>rpm --help</command> or
<command>man rpm</command>. You can also refer to <xref
linkend="s1-rpm-additional-resources"/> for more information on
RPM.</para>
<section
id="s2-rpm-finding">
<title>Finding RPM Packages</title>
+ <indexterm><primary>packages</primary><secondary>finding
RPM packages</secondary></indexterm>
+ <indexterm><primary>RPM</primary><secondary>finding RPM
packages</secondary></indexterm>
<para>Before using any RPM packages, you must know where to find them. An
Internet search returns many RPM repositories, but if you are looking for Red Hat RPM
packages, they can be found at the following locations:</para>
<itemizedlist>
<listitem>
- <para>The &MAJOROS; installation media contain many installable
RPMs.</para>
+ <para>The &MAJOROS; installation media
<indexterm><primary>&MAJOROS; installation
media</primary><secondary>installable
packages</secondary></indexterm><indexterm><primary>
packages</primary><secondary>i&MAJOROS; installation
media</secondary></indexterm> contain many installable RPMs.</para>
</listitem>
<listitem>
- <para>The initial RPM repositories provided with the YUM package manager.
Refer to <xref
+ <para>The initial RPM repositories provided with the YUM package
manager<indexterm><primary>initial RPM
repositories</primary><secondary>installable
packages</secondary></indexterm><indexterm><primary>
packages</primary><secondary>initial RPM
repositories</secondary></indexterm>. Refer to <xref
linkend="ch-yum"/> for details on how to use the official
&MAJOROS; package repositories.</para>
</listitem>
<listitem>
- <para>The Extra Packages for Enterprise Linux (EPEL) is a community
effort to provide high-quality add-on packages for Red Hat Enterprise Linux. Refer to
<ulink
+ <para>The Extra Packages for Enterprise Linux (EPEL) is a community
effort to provide high-quality add-on packages for Red Hat Enterprise
Linux<indexterm><primary>extra packages for Enterprise Linux
(EPEL)</primary><secondary>installable
packages</secondary></indexterm><indexterm><primary>
packages</primary><secondary>extra packages for Enterprise Linux
(EPEL)</secondary></indexterm>. Refer to <ulink
url="http://fedoraproject.org/wiki/EPEL"/> for details on EPEL
RPM packages.</para>
</listitem>
<listitem>
@@ -119,21 +120,20 @@
<primary>RPM</primary>
<secondary>installing</secondary>
</indexterm>
- <indexterm
- significance="normal">
+ <indexterm>
<primary>RPM</primary>
<secondary>upgrading</secondary>
</indexterm>
<indexterm>
<primary>packages</primary>
- <secondary>installing</secondary>
+ <secondary>installing RPM</secondary>
</indexterm>
- <indexterm
- significance="normal">
+ <indexterm>
<primary>packages</primary>
- <secondary>upgrading</secondary>
+ <secondary>upgrading RPM</secondary>
</indexterm>
- <para>RPM packages typically have file names like
<filename>tree-1.5.3-2.&PKGOS;.x86_64.rpm</filename>. The file name
includes the package name (<filename>tree</filename>), version
(<filename>1.5.3</filename>), release (<filename>2</filename>),
operating system major version (<filename>&PKGOS;</filename>) and CPU
architecture (<filename>x86_64</filename>).</para>
+ <para>RPM packages typically have file names
<indexterm><primary>RPM</primary><secondary>file
name</secondary></indexterm>
+ like <filename>tree-1.5.3-2.&PKGOS;.x86_64.rpm</filename>. The
file name includes the package name (<filename>tree</filename>), version
(<filename>1.5.3</filename>), release (<filename>2</filename>),
operating system major version (<filename>&PKGOS;</filename>) and CPU
architecture (<filename>x86_64</filename>).</para>
<para>You can use <command>rpm</command>'s
<option>-U</option> option to:</para>
<itemizedlist>
<listitem>
@@ -180,7 +180,7 @@ key ID d22e77f2</screen>
<section
id="s3-rpm-errors">
<title>Package Already Installed</title>
- <para>If a package of the same name and version is already installed, the
following output is displayed:</para>
+ <para>If a package of the same name and version is already
installed<indexterm><primary>RPM</primary><secondary>already
installed</secondary></indexterm><indexterm><primary>packages</primary><secondary>RPM</secondary><tertiary>already
installed</tertiary></indexterm>, the following output is
displayed:</para>
<screen>Preparing...
########################################### [100%]
package tree-1.5.3-2.&PKGOS;.x86_64 is already installed</screen>
<para>However, if you want to install the package anyway, you can use the
<command>--replacepkgs</command> option, which tells RPM to ignore the
error:</para>
@@ -197,7 +197,7 @@ key ID d22e77f2</screen>
<secondary>file conflicts</secondary>
<tertiary>resolving</tertiary>
</indexterm>
- <para>If you attempt to install a package that contains a file which has
already been installed by another package, the following is displayed:</para>
+ <para>If you attempt to install a package that contains a file which has
already been installed by another
package<indexterm><primary>RPM</primary><secondary>conflicts</secondary></indexterm><indexterm><primary>packages</primary><secondary>RPM</secondary><tertiary>conflict</tertiary></indexterm>,
the following is displayed:</para>
<screen>Preparing... ##################################################
file /usr/bin/foobar from install of foo-1.0-1.&PKGOS;.x86_64 conflicts
with file from package bar-3.1.1.&PKGOS;.x86_64</screen>
@@ -217,7 +217,7 @@ with file from package bar-3.1.1.&PKGOS;.x86_64</screen>
<primary>packages</primary>
<secondary>dependencies</secondary>
</indexterm>
- <para>RPM packages may sometimes depend on other packages, which means that
they require other packages to be installed to run properly. If you try to install a
package which has an unresolved dependency, output similar to the following is
displayed:</para>
+ <para>RPM packages may sometimes depend on other
packages<indexterm><primary>RPM</primary><secondary>failed
dependancies</secondary></indexterm><indexterm><primary>packages</primary><secondary>RPM</secondary><tertiary>failed
dependancies</tertiary></indexterm>, which means that they require other
packages to be installed to run properly. If you try to install a package which has an
unresolved dependency, output similar to the following is displayed:</para>
<!-- Silas: original format:
<screen> error: Failed dependencies: bar.so.2 is needed by foo-1.0-1
Suggested resolutions: bar-2.0.20-3.i386.rpm</screen>-->
<screen>error: Failed dependencies:
@@ -247,15 +247,9 @@ with file from package bar-3.1.1.&PKGOS;.x86_64</screen>
<section
id="sec-Configuration_File_Changes">
<title>Configuration File Changes</title>
- <para>Because RPM performs intelligent upgrading of packages with
configuration files, you may see one or the other of the following messages:</para>
- <indexterm>
- <primary>packages</primary>
- <secondary>preserving configuration files</secondary>
- </indexterm>
- <indexterm>
- <primary>RPM</primary>
- <secondary>preserving configuration files</secondary>
- </indexterm>
+ <indexterm><primary>RPM</primary><secondary>configuration
file changes</secondary></indexterm>
+
<indexterm><primary>packages</primary><secondary>RPM</secondary><tertiary>configuration
file changes</tertiary></indexterm>
+ <para>Because RPM performs intelligent upgrading of packages with
configuration
files<indexterm><primary>RPM</primary><secondary>configuration
file
changes</secondary><tertiary>conf.rpmsave</tertiary></indexterm>,
you may see one or the other of the following messages:</para>
<screen>saving /etc/foo.conf as /etc/foo.conf.rpmsave</screen>
<para>This message means that changes you made to the configuration file may
not be <emphasis>forward-compatible</emphasis> with the new configuration file
in the package, so RPM saved your original file and installed a new one. You should
investigate the differences between the two configuration files and resolve them as soon
as possible, to ensure that your system continues to function properly.</para>
<para>Alternatively, RPM may save the package's
<emphasis>new</emphasis> configuration file as, for example,
<filename>foo.conf.rpmnew</filename>, and leave the configuration file you
modified untouched. You should still resolve any conflicts between your modified
configuration file and the new one, usually by merging changes from the old one to the new
one with a <command>diff</command> program.</para>
@@ -277,6 +271,16 @@ with file from package bar-3.1.1.&PKGOS;.x86_64</screen>
<primary>packages</primary>
<secondary>removing</secondary>
</indexterm>
+ <indexterm>
+ <primary>packages</primary>
+ <secondary>RPM</secondary>
+ <tertiary>uninstalling</tertiary>
+ </indexterm>
+ <indexterm>
+ <primary>packages</primary>
+ <secondary>RPM</secondary>
+ <tertiary>removing</tertiary>
+ </indexterm>
<para>Uninstalling a package is just as simple as installing one. Type the
following command at a shell prompt:</para>
<screen>rpm -e foo</screen>
<note>
@@ -309,15 +313,12 @@ ghostscript-8.70-1.&PKGOS;.x86_64</screen>
<title>Freshening</title>
<indexterm>
<primary>RPM</primary>
- <secondary>freshen</secondary>
- </indexterm>
- <indexterm>
- <primary>RPM</primary>
- <secondary>freshening packages</secondary>
+ <secondary>freshening</secondary>
</indexterm>
<indexterm>
<primary>packages</primary>
- <secondary>freshening with RPM</secondary>
+ <secondary>RPM</secondary>
+ <tertiary>freshening</tertiary>
</indexterm>
<para>Freshening is similar to upgrading, except that only existent packages
are upgraded. Type the following command at a shell prompt:</para>
<screen>
@@ -340,7 +341,8 @@ ghostscript-8.70-1.&PKGOS;.x86_64</screen>
</indexterm>
<indexterm>
<primary>packages</primary>
- <secondary>querying</secondary>
+ <secondary>RPM</secondary>
+ <tertiary>querying</tertiary>
</indexterm>
<para>The RPM database stores information about all RPM packages installed in
your system. It is stored in the directory <filename>/var/lib/rpm/</filename>,
and is used to query what packages are installed, what versions each package is, and to
calculate any changes to any files in the package since installation, among other use
cases.</para>
<para>To query this database, use the <command>-q</command>
option. The <command>rpm -q <replaceable>package name</replaceable>
@@ -402,7 +404,8 @@ ghostscript-8.70-1.&PKGOS;.x86_64</screen>
</indexterm>
<indexterm>
<primary>packages</primary>
- <secondary>verifying</secondary>
+ <secondary>RPM</secondary>
+ <tertiary>verifying</tertiary>
</indexterm>
<para>Verifying a package compares information about files installed from a
package with the same information from the original package. Among other things, verifying
compares the file size, MD5 sum, permissions, type, owner, and group of each
file.</para>
<para>The command <command>rpm -V</command> verifies a package.
You can use any of the <emphasis>Verify Options</emphasis> listed for querying
to specify the packages you wish to verify. A simple use of verifying is
<command>rpm -V tree</command>, which verifies that all the files in the
<command>tree</command> package are as they were when they were originally
installed. For example:</para>
@@ -486,7 +489,8 @@ ghostscript-8.70-1.&PKGOS;.x86_64</screen>
</indexterm>
<indexterm>
<primary>packages</primary>
- <secondary>tips</secondary>
+ <secondary>RPM</secondary>
+ <tertiary>tips</tertiary>
</indexterm>
<para>RPM is a useful tool for both managing your system and diagnosing and
fixing problems. The best way to make sense of all its options is to look at some
examples.</para>
<itemizedlist>
diff --git a/en-US/Yum.xml b/en-US/Yum.xml
index 11266a5..8138e56 100644
--- a/en-US/Yum.xml
+++ b/en-US/Yum.xml
@@ -1,7 +1,6 @@
<?xml version='1.0'?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
-
<chapter id="ch-yum">
<title>Yum</title>
@@ -628,8 +627,7 @@ baseurl=http://path/to/repo or ftp://path/to/repo or
file://path/to/local/repo
enabled=<1 or 0>
</term>
<listitem>
- <para>Setting <literal>enabled=0</literal> instructs
<command>yum</command> not to include that repository as a package source when
performing updates and installs. This is an easy way of quickly turning repositories on
and off, which is useful when you desire a single package from a repository that you do
not want to enable for updates, etc. Turning repositories on and off can also be performed
quickly by passing either the
<option>--enablerepo=<<replaceable>repo_name</replaceable>></option>
or
<option>--disablerepo=<<replaceable>repo_name</replaceable>></option>
option to <command>yum</command>, or easily through
<application>PackageKit</application>'s <guilabel>Add/Remove
Software</guilabel> window. For the latter, refer to <xref
-
linkend="sec-Refreshing_Software_Sources_Yum_Repositories"/>.</para>
+ <para>Setting <literal>enabled=0</literal> instructs
<command>yum</command> not to include that repository as a package source when
performing updates and installs. This is an easy way of quickly turning repositories on
and off, which is useful when you desire a single package from a repository that you do
not want to enable for updates, etc. Turning repositories on and off can also be performed
quickly by passing either the
<option>--enablerepo=<<replaceable>repo_name</replaceable>></option>
or
<option>--disablerepo=<<replaceable>repo_name</replaceable>></option>
option to <command>yum</command>, or easily through
<application>PackageKit</application>'s <guilabel>Add/Remove
Software</guilabel> window.</para>
</listitem>
</varlistentry>
</variablelist>