yum-software-management yum-software-management-en.xml,1.2,1.3
Stuart Ellis (elliss)
fedora-docs-commits at redhat.com
Sun Jun 12 21:18:20 UTC 2005
Author: elliss
Update of /cvs/docs/yum-software-management
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv13692
Modified Files:
yum-software-management-en.xml
Log Message:
- Split section on .repo files between "Using Software Repositories" (for installing them) and "Managing Software Repositories" (for creating and editing them)
Index: yum-software-management-en.xml
===================================================================
RCS file: /cvs/docs/yum-software-management/yum-software-management-en.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- yum-software-management-en.xml 12 Jun 2005 10:48:11 -0000 1.2
+++ yum-software-management-en.xml 12 Jun 2005 21:18:18 -0000 1.3
@@ -4,7 +4,7 @@
<!ENTITY % FEDORA-ENTITIES-EN SYSTEM "../common/fedora-entities-en.ent">
%FEDORA-ENTITIES-EN;
-<!ENTITY BOOKID "yum-software-management-0.4.2 (2005-06-12)"> <!-- change version of manual and date here -->
+<!ENTITY BOOKID "yum-software-management-0.4.3 (2005-06-12)"> <!-- change version of manual and date here -->
<!ENTITY LEGALNOTICE SYSTEM "../common/legalnotice-en.xml">
@@ -589,7 +589,7 @@
<primary>yum, package management</primary>
</indexterm>
<para>
- <command>Yum</command> has three basic management functions:
+ The <command>yum</command> utility has three basic management functions:
</para>
<para>
<itemizedlist>
@@ -679,7 +679,7 @@
<primary>packages, updating</primary>
</indexterm>
<para>
- Updating a software package is essentially the same as installing a new
+ Updating a software package follows the same process as installing a new
package. For example, to update the <filename>tsclient</filename>
package to the latest version, type:
</para>
@@ -720,8 +720,8 @@
</section>
- <section id="sn-finding-repositories">
- <title>Finding Other Public Software Repositories</title>
+ <section id="sn-using-repositories">
+ <title>Using Other Software Repositories</title>
<indexterm>
<primary>&FEX;</primary>
</indexterm>
@@ -752,12 +752,55 @@
</para>
</note>
<para>
- You should use these sites for RPM packages of software not
- included with &FC;. If these sites do not provide packages for a
- specific piece of software, the manufacturer of the software may provide
- or recommend a repository.
+ You should use these sites for software that is not included with &FC;.
+ If these sites do not provide packages for a specific piece of software,
+ the manufacturer of the software may provide or recommend a repository.
</para>
+ <section id="sn-adding-repositories">
+ <title>Adding a Repository as a Package Source</title>
+ <indexterm>
+ <primary>repositories, adding to yum</primary>
+ </indexterm>
+ <indexterm>
+ <primary>repository definition files, installing</primary>
+ </indexterm>
+ <para>
+ &FC; includes a <filename>yum</filename> package that has &FED;
+ repositories in the configuration. To add an extra repository, place a
+ definition file in the <filename>/etc/yum.repos.d/</filename> directory
+ on your system. Package providers make the definition files for their
+ repositories available on their Websites.
+ </para>
+ <tip>
+ <title>Definition File Extension</title>
+ <para>
+ The names of repository definition files end with <filename>.repo</filename>.
+ </para>
+ </tip>
+ <para>
+ Adding a file to the definitions directory requires root access. To
+ copy the definition file <filename>example.repo</filename>, type the command:
+ </para>
+<screen>
+<userinput>su -c 'cp example.repo /etc/yum.repos.d/'</userinput>
+</screen>
+ <para>
+ Enter the root password when prompted.
+ </para>
+ <para>
+ You must also add the public key of the package provider, if you have
+ not not already imported it. The process is described in <xref linkend="sn-authorizing-package-sources"></xref>.
+ </para>
+ <note>
+ <title>Repositories and <application>Up2date</application> Channels</title>
+ <para>
+ You should also add new package repositories as
+ <application>up2date</application> channels to ensure consistency between
+ the behavior of the two applications.
+ </para>
+ </note>
+ </section>
<section id="sn-compat-repositories">
<title>Understanding Repository Compatibility</title>
@@ -803,150 +846,6 @@
</section>
- <section id="sn-adding-repositories">
- <title>Adding Repositories as Package Sources</title>
- <indexterm>
- <primary>repositories, adding to yum</primary>
- </indexterm>
- <para>
- The file <filename>/etc/yum.conf</filename> holds the main settings for
- <command>yum</command>. Each repository is defined with a plain-text
- file in the <filename>/etc/yum.repos.d/</filename> directory.
- </para>
- <para>
- &FC; includes a <filename>yum</filename> package that has &FED;
- repositories in the configuration. These are defined to use a
- <command>mirrorlist</command> from the master &FED; servers.
- </para>
- <para>
- Each time that you run <command>yum</command> a server is selected from
- the list, and another server will automatically be used if the selected
- server fails to respond.
- </para>
- <para>
- To add other repositories, place a configuration file for them in the
- <filename>/etc/yum.repos.d/</filename> directory on your system.
- </para>
- <para>
- Files defining yum repositories should have the extension
- <filename>.repo</filename>. They use the following format:
- </para>
- <example id="yum-repo-format">
- <title>Format of <command>Yum</command> Repository Definition Files</title>
- <programlisting>
- <![CDATA[
- [serverid]
- name=Some longer name and description for this repository
- baseurl=url://path/to/repository-copy-1/
- url://path/to/repository-copy-2/
- enable=(0 or 1)
- gpgcheck=(0 or 1)
- ]]>
- </programlisting>
- </example>
- <para>
- The <command>baseurl</command> must specify the complete URL for the root
- directory of the repository, including the <command>http://</command>,
- <command>https://</command> or <command>ftp://</command> prefix. You
- can specify a directory on your system by using the prefix
- <command>file://</command> in the <command>baseurl</command>.
- </para>
- <tip>
- <title>Logging in to Protected Repositories</title>
- <para>
- <command>Yum</command> can use password-protected directories if the
- correct username and password is included in the
- <command>baseurl</command>. For
- example, <wordasword>ftp://user:password@myrepository.com/$releasever/mypackages/</wordasword>.
- </para>
- </tip>
- <para>
- If possible, list more than one directory or server that holds a copy of the
- repository. This enables <command>yum</command> to use another repository if the first is
- unavailable. By default <command>yum</command> randomly selects repositories from the
- <command>baseurl</command> list. To force <command>yum</command> to use them in sequence,
- add the option <command>failovermethod=priority</command>.
- </para>
- <para>
- It is also good practice to use variables like <command>$releasever</command> in
- the URL, rather than setting these to a specific value. The available
- variables are listed on the <command>man</command> page for
- <filename>yum.conf</filename>. Using variables enables the same
- definition to function when your system is upgraded to a later version,
- or if the configuration is copied to another machine.
- </para>
- <para>
- An example of a definition file is shown below. In this example, copies of the
- repository are held in the directory
- <filename>/srv/software/&FED;/&FCVER;/mypackages/</filename> on the
- system itself, in the directory
- <filename>software/&FED;/&FCVER;/mypackages/</filename> on the Web
- server <wordasword>www.my-repository.com/</wordasword>, and in the
- directory <filename>pub/software/&FED;/&FCVER;/mypackages/</filename> on
- the FTP server <wordasword>server.another-repository.org</wordasword>.
- Here, <command>yum</command> will access the FTP server with the
- username <command>yum-user</command> and the password <command>qwerty</command>.
- The <command>failovermethod</command> ensures that
- <command>yum</command> will check the copy on the local machine, before
- trying the servers in sequence.
- </para>
- <example id="yum-repo-example">
- <title>Example <command>yum</command> Repository Definition File</title>
- <programlisting>
- <![CDATA[
- [MyPackages]
- name=Some packages for Fedora $releasever
- baseurl=file:///srv/software/fedora/$releasever/mypackages/
- http://www.my-repository.com/software/fedora/$releasever/mypackages/
- ftp://yum-user:qwerty@anotherserver.another-repository.org/pub/software/fedora/$releasever/mypackages/
- failovermethod=priority
- enable=1
- gpgcheck=1
- ]]>
- </programlisting>
- </example>
- <para>
- To use a list of servers, substitute <command>mirrorlist</command> for
- <command>baseurl</command>.
- </para>
- <para>
- Set <command>gpgcheck=0</command> if it is necessary to disable signature
- checking for the packages provided by this repository. It is not
- recommended that you install unsigned packages.
- </para>
- <para>
- Any <filename>.repo</filename> file that includes the setting
- <command>enable=0</command> is ignored by yum.
- </para>
- <note>
- <title>Repositories and <application>Up2date</application> Channels</title>
- <para>
- You should also add new package repositories as
- <application>up2date</application> channels to ensure consistency between
- the behavior of the two applications.
- </para>
- </note>
- <para>
- If possible you should create your own private repository for the base operating
- system packages. You can then add a definition file for your repository
- and disable <filename>fedora.repo</filename>. This reduces your use of
- the public repositories. See <xref
- linkend="sn-creating-repository"></xref> for details.
- </para>
- <note>
- <title>Older Versions of <command>yum</command></title>
- <para>
- This tutorial documents the version of <command>yum</command>
- included with &FC; &FCVER;. Before version 2.11 of
- <command>yum</command> all repositories were defined in
- <filename>/etc/yum.conf</filename>, rather than in separate
- <filename>.repo</filename> files. Earlier versions also did not have
- the ability to use a <command>mirrorlist</command>.
- </para>
- </note>
- </section>
-
-
<section id="sn-yum-maintenance">
<title>Maintaining <command>yum</command></title>
<para>
@@ -966,9 +865,13 @@
<indexterm>
<primary>repositories, removing from yum</primary>
</indexterm>
+ <indexterm>
+ <primary>repository definition files, removing</primary>
+ </indexterm>
<para>
Set <command>enable=0</command> in a definition file to
- prevent <command>yum</command> using that repository.
+ prevent <command>yum</command> using that repository. Any
+ definition file with this setting is ignored.
</para>
<para>
To completely remove access to a repository:
@@ -1069,7 +972,7 @@
<command>yum</command>. Other types of files can be held in the
main directory without interfering with use of the repository. The
<filename>data/</filename> sub-directory and the XML files it
- contains are created and updated with the <command>createrepo</command> utility.
+ contains are created and updated with the <command>createrepo</command> utility
</para>
<note>
<title>Creating Repositories Requires an Extra Package</title>
@@ -1109,22 +1012,22 @@
</listitem>
</orderedlist>
</para>
-
<para>
The repository is now ready for use.
</para>
<para>
- If you are distributing packages that you have created yourself then you
- also need to make the GPG public key for your signature available, so
- that others can verify the packages. The simplest way to do this is
- to put the public key file on the same Website or FTP site as the repository.
+ Create a definition file for this new repository. If you are
+ distributing packages that you have created yourself then you also
+ need to make the GPG public key for your signature available, so that
+ others can verify the packages. The simplest way to make these files
+ available is to put the public key and repository definition files on
+ the same Website or FTP site as the repository.
</para>
<para>
- To create a repository of all the packages supplied with &FC;, copy all of the
- files from the <filename>RPMS/</filename> directories on the
- installation discs into a single directory. The
- <filename>TRANS.TBL</filename> files on the discs may be discarded.
- </para>
+ Creating a definition file is described in <xref
+ linkend="sn-writing-repodefs"></xref>. Packaging building is beyond the
+ scope of this document.
+ </para>
<tip>
<title>Repositories and Management Utilities</title>
<para>
@@ -1137,6 +1040,101 @@
</section>
+ <section id="sn-writing-repodefs">
+ <title>Repository Definition Files</title>
+ <indexterm>
+ <primary>repository definition files, creating</primary>
+ </indexterm>
+ <indexterm>
+ <primary>repository definition files, editing</primary>
+ </indexterm>
+ <para>
+ Create and edit repository definition files with a text editor.
+ Definition files are plain-text with a standard format:
+ </para>
+ <example id="yum-repo-format">
+ <title>Format of <command>yum</command> Repository Definition Files</title>
+ <programlisting>
+ <![CDATA[
+ [serverid]
+ name=Some longer name and description for this repository
+ baseurl=url://path/to/repository-copy-1/
+ url://path/to/repository-copy-2/
+ enable=(0 or 1)
+ gpgcheck=(0 or 1)
+ ]]>
+ </programlisting>
+ </example>
+ <para>
+ The <command>baseurl</command> must specify the complete URL for the root
+ directory of the repository, including the <command>http://</command>,
+ <command>https://</command> or <command>ftp://</command> prefix. You
+ may also specify a directory on your system, by using the prefix
+ <command>file://</command> in the <command>baseurl</command>.
+ </para>
+ <tip>
+ <title>Logging in to Protected Repositories</title>
+ <para>
+ To use a password-protected repository, include the correct username and
+ password in the <command>baseurl</command>. For example, <wordasword>ftp://user:password@myrepository.com/$releasever/mypackages/</wordasword>.
+ </para>
+ </tip>
+ <para>
+ If possible, list more than one directory or server that holds a copy of the
+ repository. This enables <command>yum</command> to use another repository if the first is
+ unavailable. By default <command>yum</command> randomly selects repositories from the
+ <command>baseurl</command> list. To force <command>yum</command> to use them in sequence,
+ add the option <command>failovermethod=priority</command>.
+ </para>
+ <para>
+ It is also good practice to use variables like <command>$releasever</command> in
+ the URL, rather than setting these to a specific value. The available
+ variables are listed on the <command>man</command> page for
+ <filename>yum.conf</filename>. Using variables enables the same
+ definition to function when your system is upgraded to a later version,
+ or if the configuration is copied to another machine.
+ </para>
+ <para>
+ A definition file is shown below that uses all of these features. In this example, copies of the
+ repository are held in the directory
+ <filename>/srv/software/&FED;/&FCVER;/mypackages/</filename> on the
+ system itself, in the directory
+ <filename>software/&FED;/&FCVER;/mypackages/</filename> on the Web
+ server <wordasword>www.my-repository.com/</wordasword>, and in the
+ directory <filename>pub/software/&FED;/&FCVER;/mypackages/</filename> on
+ the FTP server <wordasword>server.another-repository.org</wordasword>.
+ Here, <command>yum</command> will access the FTP server with the
+ username <command>yum-user</command> and the password <command>qwerty</command>.
+ The <command>failovermethod</command> ensures that
+ <command>yum</command> will check the copy on the local machine, before
+ trying the servers in sequence.
+ </para>
+ <example id="yum-repo-multidir-example">
+ <title>A <command>yum</command> Repository Definition File with Failover</title>
+ <programlisting>
+ <![CDATA[
+ [MyPackages]
+ name=Some packages for Fedora $releasever
+ baseurl=file:///srv/software/fedora/$releasever/mypackages/
+ http://www.my-repository.com/software/fedora/$releasever/mypackages/
+ ftp://yum-user:qwerty@anotherserver.another-repository.org/pub/software/fedora/$releasever/mypackages/
+ failovermethod=priority
+ enable=1
+ gpgcheck=1
+ ]]>
+ </programlisting>
+ </example>
+ <para>
+ To use a list of servers, substitute <command>mirrorlist</command> for
+ <command>baseurl</command>.
+ </para>
+ <para>
+ Set <command>gpgcheck=0</command> if it is necessary to disable signature
+ checking for the packages provided by this repository. Avoid
+ distributing or installing unsigned packages.
+ </para>
+ </section>
+
<section id="sn-updating-repository">
<title>Updating a Repository</title>
<indexterm>
@@ -1209,7 +1207,7 @@
use the proxy server <command>mycache.mydomain.com</command>, connecting to port <command>3128</command>.
</para>
<example id="profile-script-httpproxy">
- <title>Profile Settings for Using A Proxy Server</title>
+ <title>Profile Settings for Using a Proxy Server</title>
<programlisting>
<![CDATA[
# The Web proxy server used by this account
@@ -1225,7 +1223,7 @@
<command>yum-user</command> and the password <command>qwerty</command>:
</para>
<example id="profile-script-httpproxy-withpassword">
- <title>Profile Settings for A Secured Proxy Server</title>
+ <title>Profile Settings for a Secured Proxy Server</title>
<programlisting>
<![CDATA[
# The Web proxy server, with the username and password for this account
More information about the Fedora-docs-commits
mailing list