[deployment-guide/comm-rel: 6/23] Yum: noted XZ prevents createrepo of RHEL6 pkgs on RHEL5

dsilas dsilas at fedoraproject.org
Sun Jul 18 15:52:47 UTC 2010


commit b11bd1abccc0bb44560a25df80ac19f52213df0d
Author: Douglas Silas <dhensley at redhat.com>
Date:   Fri Jul 16 12:24:54 2010 +0200

    Yum: noted XZ prevents createrepo of RHEL6 pkgs on RHEL5

 en-US/Yum.xml |   48 ++++++++++++++++++++++++++----------------------
 1 files changed, 26 insertions(+), 22 deletions(-)
---
diff --git a/en-US/Yum.xml b/en-US/Yum.xml
index 8138e56..3fa50b7 100644
--- a/en-US/Yum.xml
+++ b/en-US/Yum.xml
@@ -4,7 +4,7 @@
 <chapter id="ch-yum">
 
   <title>Yum</title>
-  
+
   <para><application>Yum</application> is the &OSORG; package manager that is able to query for information about packages, fetch packages from repositories, install and uninstall packages using automatic dependency resolution, and update an entire system to the latest available packages. <application>Yum</application> performs automatic dependency resolution on packages you are updating, installing or removing, and thus is able to automatically determine, fetch and install all available dependent packages. <application>Yum</application> can be configured with new, additional repositories, or <firstterm>package sources</firstterm>, and also provides many plugins which enhance and extend its capabilities. <application>Yum</application> is able to perform many of the same tasks that <application>RPM</application> can; additionally, many of the command line options are similar. <application>Yum</application> enables easy and simple package management on a single machine or on g
 roups of them.</para>
   <important
     id="important-Secure_Package_Management_with_GPG-Signed_Packages">
@@ -158,8 +158,8 @@ Is this ok [y/N]:
   <section
     id="sec-Packages_and_Package_Groups">
     <title>Packages and Package Groups</title>
-    <indexterm><primary>packages</primary><secondary>packages and package roups</secondary></indexterm>
-    <indexterm><primary>Yum</primary><secondary>packages and package roups</secondary></indexterm>    
+    <indexterm><primary>packages</primary><secondary>packages and package groups</secondary></indexterm>
+    <indexterm><primary>Yum</primary><secondary>packages and package groups</secondary></indexterm>
     <section
       id="sec-Searching_Listing_and_Displaying_Package_Information">
       <title>Searching, Listing and Displaying Package Information</title>
@@ -181,7 +181,7 @@ Warning: No matches found for: meld
 </screen>
       <para>
       <indexterm><primary>packages</primary><secondary>searching for packages with Yum</secondary><tertiary>yum search</tertiary></indexterm>
-      <indexterm><primary>Yum</primary><secondary>searching for packages with Yum</secondary><tertiary>yum search</tertiary></indexterm>      
+      <indexterm><primary>Yum</primary><secondary>searching for packages with Yum</secondary><tertiary>yum search</tertiary></indexterm>
         <command>yum search</command> is useful for searching for packages you do not know the name of, but for which you know a related term.</para>
       <bridgehead
         id="bh-Listing_Packages">Listing Packages</bridgehead>
@@ -193,7 +193,7 @@ Warning: No matches found for: meld
         id="note-Tip-Filtering_Results_with_Glob_Expressions">
         <title>Tip: Filtering Results with Glob Expressions</title>
       <indexterm><primary>packages</primary><secondary>listing packages with Yum</secondary><tertiary> Glob expressions</tertiary></indexterm>
-      <indexterm><primary>Yum</primary><secondary>listing packages with Yum</secondary><tertiary>Glob expressions</tertiary></indexterm>      
+      <indexterm><primary>Yum</primary><secondary>listing packages with Yum</secondary><tertiary>Glob expressions</tertiary></indexterm>
         <para>All of <application>Yum</application>'s various list commands allow you to filter the results by appending one or more <emphasis>glob expressions</emphasis> as arguments. Glob expressions are normal strings of characters which contain one or more of the wildcard characters <command>*</command> (which expands to match any character multiple times) and <command>?</command> (which expands to match any one character). Be careful to escape both of these glob characters when passing them as arguments to a <command>yum</command> command. If you do not, the bash shell will interpret the glob expressions as <emphasis>pathname expansions</emphasis>, and potentially pass all files in the current directory that match the globs to <command>yum</command>, which is not what you want. Instead, you want to pass the glob expressions themselves to <command>yum</command>, which you can do by either:
         <itemizedlist>
         <listitem>
@@ -276,7 +276,7 @@ abrt-plugin-ticketuploader.x86_64             1.0.7-5.el6             @rhel</scr
         </listitem>
       </itemizedlist>
       <bridgehead
