Red Hat/Fedora Linux有提供一个非常棒的系统升级机制Red Hat Network,当Red Hat公司修正或发表新的RPM程序套件时,如果您想要将某些程序升级成新的RPM套件,只要连接到网站,该网站就会自动侦测系统中应该更新的RPM套件,并自动下载安装替您更新,这个功能非常类似Windows系统的Windows Updates在线升级功能。虽然Red Hat Network有这种好处,但这个服务是专为商业用户而设的,因此向使用者收费亦是必然的,付费会员是年缴60元美金,但由于在线升级服务的质量良好,全球有大量的使用者付款向Red Hat购买这种服务。
但是对于一般不是商业的用户,也可以登入Red Hat Network网站并注册一个账号使用在线升级机制。但是自从Red Hat公司于2003年9月宣布不再发行Red Hat Linux免费版本之后,所有Red Hat Linux爱好者迫切想知道如何继续使用Red Hat Network这个在线升级机制?Red Hat的CEO Mathew Szuilk为Red Hat的爱用者解释往后Red Hat Network的运作机制,Red Hat公司指出使用Fedora Core并搭配YUM (YellowDog Updater, Modified) 即可免费的继续使用Red Hat Network下载最新修补软件。
YUM的全名是YellowDog Updater, Modified,YellowDog ( ) 是一个Linux发行套件的名称,YellowDog Updater (YU) 是YellowDog这个Linux套件自行开发的RPM软件套件管理系统,这个YU系统的特色是可以配合网络上的软件数据库直接进行软件的更新和移除,后来美国Duke University将之改良,所以改命名为YellowDog Updater, Modified (YUM),yum可以自动更新/移除RPM套件,它会自动计算相依性,判断哪些RPM套件应该安装而哪些不必安装,正因为yum的出现可以解决安装 RPM套件时烦人的相依性 (dependency) 问题并且可直接透过网络进行系统升级,所以Red Hat与Fedora社群将yum纳入共同开发的Fedora Core Linux之内,这个yum软件于是成为了Red Hat Network更新软件系统up2date的骨干,所以您可以很容易地透过yum自动升级Fedora Code Linux系统。
取得 yum
基本上因为yum与up2date是Fedora Core预设的在线升级系统,所以您的Linux系统已经预设安装了。如果您的系统还未安装这两个套件,可以从Linux DVD安装光盘的Fedora/RPMS/ 取得yum-2.1.11-3.noarch.rpm、up2date-4.3.47-5.i386.rpm以及up2date-gnome- 4.3.47-5.i386.rpm。或者从YUM的官方网站 edu/ projects/yum/ 下载最新版的YUM。
u yum官方网站:
安装 yum
# rpm -ivh yum-2.1.11-3.noarch.rpm # rpm -ivh up2date-4.3.47-5.i386.rpm # rpm -ivh up2date-gnome-4.3.47-5.i386.rpm
设定yum服务器
要利用yum自动升级Linux系统之前,您必须先设定可供您索取RPM档案的yum服务器。因为yum升级系统并没有另外发展新的通讯协议,它下载档案的方式主要是透过http与ftp通讯协议来取得档案,也就是说放置Fedora Core Linux更新档案的WWW站或者FTP站都可以当作您的yum服务器。因此找一台离您较近的服务器会让更新进度快速的完成,否则内订的服务器http: //download.fedora.redhat.com 因为远在美国,我们要透过它来升级系统,只能说慢的可以。而要寻找一台可供信赖且距离近的yum服务器,最简单的方法就是从Fedora官方网站 download /mirrors.html查出全球服务器的mirror列表,然后找一台离您最近的服务器,再将它设定到 /etc/yum.conf档案中即可。底下就是几个离我们较近或速度较快的服务器:
国外 yum 服务器
安装光盘套件
升级套件
安装光盘套件
升级套件
国内yum服务器
以mirrors.kernel.org 为例,您必须先知道该FTP站将Fedora Project官方更新的RPM套件放置在哪一个目录底下,该目录通常是以Linux发行套件的版本名称如fedora为字眼,然后再搭配版本号码、系统平台如i386,最后以updates为字眼,您只要一层一层找下去最后只要『找到放置header/目录那一层的网址』即可,因为yum得靠 header/目录下的header.info档案找到您所要安装RPM套件的位置,例如:笔者已经替您找好某台服务器的路径了,您可以使用浏览器到下列网址看看,是否有header/目录。
(安装光盘套件)
(升级套件)
当然您也可以选取其它的FTP站,并不一定要使用笔者设定的FTP站,而且将来若yum服务器上的路径有所更改,您要记得使用FTP程序或者网页浏览器到该 FTP站或网站上确定正确路径之后,再设定到yum.conf档案中即可。再来请编辑 /etc/yum.conf设定档:
# gedit /etc/yum.conf
yum.conf 的内容共分成四段:base、updates-released、update-testing、以及development,base是定义 Fedora安装光盘套件的位置,updates-released是定义Fedora升级套件的位置,后面update-testing与 development则是测试与发展中套件的位置。我们只要定义base与updates-released的网址即可,因为update- testing与development套件可能还有错误会造成系统不稳,除非您是开发测试人员,否则不用安装这些套件。再来请把原先系统预设的服务器路径以 # 批注掉,然后改填入离您较近的服务器即可,请将base与updates-released段落中baseurl= 后面的网址替换成:
(安装光盘套件)
(升级套件)
修改完网址并存盘之后即完成 /etc/yum.conf的设定,完整的设定档如下:
/etc/yum.conf设定档内容
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1
# 以上段落为内订设定,不需更改
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
# 告诉您可以直接将YUM升级网址放在此,或者另存成档案放在
/etc/yum.repos.d目录
# 为了方便性,您可以直接填写在 /etc/yum.conf 即可。
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=
# 请加入此段Fedora安装套件的网址描述
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=
# 请加入此段Fedora升级套件的网址描述
# 底下testing与development的网址不用理会,维持批注掉即可。
#[updates-testing]
#name=Fedora Core $releasever - $basearch - Unreleased Updates
#baseurl=
/core/updates/testing
#[development]
#name=Fedora Core $releasever - Development Tree
#baseurl=
/core/development/$basearch/
在此教您一个小技巧,如果网址太长很难输入,建议您先利用ncftp或者网页浏览器先连接到您预备设定为yum server的FTP站,然后确认其放置Fedora安装套件的位置,以及Fedora升级套件的位置之后,然后执行pwd显示目前所在位置,这样就可以轻易地取得整个网址了。
启动 yum 升级系统
# yum check-update (检查需要升级的套件)
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
iiimf-protocol-lib-1-11.4 100% |===================| 5.3 kB 00:00
xorg-x11-xauth-0-6.7.0-5. 58% |======== | 40 kB 00:01 ETA
第一次执行yum check-update必须花比较久的时间,因为yum必须检查服务器上所有header数据,请耐心等候。完成之后,往后第二次执行 yum check-update就会很快了,因为数据已经储存到您的系统上。而在使用yum升级系统之前,基于系统安全性考虑,yum需要所有RPM套件的 GPG认证金钥,认证升级RPM套件的完整性之后,才能安全地帮您自动升级系统,所以您必须先加载Fedora DVD安装光盘的RPM-GPG-KEY与RPM-GPG-KEY-fedora这两个GPG认证金钥档案,才能执行yum update自动升级所有RPM套件。
# rpm --import RPM-GPG-KEY
# rpm --import RPM-GPG-KEY-fedora
# yum update (自动升级所有RPM套件)
[update: mkisofs 8:2.01-0.a27.4.FC2.1.i386]
[update: rsync 2.6.2-1.i386]
[update: kdelibs 6:3.2.2-6.i386]
[update: xorg-x11-libs 6.7.0-5.i386]
[update: nfs-utils 1.0.6-22.i386]
[update: xorg-x11-libs-data 6.7.0-5.i386]
[update: xorg-x11-devel 6.7.0-5.i386]
Is this ok [y/N]: y (最后询问您是否升级这些RPM套件?)
检查完header之后,直接执行yum update,yum程序会列出所有需要升级的RPM套件名称,然后询问您要不要更新,等您按y之后,系统就会自动升级了,您完全不需要自己抓取任何的 RPM套件,以及理会烦人的RPM套件相依问题,系统会很顺利地升级服务器上的所有RPM套件。
另外yum程序已经自动在系统的 /etc/cron.daily 目录中放有yum.cron,每天会定时帮您自动执行yum系统升级程序,自动检查并更新服务器上update的新RPM套件,所有的yum执行过程也都会记录在 /var/log/yum.log中,所以您的Linux系统安装yum之后,再也不用为系统安全漏洞而要更新哪些RPM套件而烦恼了,yum会永远默默的在背后替您更新成最新的Linux系统。
最后附上“YUM 命令使用方法“:
yum除了可以用来升级整个Fedora Core Linux系统之外,如果您不想每次都要上网去下载RPM档案会来安装,您也可以透过yum来帮您安装一个小软件,并帮您解决RPM套件的相依性问题。
# yum install net-snmp-utils
使用 yum install 单独安装一个RPM套件。关于服务器上的package名称,您可以先执行 yum list | more 来查询。
# yum list
查询服务器上的RPM套件名称。
# yum remove expat-devel
使用 yum remove 则会移除Linux系统上已经安装的RPM套件。您可以先执行 yum list installed | more查看系统已经安装的套件名称。
# yum list installed
查询系统已安装的RPM套件名称。
# yum clean packages
所有使用yum指令安装的RPM套件,都会从服务器下载回来并在 /var/cache/yum目录中,如果您觉得这些已经安装好的RPM套件已经无用了,可以执行yum clean packages把所有暂存的RPM档案都清除掉。
# yum clean headers
清除yum从服务器下载的header/ 目录与header.info档案。
# yum clean all
文章来自:
http://blog.csdn.net/dycwahaha/archive/2007/12/01/1911228.aspxhttp://huangbao.blog.51cto.com/725279/152657