首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 新手入门 >> Linux安装 >> 正文

Yum可以让你随时拥有最新的Fedora


  在Red Hat或者其它基于RPM的操作系统中安装或者更新软件时,我们经常会被一些莫名其妙的错误提示所困扰。即便是使用Red Hat提供的基于GUI的管理工具,这个问题也没有彻底解决。事实上,绝大部分的问题,都出在了各个软件包的关联性问题上。很显然,这是RPM软件包管理工具存在着一些不足。
  
  Yum是一个针对RPM操作系统的非常方便的自动升级和软件包管理工具。Yum会自动计算出程序之间的相互关联性,并且计算出完成软件包的安装需要哪些步骤。对于那些管理着大量机器的系统管理员来说,这意味着不需要通过RPM手工来升级每一台机器。在安装软件时,也不会再被那些关联性问题所困扰。
  
  在Red Hat中,有一个专门用于软件包升级的工具—Up2Date。在缺省情况下,它也是Fedora Core1中的RPM软件包管理工具。这是一个很直观的,基于GUI的软件包管理工具。遗憾的是,它在使用过程中经常会出错,并且也不够灵活。
  
  Yum可以代替Up2Date,或者作为其一个补充。实践发现,Yum不仅速度更快,更加可靠,而且还提供了很多其它工具所没有提供的功能,比如:
  
  ◆ 多个软件仓库
  
  ◆ 简单的配置文件
  
  ◆ 正确的依赖性检查
  
  ◆ somps.xml组支持
  
  ◆ 简单的界面
  
  如前所述,Yum不仅可以让系统上已经安装的软件包处于最新状态,也可用于直接安装软件包。现实中,经常会碰到的问题之一就是,无法找到足够的光盘存储一些需要的软件包。而使用Yum,可以直接从网上下载安装软件包。
  
  缺省情况下,Yum已经被安装到了Fedora Core 1中,如果系统没有安装这个工具,可以直接从光盘安装,也可以从以下位置下载Yum的RPM包,并安装:
  
  http://mirrors.kernel.org/fedora/core/1/i386/os/Fedora/RPMS/
  
  配置Yum
  
  在使用Yum之前,我们要编辑/etc/yum.conf配置文件,更改其中指明所使用的软件仓库服务器的位置。下面是缺省情况下该文件的内容:
  
  [main]
  cachedir=/var/cache/yum
  debuglevel=2
  logfile=/var/log/yum.log
  pkgpolicy=newest
  distroverpkg=fedora-release
  tolerant=1
  exactarch=1
  [base]
  name=Fedora Core $releasever - $basearch - Base
  baseurl=http://fedora.redhat.com/releases/fedora-core-$releasever
  [updates-released]
  name=Fedora Core $releasever - $basearch - Released Updates
  baseurl=http://fedora.redhat.com/updates/released/fedora-core-$releasever
  #[updates-testing]
  #name=Fedora Core $releasever - $basearch - Unreleased Updates
  #baseurl=http://fedora.redhat.com/updates/testing/fedora-core-$releasever
  
  缺省情况下,Yum使用的是Fedora Core1主下载服务器。因为使用这个服务器的人实在是太多,所以速度比较慢。如果需要的话,我们可以将Yum设置成其它的镜像站点。请到http://fedora.redhat.com/download/mirrors.html查看可用的镜像站点。
  
  一般来说,我们都会选择在地理上与自己比较接近的站点,这通常有利于加快下载的速度(当然情况也并不总是如此)。
  
  在本例中,我选择mirrors.kernel.org作为升级站点。以root身份编辑/etc/yum.conf文件,将[base]和[updates-released]章节的内容改成下面的内容:
  
  [base]
  name=Fedora Core $releasever - $basearch - Base
  baseurl=http://mirrors.kernel.org/fedora/core/$releasever/$basearch/os
  [updates-released]
  name=Fedora Core $releasever - $basearch - Released Updates
  baseurl=http://mirrors.kernel.org/fedora/core/updates/$releasever/$basearch
  
  当然,根据所选择的站点不同,上述章节的内容也不同。对于文件中的[updates-testing]部分则不用对其进行更改,因为一般来说,在升级和安装软件包时并不需要使用它。
  
  除了编辑yum.conf文件外,还需要更改/etc/sysconfig/rhn/sources文件,使用所选择的镜像站点来代替文件的内容:
  
  yum fedora-core-1 http://mirrors.kernel.org/fedora/core/1/i386/os
  yum updates-released http://mirrors.kernel.org/fedora/core/updates/1/i386
  
  使用Yum
  
  使用Yum要做的第一件事情是更新其RPM header(文件头)列表。每一个RPM都有一个header,其中包含了完整的文件列表、软件包描述、实现的功能和提供的库、所需要的东西以及有什么冲突。Yum正是使用这些信息来决定如何升级和安装软件包的。
  
  下面就来解决这个问题,输入以下命令:
  
  yum check-update
  
  运行这个命令,Yum将从yum.conf文件中指定的软件包服务器上下载当前的完整header文件列表。这个过程通常需要花费一定的时间,并且会有如下的一些显示信息:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed
  headers
  getting /var/cache/yum/updates-released
  /headers/pango-0-1.2.5-4.i386.hdr
  pango-0-1.2.5-4.i386.hdr
  100% |=======| 6.5 kB  00:02
  ......
  
  当上述的步骤完成之后,说明Yum已经下载完了所有的header文件。如果想让现在系统上安装的所有软件都处于最新的状态,只需使用以下命令:
  
  yum update
  
  Yum会将现在系统上安装的所有软件和目前的软件仓库服务器上的软件进行比较,比较完成后,它会给出一个有关细节的信息列表让用户确认,列表的内容如下所示:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  Resolving dependencies
  Dependencies resolved
  I will do the following:
  [install: kernel 2.4.22-1.2188.nptl.i686]
  [update: pango 1.2.5-4.i386]
  ......
  [update: XFree86-font-utils 4.3.0-55.i386]
  Is this ok [y/N]:y
  
  在本例中,Yum告诉我有76个可用更新(因为我进行测试的系统在安装完Fedora以后还从来没有更新过)。要安装所有这些更新,所要做的只是输入“y”即可。如果想更新的只是某一个特定的软件,可以将上述命令稍做修改:
  
  yum update nmap
  
  会看到如下所述的内容:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  No Packages Available for Update
  No actions to take
  
  在上述的例子中,Yum告诉我,我的系统上的nmap已经是最新版本了,因此无需进行任何升级。下面我们来看一看如何安装一个机器上没有的软件包,比如要安装的是XChat IRC客户端,只需要输入以下命令即可:
  
  yum install xchat
  
  可能会看到如下信息:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  Resolving dependencies
  Dependencies resolved
  I will do the following:
  [install: xchat 1:2.0.7-1.FC1.0.i386]
  Is this ok [y/N]:
  
  按“y”就可以进行软件的安装,会出现下列内容提示安装成功:
  
  Getting xchat-2.0.7-1.FC1.0.i386.rpm
  xchat-2.0.7-1.FC1.0.i386.
  100% |==========| 1.1 MB  01:51
  Running test transaction:
  Test transaction complete, Success!
  xchat 100 % done 1/1
  Installed: xchat 1:2.0.7-1.FC1.0.i386
  Transaction(s) Complete
  
  虽然我的机器上的namp已经不需要再进行升级,不过我还想为其安装一个GUI界面,但又不知道需要什么软件包,这时只需要输入以下命令:
  
  yum search nmap gui
  
  可能看到的内容如下:
  
  Gathering header information file(s) from server(s)
  Server: Fedora Core 1 - i386 - Base
  Server: Fedora Core 1 - i386 - Released Updates
  Finding updated packages
  Downloading needed headers
  Looking in available packages for a providing package
  Available package: redhat-config-printer-gui.i386
  0:0.6.79.5-1 from updates-released matches with
  redhat-config-printer-gui
  Available package: nmap.i386 2:3.48-1
  from base matches with nmap
  Available package: nmap-frontend.i386
  2:3.48-1 from base matches with
  Available package: nmap-frontend.i386
  2:3.48-1 from base matches with nmap-frontend
  ......
  2 results returned
  
  如
【责编:admin】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航