-        id="bh-Displaying_Package_Info">Displaying Package Info</bridgehead>        
+        id="bh-Displaying_Package_Info">Displaying Package Info</bridgehead>
       <para>
         <command>yum info <replaceable>&lt;package_name&gt;</replaceable>&#160;<optional><replaceable>more_names</replaceable>
           </optional>
@@ -302,7 +302,7 @@ Description: abrt is a tool to help users to detect defects in applications
  </screen>
       <para>
       <indexterm><primary>packages</primary><secondary>displaying packages</secondary><tertiary>yum info</tertiary></indexterm>
-      <indexterm><primary>Yum</primary><secondary>displaying packages</secondary><tertiary>yum info</tertiary></indexterm>      
+      <indexterm><primary>Yum</primary><secondary>displaying packages</secondary><tertiary>yum info</tertiary></indexterm>
         <command>yum info <replaceable>&lt;package_name&gt;</replaceable>
         </command> is similar to the <command>rpm -q --info <replaceable>&lt;package_name&gt;</replaceable>
         </command> command, but provides as additional information the ID of the <application>Yum</application> repository the RPM package is found in (look for the <emphasis>From repo:</emphasis> line in the output).</para>
@@ -333,7 +333,7 @@ yum-3.2.27-4.el6.noarch
       <indexterm>
         <primary>Yum</primary>
         <secondary>installing with Yum</secondary>
-             </indexterm>             
+             </indexterm>
       <para>You can install a package and all of its non-installed dependencies by entering:</para>
       <screen>~]#&#160;<command>yum install <replaceable>&lt;package_name&gt;</replaceable>
         </command>
@@ -383,7 +383,7 @@ Filename    : /usr/sbin/named
       <bridgehead
         id="bh-Installing_a_Package_Group">Installing a Package Group</bridgehead>
         <indexterm><primary>packages</primary><secondary>installing a package group with Yum</secondary></indexterm>
-        <indexterm><primary>Yum</primary><secondary>installing a package group with Yum</secondary></indexterm>        
+        <indexterm><primary>Yum</primary><secondary>installing a package group with Yum</secondary></indexterm>
                 <para>A package group is similar to a package: it is not useful by itsself, but installing one pulls a group of dependent packages that serve a common purpose. A package group has a name and a groupid. The <command>yum grouplist -v</command> command lists the names of all package groups, and, next to each of them, their <firstterm>groupid</firstterm> in parentheses. The groupid is always the term in the last pair of parentheses, such as <literal>kde-desktop</literal> and <literal>kde-software-development</literal> in this example:</para>
       <important>
         <title>Not all packages used in examples may be available on RHN</title>
@@ -412,7 +412,7 @@ KDE Software Development (kde-software-development)
       id="sec-Removing">
       <title>Removing</title>
       <indexterm><primary>packages</primary><secondary>uninstalling packages with Yum</secondary></indexterm>
-      <indexterm><primary>Yum</primary><secondary>uninstalling packages with Yum</secondary></indexterm>      
+      <indexterm><primary>Yum</primary><secondary>uninstalling packages with Yum</secondary></indexterm>
       <para>
         <command>yum remove &lt;package_name&gt;</command><indexterm><primary>packages</primary><secondary>uninstalling packages with Yum</secondary><tertiary>yum remove package_name</tertiary></indexterm>
       <indexterm><primary>Yum</primary><secondary>uninstalling packages with Yum</secondary><tertiary>yum remove package_name</tertiary></indexterm>uninstalls (removes in <application>RPM</application> and <application>Yum</application> terminology) the package, as well as any packages that depend on it. As when you install multiple packages, you can remove several at once by adding more package names to the command:</para>
@@ -420,7 +420,7 @@ KDE Software Development (kde-software-development)
  <command>yum remove foo bar baz</command>
       </screen>
       <para>Similar to <command>install</command>, <command>remove</command> can take these arguments:      <itemizedlist><listitem><para>package names</para></listitem><listitem><para>glob expressions</para></listitem><listitem><para>file lists</para></listitem><listitem><para>package provides</para></listitem></itemizedlist></para>
-      
+
       <warning
         id="warning-WarningRemoving_a_Package_when_Other_Packages_Depend_On_It">
         <title>Warning: Removing a Package when Other Packages Depend On It</title>
@@ -444,7 +444,7 @@ KDE Software Development (kde-software-development)
         id="important-Smart_package_group_removal">
         <title>Smart package group removal</title>
       <indexterm><primary>packages</primary><secondary>removing package groups with Yum</secondary></indexterm>
