initCommon(); $template->displayHeader(); ?>

7. Configuring Access to Software Repositories

Fedora systems automatically use the Fedora Project repositories. These include Fedora Extras, the default source of packages for software that is not included with Fedora Core.

If the Fedora Project does not supply packages for a product, the manufacturer may provide or recommend a separate repository. Members of the community also maintain repositories to provide packages for Fedora systems. For example, http://www.jpackage.org/ distributes popular Java software as packages.

7.1. Adding a Repository as a Package Source

To add an extra repository, place a definition file in the /etc/yum.repos.d/ directory on your system. Package providers make the definition files for their repositories available on their web sites.

[Tip]Definition File Extension

The names of repository definition files end with .repo.

You must have root access to add a file to the definitions directory. To copy the definition file example.repo, type this command:

su -c 'cp example.repo /etc/yum.repos.d/'

At the prompt, enter the password for the root account.

The configuration file for each repository should include a gpgkey setting. This setting specifies the location of a public key that verifies the packages provided by that repository. This public key is automatically imported the first time that you install software from the repository. If the configuration file provided does not include this setting, refer to Section 7.2, “Manually Authorizing Package Sources”.

7.2. Manually Authorizing Package Sources

To manually add a public key to your rpm keyring, use the import feature of the rpm utility. To import the file GPG-PUB-KEY.asc, type the following command:

su -c 'rpm --import GPG-PUB-KEY.asc'

At the prompt, enter the password for the root account.

You may also import public keys directly from a web site. For example, to import the file GPG-PUB-KEY.asc on the web site www.therepository.com use this command:

su -c 'rpm --import http://www.therepository.com/GPG-PUB-KEY.asc'

At the prompt, enter the root password.

[Important]Importing the Fedora Key on Fedora Core 3

To add the Fedora public key to the rpm keyring on Fedora Core 3 systems, run the command su -c 'rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora'.

7.3. Understanding Repository Compatibility

The Fedora Extras repository provides packages which are built to the same standards as Fedora Core packages. Third-party packages should be compatible with these Fedora Project packages, unless the provider specifically states otherwise.

Always read the web site of the repository for information on package compatibility before you add it as a package source. Separate repository providers may offer different and incompatible versions of the same software. Third-party repositories may also provide alternative packages for software that is included in Fedora repositories.

Alternative packages may contain versions of the software that function differently from the version in the Fedora Project packages. Determine the benefits and potential incompatibilities before replacing Fedora Project packages with alternative versions.

[Caution]Incompatible Repositories

If you configure your system to use incompatible repositories yum operations may fail.

Packages built for one version of Fedora are usually not compatible with other versions of Fedora. The web site of the provider should specifically state which versions of Fedora they support.

[Tip]Old Versions of yum and Current Repositories

The data format for repository indexes changed with version 2.1 of yum. This was the version supplied with Fedora Core 3. Repository providers should specify the versions of Fedora Core that they support. To confirm that an unlabeled repository is compatible with current versions of yum, check that it has a sub-directory called repodata/.

7.4. Disabling or Removing Package Sources

Set enable=0 in a definition file to prevent yum from using that repository. The yum utility ignores any definition file with this setting.

To completely remove access to a repository:

  1. Delete the relevant file from /etc/yum.repos.d/.

  2. Delete the cache directory from /var/cache/yum/.

displayFooter('$Date: 2007/08/06 04:45:58 $'); ?>