7. 使用其他软件仓库

Fedora 系统自动使用 Fedora Project 的仓库。其中包括 Fedora Extras,默认没有包含在 Fedora Core 中的软件包。

[注意]适于旧版本 Fedora Core 的 Fedora Extras 仓库

您必须手动配置 Fedora 3 系统使用 Fedora Extras,按照 http://fedora.redhat.com/projects/extras/ 的步骤做。对于 Fedora 1 和 Fedora 2 的附加软件包,请查看 http://www.fedora.us/

如果 Fedora Project 没有包含某个软件,软件的作者可能提供了一个单独的仓库。一些社区的成员也维护了适于 Fedora 的软件仓库。例如,http://www.jpackage.org/ 将流行的 Java 软件打包发布。

7.1. 添加仓库作为软件来源

要另外添加一个仓库,必须在您的系统中 /etc/yum.repos.d/ 目录下新建一个描述文件。仓库维护者一般会在网站上公布自己的仓库的描述文件。

[提示]文件扩展名约定

仓库描述文件的名称以 .repo 结尾。

您必须有 root 权限才能向这个目录添加文件。要复制描述文件 example.repo,输入命令:

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

在提示时,输入 root 帐号的密码。

每个仓库的描述文件应当包含一个 gpgkey 配置项。这一配置项指定了为验证这一仓库的软件包所用的公钥的地址。这个公钥在第一次安装这个仓库中的软件时会自动导入。如果配置文件中没有包含这个配置项,请参见 第 7.2 节 “手动认证软件来源”

[注意]仓库和 up2date 频道

从 Fedora 4 开始,yum 仓库被自动用作 up2date 频道。在 Fedora 3 和更老版本的系统中,您必须手动配置 up2date 使用这些频道。具体的步骤是修改文件 /etc/sysconfig/rhn/sources

7.2. 手动认证软件来源

要手动向 rpm 钥匙环中添加公钥,使用 rpmimport 功能。要导入文件 GPG-PUB-KEY.asc,输入命令:

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

在提示时,输入 root 帐号的密码。

您可以直接从一个网站上导入公钥。例如,要导入网站 www.therepository.com 上的文件 GPG-PUB-KEY.asc,使用命令:

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

在提示时,输入 root 的密码。

[重要]在 Fedora 3 中导入 Fedora 公钥

要在 Fedora 3 系统中向 rpm 钥匙环添加 Fedora 的公钥,使用命令 su -c 'rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora'

7.3. 理解仓库相容性

Fedora Extras 仓库提供了按照与 Fedora Core 相同的标准构建的软件。第三方软件总是会与 Fedora Project 软件包相容,如果不是,提供者会给出特别的说明。

在您将一个仓库添加为软件来源之前,一定要阅读仓库所属的网站上有关软件相容性的信息。不同的仓库提供者可能提供同一个软件的不同的不相容的版本。第三方仓库也可能提供 Fedora 仓库中软件的替代软件包。

替代软件包可能是软件的不同版本,功能与 Fedora Project 仓库中的版本不同。在将 Fedora Project 版本的软件包替换掉前,仔细考虑其中的好处和可能的不相容情况。

[小心]不相容的仓库

如果您配置您的系统使用了不相容的仓库,yum 会无法操作。

为一个版本的 Fedora 构建的软件包通常与另一个版本的 Fedora 不相容。提供者的网站总是会特别地说明所支持的 Fedora 版本。

[提示]旧版本的 yum 和当前的仓库

yum 2.1 发布时,仓库索引的数据格式发生了变化。在 Fedora 3 中即是这一格式。仓库提供者应当说明所支持的 Fedora 版本。要确认一个未说明的仓库是否与新版本的 yum 相容,只要查看它是否有一个叫做 repodata/ 的子目录。