-      <indexterm><primary>Yum</primary><secondary>uninstalling package groups with Yum</secondary></indexterm>              
+      <indexterm><primary>Yum</primary><secondary>uninstalling package groups with Yum</secondary></indexterm>
         <para>When you tell <application>yum</application> to remove a package group, it will remove every package in that group, even if those packages are members of other package groups or dependencies of other installed packages. However, you can instruct <command>yum</command> to remove only those packages which are not required by any other packages or groups by adding the <option>groupremove_leaf_only=1</option> directive to the <literal>[main]</literal> section of the <filename>/etc/yum.conf</filename> configuration file. For more information on this directive, refer to <xref
             linkend="sec-Setting_main_Options"/>.</para>
       </important>
@@ -454,7 +454,7 @@ KDE Software Development (kde-software-development)
     id="sec-Configuring_Yum_and_Yum_Repositories">
     <title>Configuring Yum and Yum Repositories</title>
           <indexterm><primary>Yum</primary><secondary>configuring Yum and Yum repositories</secondary></indexterm>
-      <indexterm><primary>Yum</primary><secondary>Yum repositories</secondary><tertiary>configuring Yum and Yum repositories</tertiary></indexterm>      
+      <indexterm><primary>Yum</primary><secondary>Yum repositories</secondary><tertiary>configuring Yum and Yum repositories</tertiary></indexterm>
     <para>This section shows you how to:</para>
     <itemizedlist>
       <listitem>
@@ -569,7 +569,7 @@ installonly_limit=3
     <section
       id="sec-Setting_repository_Options">
       <title>Setting [repository] Options</title>
-      <indexterm><primary>Yum</primary><secondary>setting [repository] options</secondary></indexterm>      
+      <indexterm><primary>Yum</primary><secondary>setting [repository] options</secondary></indexterm>
       <para>You can define individual <application>Yum</application> repositories by adding [<replaceable>repository</replaceable>] sections (where <replaceable>repository</replaceable> is a unique repository ID, such as [<replaceable>my_personal_repo</replaceable>]) to <filename>/etc/yum.conf</filename> or to <filename>.repo</filename> files in the <filename>/etc/yum.repos.d/</filename>directory. All <filename>.repo</filename> files in <filename>/etc/yum.repos.d/</filename>are read by <command>yum</command>; best practice is to define your repositories here instead of in <filename>/etc/yum.conf</filename>. You can create new, custom <filename>.repo</filename> files in this directory, add [<replaceable>repository</replaceable>] sections to those files, and the next time you run a <command>yum</command> command, it will take all newly-added repositories into account.</para>
       <para>Here is a (bare-minimum) example of the form a <filename>.repo</filename> file should take:</para>
       <screen>
@@ -642,7 +642,7 @@ baseurl=http://path/to/repo or ftp://path/to/repo or file://path/to/local/repo
         <varlistentry>
           <term>
             <envar>$releasever</envar>
-          </term> 
+          </term>
           <listitem><para>You can use this variable to reference the release version of &MAJOROS;. <application>Yum</application> obtains the value of <filename>$releasever</filename> from the <literal>distroverpkg=&lt;value&gt;</literal> line in the <filename>/etc/yum.conf</filename> configuration file. If there is no such line in <filename>/etc/yum.conf</filename>, then <command>yum</command> infers the correct value by deriving the version number from the <filename>redhat-release</filename> package.</para>
           </listitem>
         </varlistentry>
@@ -671,12 +671,12 @@ baseurl=http://path/to/repo or ftp://path/to/repo or file://path/to/local/repo
     </section>
     <section
       id="sec-Creating_a_Yum_Repository">
-      <title>Creating a Yum Repository</title>   
+      <title>Creating a Yum Repository</title>
       <indexterm><primary>Yum</primary><secondary>repository</secondary></indexterm>
       <para>To set up a <application>Yum</application> repository, follow these steps:</para>
       <procedure
         id="procedure-Setting_Up_a_Yum_repository">
-        
+
         <title>Setting Up a <application>Yum</application> repository</title>
         <step>
           <para>Install the <filename>createrepo</filename> package:</para>
@@ -690,6 +690,10 @@ baseurl=http://path/to/repo or ftp://path/to/repo or file://path/to/local/repo
           <para>Run the <command>createrepo --database</command> command on that directory:</para>
           <screen>~]# <command>createrepo --database /mnt/local_repo</command>
           </screen>
