Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1018313
  • 博文数量: 243
  • 博客积分: 3053
  • 博客等级: 中校
  • 技术积分: 2975
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-02 21:11
文章分类

全部博文(243)

文章存档

2013年(2)

2012年(20)

2011年(5)

2010年(114)

2009年(102)

我的朋友

分类:

2009-06-07 13:54:47

7. 使用其他软件仓库

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

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

您必须手动配置 Fedora 3 系统使用 Fedora Extras,按照 的步骤做。对于 Fedora 1 和 Fedora 2 的附加软件包,请查看 。

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

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

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

[提示]文件扩展名约定

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

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

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

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

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

[注意]仓库和 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 帐号的密码。

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

su -c 'rpm --import http:///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/ 的子目录。


8. 从一个单独的软件包文件安装软件

使用仓库和标准的 yum 命令来定位并安装新软件,除非软件无法从任何一个仓库中找到。这种情况下,只能用 localinstall 功能来从软件包安装软件了。

[重要]必须有公钥

确保在安装没有仓库的软件之前,已经导入了软件来源的公钥。参见 。

要安装软件包 tsclient-0.132-4.i386.rpm,输入命令:

su -c 'yum localinstall tsclient-0.132-4.i386.rpm'

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

[注意]过去安装的软件将被更新

如果软件提供了已安装软件的新版本,yum 将更新已安装的软件。

如果软件包需要系统中未安装的软件,yum 会尝试利用已配置的仓库来满足依赖关系。您可能需要手动下载并安装额外的软件来满足所有的依赖关系。

[小心]手动维护已安装的软件

如果您安装了并非来自仓库的软件,当它有新版时,yum update 无法自动更新它。为保证您总是用着最新的软件,可以订阅一份电子邮件或 RSS 服务,这样当有新版时可以得到通知。


9. 调整 yum

yum 不需要任何日常的维护。为保证 yum 操作的速度,您应当禁用或删除那些不再需要的仓库。您还可以删除 yum 缓存中的文件,从而节省硬盘空间。

9.1. 禁用或删除软件来源

在仓库的描述文件中设置 enable=0 可以禁止 yum 使用这个仓库。yum 工具忽略包含这一设置的描述文件。

要彻底删除一个仓库

  1. /etc/yum.repos.d/ 目录中删除相关的文件。

  2. /var/cache/yum/ 目录中删除相关的缓存目录。

9.2. 清空 yum 缓存

默认情况下,yum 保留它下载的软件包和软件信息文件,这样将来可以复用它们,不必重新下载。要删除软件信息文件,使用命令:

su -c 'yum clean headers'

要删除缓存中所有软件包,使用命令:

su -c 'yum clean packages'

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

删除已缓存的文件,下次需要它们时,必须重新下载。这样,完成操作需要的时间会增加。



10. 有代理服务器时使用 yum

默认情况下,yum 通过 HTTP 连接到网络上的仓库。所有 yum HTTP 操作都使用 HTTP/1.1,与支持这一标准的 web 代理服务器兼容。您也可以连接到 FTP 仓库,并配置 yum 使用 FTP 代理服务器。squid 软件包同时提供了 HTTP/1.1 和 FTP 连接的代理服务。

[提示]为网络兼容性调整 yum

请参考 yum.conf 的手册页中,可修改的 HTTP 设置,以与非标准的 web 代理服务器兼容。或者,配置 yum 使用 FTP 代理服务器并访问 FTP 仓库。Fedora 仓库同时支持 HTTP 和 FTP。

10.1. 配置代理服务器访问

要设置所有 yum 操作都使用代理服务器,可以在 /etc/yum.conf 中设置代理服务器的信息。proxy 配置项必须设定为完整的代理服务器的 URL,包含 TCP 端口号在内。如果您的代理服务器要求用户名和密码,可以用 proxy_usernameproxy_password 配置项来指定它们。

这一配置使得 yum 使用代理服务器 mycache.mydomain.com,连接端口号 3128,用户名 yum-user,密码 qwerty

# 代理服务器 - proxy server:port number
proxy=
# 用于 yum 连接的帐户细节
proxy_username=yum-user
proxy_password=qwerty

例 3. 配置文件设定,以使用代理服务器

[注意]全局设置

如果您在 /etc/yum.conf 中定义代理服务器,所有 用户在使用 yum 时都会应用这个代理服务器设置。

10.2. 为单个用户配置代理服务器

要为一个特定的用户启用代理访问,只要将实例框中的文本行加入这个用户的 shell 配置中。对于默认的 bash shell,配置是在 ~/.bash_profile 中。这一设置使得 yum 使用代理服务器 mycache.mydomain.com,连接端口号 3128。

# 这个帐号使用的代理服务器
http_proxy=""
export http_proxy

例 4. 配置设定,为使用代理服务器

如果代理服务器需要用户名和密码,只要将它们加入 URL。要包含用户名 yum-user,密码 qwerty,添加设定:

# 这个帐号使用的代理服务器和用户名/密码
http_proxy=""
export http_proxy

例 5. 配置设定,针对安全的代理服务器

[注意]环境变量 http_proxy

环境变量 http_proxy 也为 curl 等其他工具所用。尽管 yum 可以识别大写或小写的 http_proxycurl 要求环境变量的名称是小写。




FC5中关于yum的几个小问题:
如果你在用yum的时候出现如下问题:
[root@localhost ~]# yum list
Loading "installonlyn" plugin
Setting up repositories
core                                                                 [1/3]
Cannot find a valid baseurl for repo: core
Error: Cannot find a valid baseurl for repo: core
或者出现
extras                                                               [2/3]
Cannot find a valid baseurl for repo: extras
Error: Cannot find a valid baseurl for repo: extras
或者
updates                                                              [3/3]
Cannot find a valid baseurl for repo: updates
Error: Cannot find a valid baseurl for repo: updates
这些都表明你的yum没有找到可以在线更新的url资源,你可以到你的/etc/yum.repos.d下将如下几个
文件fedora-core.repo,fedora-extras.repo,fedora-updates.repo用gedit等打开将[core],
[extras],[updates]下的baseurl前的#去掉,如:
#baseurl=前的#
阅读(1237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~