Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > 你知道么?Yum让你随时拥有最新的Fedora
【标  题】:你知道么?Yum让你随时拥有最新的Fedora
【关键字】:Yum,Fedora
【来  源】:http://www.cublog.cn/u/7893/showart.php?id=161214

你知道么?Yum让你随时拥有最新的Fedora

Your Ad Here
在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之前,我们要编辑/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要做的第一件事情是更新其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

如果现在需要一个并不是独立软件包的库文件,比如libc6.1-1.so.2,可以通过以下命令获取:

yum provides libc6.1-1.so.2

该命令会显示以下信息:

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: compat-libstdc++.i386 
0:7.3-2.96.118 from base matches with 
libstdc++-libc6.1-1.so.2 
Available package: compat-libstdc++.i386 
0:7.3-2.96.118 from base matches with 
libstdc++-libc6.1-1.so.2(GCC.INTERNAL) 
2 results returned 
Looking in installed packages for a providing package 
No packages found

Yum告知所查询的库位于compat-libstdc++的软件包中,并且现在还没有安装到本地系统上,所以只需要输入命令“yum install compat-libstdc++”即可完成该库的安装。如果要删除系统中的某软件,只需要输入以下命令:

yum remove nmap

该命令将会删除该软件包以及所有与之相关联的软件包。

在Yum升级或者安装软件时,它并不会自动清除磁盘缓冲区,所以要手动来完成这个过程。所幸的是这个过程非常简单,只需要输入以下命令即可:

yum clean all

该命令会删除所有缓冲区中的软件包以及所有不再需要的RPM header。如果要查看某一软件在本系统上的安装情况,可以使用以下命令:

yum info 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
Looking in Available Packages:
Looking in Installed Packages:
Name   : xchat
Arch   : i386
Version: 2.0.7
Release: 1.FC1.0
Size   : 2.77 MB
Group  : 应用程序/互联网
Repo   : Locally Installed
Summary: GTK+ IRC (聊天) 客户。
Description:
X-Chat 是一个 X 窗口系统和 GTK+ 的 IRC 客户。
X-Chat 使用简便并包括一个好看的界面。
 
 
 
 
小结

从上面的讨论可以看出,Yum是一个非常方便实用的升级工具,它可以很轻松地让用户的系统时刻处于最新的状态。事实上,Yum可以实现的功能还远不止本文讨论的内容。我们还可以用它来升级内核(升级至新版本的内核,而不是打补丁)。

本文以Fedora Core 1为例,如果机器上安装的是以前的Red Hat版本,也可以使用Yum来进行软件的更新和安装管理。方法是从以下位置下载相应的版本安装,即可如本文所述的方法一样对系统进行更新(甚至可以直接将老的Red Hat系统升级至Fedora):

http://www.linux.duke.edu/projects/yum
/download/2.0/yum-2.0.6-1.noarch.rpm
Red Hat Linux 8.0:
http://www.linux.duke.edu/projects/yum
/download/1.0/yum-1.0.3-1_80.noarch.rpm
Red Hat Linux 7.3:
http://www.linux.duke.edu/projects/yum
/download/1.0/yum-1.0.3-1_73.noarch.rpm

几个亚洲的软件仓库服务器镜像站点:

http://download.stmc.edu.hk/fedora/linux/core/ 
 ftp://download.stmc.edu.hk/fedora/linux/core/ 

 ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/ 
 rsync://ftp.sfc.wide.ad.jp/fedora/ 
 http://ftp.kddilabs.jp/Linux/packages/fedora/core/ 
 ftp://ftp.kddilabs.jp/Linux/packages/fedora/core/ 
 rsync://ftp.kddilabs.jp/fedora/ 
 ftp://ftp.riken.go.jp/pub/Linux/fedora/core/ 

 ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/ 
 rsync://ftp.kreonet.re.kr/fedora/core/ 
 ftp://mirror.hostway.co.kr/pub/fedora/
Fedora Core 5.0 用Xen虚拟Slackware:【上一篇】
把FC5作为开发环境:【下一篇】
【相关文章】
  • Fedora Core 5.0 用Xen虚拟Slackware
  • fedora core5下挂载ntfs分区
  • yum 的常用命令
  • fedora core 5下安装和配置 Java J2SE Development Kit(JDK)
  • yum的使用
  • fedora美化字体 解决字体发虚
  • Fedora3关机问题的解决
  • Fedora Core 4 Release 安装手记
  • 今天终于将Fedora Core 4的打印机HP 1020配置好了
  • CentOS的yum配置
  • 【随机文章】
  • Windows XP搜索技巧二则
  • sudo --允许其他的用户执行root命令
  • .NET FileUploader(C# and VB)[ASP.NET 大文件上传组件感冒奉献版]
  • MyEclipse3.X----MyEclipse4.X---MyEclipse5.X 注册机
  • 一个开源的PHP OA groupoffice
  • Jdom使用指南
  • Dissecting The Nutch Crawler -Summary: Nutch crawler extension points
  • 通过Spring.net来使用XCodeFactory生成的数据层!
  • 关于DWR与Servlet、安全
  • linux下虚拟光驱的产生
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.