+          <important>
+            <title>Important</title>
+            <para>Because RPM packages for &MAJOROSVER; are compressed using the XZ lossless data compression format, and may also be signed using alternative (and stronger) hash algorithms such as SHA-256, it is not possible to run <command>createrepo</command> on &MAJOROS; 5 to create the package metadata for &MAJOROSVER; packages. The <command>createrepo</command> command relies on <command>rpm</command> to open and inspect the packages, and <command>rpm</command> on &MAJOROS; 5 is not able to open the improved &MAJOROSVER; RPM package format.</para>
+          </important>
         </step>
       </procedure>
       <para>This will create the necessary metadata for your <application>Yum</application> repository, as well as the <application>sqlite</application> database for speeding up <command>yum</command> operations.</para>
@@ -714,7 +718,7 @@ Loaded plugins: presto, refresh-packagekit, security
       <indexterm><primary>Yum</primary><secondary>enabling plugins</secondary></indexterm>
       <indexterm><primary>Yum</primary><secondary>configuring plugins</secondary></indexterm>
       <indexterm><primary>Yum</primary><secondary>disabling plugins</secondary></indexterm>
-                  
+
       <para>To enable <application>Yum</application> plugins, ensure that a line beginning with <command>plugins=</command> is present in the <literal>[main]</literal> section of <filename>/etc/yum.conf</filename>, and that its value is set to <constant>1</constant>:</para>
       <screen>
 plugins=1
@@ -757,11 +761,11 @@ enabled=1
       <para>Here are descriptions of a few useful <application>Yum</application> plugins:</para>
       <bridgehead
         id="bh-presto_yum-presto">presto (yum-presto)</bridgehead>
-        <indexterm><primary>Yum</primary><secondary>plugins</secondary><tertiary>yum-presto</tertiary></indexterm>        
+        <indexterm><primary>Yum</primary><secondary>plugins</secondary><tertiary>yum-presto</tertiary></indexterm>
       <para>The <application>presto</application> plugin adds support to <application>Yum</application> for downloading <firstterm>delta RPM</firstterm> packages, during updates, from repositories which have <application>presto</application> metadata enabled. Delta RPMs contain only the differences between the version of the the package installed on the client requesting the RPM package and the updated version in the repository. Downloading a delta RPM is much quicker than downloading the entire updated package, and can speed up updates considerably. Once the delta RPMs are downloaded, they must be rebuilt (the difference applied to the currently-installed package to create the full updated package) on the installing machine, which takes CPU time. Using delta RPMs is therefore a tradeoff between time-to-download, which depends on the network connection, and time-to-rebuild, which is CPU-bound. Using the <application>presto</application> plugin is recommended for fast machine
 s and systems with slower network connections, while slower machines on very fast connections <emphasis>may</emphasis> benefit more from downloading normal RPM packages, i.e. by disabling <application>presto</application>. The <application>presto</application> plugin is enabled by default.</para>
-      
+
       <bridgehead id="bh-protect-packages_yum-plugin-protect-packages">protect-packages (yum-plugin-protect-packages)</bridgehead>
-        <indexterm><primary>Yum</primary><secondary>plugins</secondary><tertiary>yum-plugin-protect-packages</tertiary></indexterm>        
+        <indexterm><primary>Yum</primary><secondary>plugins</secondary><tertiary>yum-plugin-protect-packages</tertiary></indexterm>
       <para>The <application>protect-packages</application> plugin prevents the <filename>yum</filename> package and all packages it depends on from being purposefully or accidentally removed. This simple scheme prevents many of the most important packages necessary for your system to run from being removed. In addition, you can list more packages, one per line, in the <filename>/etc/sysconfig/protected-packages</filename> file<footnote
           id="footnote-Alternative_Locations_for_protect-packages_Lists"><para>You can also place files with the extension <filename>.list</filename> in the <filename>/etc/sysconfig/protected-packages.d/</filename> directory (which you should create if it does not exist), and list packages—one per line—in these files. <application>protect-packages</application> will protect these too.</para>
         </footnote>
@@ -770,7 +774,7 @@ enabled=1
         id="bh-refresh-packagekit_PackageKit-yum-plugin">refresh-packagekit (PackageKit-yum-plugin)</bridgehead>
         <indexterm><primary>Yum</primary><secondary>plugins</secondary><tertiary>PackageKit-yum-plugin</tertiary></indexterm>
         <para>This plugin updates metadata for <application>PackageKit</application> whenever <application>yum</application> is run. The <application>refresh-packagkit</application> plugin is installed by default.</para>
-        
+
       <bridgehead id="bh-security_yum-plugin-security">security (yum-plugin-security)</bridgehead>
         <indexterm><primary>Yum</primary><secondary>plugins</secondary><tertiary>yum-plugin-security</tertiary></indexterm>
       <para>Discovering information about and applying security updates easily and often is important to all system administrators. For this reason <application>Yum</application> provides the <application>security</application> plugin, which extends <command>yum</command> with a set of highly-useful security-related commands, subcommands and options.</para>


More information about the docs-commits mailing list