许多人反应的Fedora的yum更新速度太慢。至少相对Ubuntu的apt-get来说,其实原因可能有很多,我个人觉得这并不能说是yum本身的问题(坚持认为yum本身有问题不如apt-get的人,当然也可以自己在Fedora上安装使用apt-get,现在yum上已经有了能更新rpm的apt-get了)。最主要的原因大概是yum仓库服务器地理位置的问题,Fedora之前似乎有一个国内镜像了,但是好像还没有正常投入使用。(不知道现在怎么样了?)
自然也有许多方法加速yum的,例如自己找一些比较快的服务器写进yum的配置文件中,而不是让yum自己去找它认为最快的连接,因为yum的这个算法似乎有些问题,它并不总能(或者说一般都不能)准确地找出最快的连接然后从该连接更新系统。这个可能需要自己去尝试了,尝试完之后,可能保存下来,以后都可以使用。
还有的如这篇文章所介绍的 ,使用axel,让yum使用多线程现在更新包,也能让更新速度提高不少。
而这里我想要介绍的,对于使用SUSE Linux的人来说应该是不会陌生的,使用yum-presto更新系统。presto项目的目的是使用增量RPM包来减少下载量,从而从本质上加快下载速度。所谓增量RPM(Delta RPMs,Delta符号在数学中即为增量的意思),是从一个版本到另外一个版本之间增加的二进制数据的打包,项目会利用增量RPM重建RPM包并更新软件,这样就不需要像原来那样下载整个rpm包了,仅仅下载新的包比旧的包中间多出来的那部分数据,带宽会得到不少的节省。
但是presto本身并能节省带宽,它的作用需要一个具备Delta RPMs包的yum仓库的支持,现在官方并未正式提供Delta RPMs,需要自己指定第三方的yum仓库。
安装
yum install yum-presto
安装之后这个查检默认启用的了。需要手动启用或者禁用它,你可以在yum后加-disableplugin=presto暂时禁用它,或者-noplugins禁用所有插件。如果想把这个设置持久化,可以修改/etc/yum/pluginconf.d/presto.conf中的enable值。
安装之后,你需要修改你的repo文件,以使presto真正能够用起来。
配置Presto仓库
Fedora Rawhide:修改repo文件中的baseurl,使它指向以下地址:
i386: baseurl=http://lesloueizeh.com/devel/i386/development
Fedora 8:修改/etc/yum.repos.d/fedora-updates.repo中的baseurl,使之指向以下地址(红色部分),同时把mirrorlist一行注释掉:
i386: baseurl=http://lesloueizeh.com/f8/i386/updates
x86_64: baseurl=http://dl.anmar.eu.org/repos/f8/updates-x86_64
Fedora 7 :增加”deltaurl=”一行,具体如下:
i386: deltaurl=http://lesloueizeh.com/f7/i386/updates
x86_64: deltaurl=http://lesloueizeh.com/f7/x86_64/updates
好了,体验presto的”极速”吧 !
附注
据说yum-presto原本是Fedora 8中应该具备的特性的了,但是现在跳票至Fedora 9了,尽管 如此,这个项目现在已经基本可用,而在Fedora 7和8的yum仓库中,也确实存在这个软件包了。相信Fedora的更新真正变快的时间,指日可待了!
gulch 于 2008-12-23 16:50:27发表:
three part also
yudianzhiyu 于 2008-08-10 13:13:39发表:
那个repo文件中似乎是分成三部分的:updates ,updates-debuginfo,updates-sources三部分,每个部分的baseurl都要改吗?
sswalkman 于 2008-04-07 17:16:40发表:
首先多谢分享,今天看了fedora9的特性列表,装了个PackageKit和这个yum-presto。PackageKit在fedora 8中因为SELinux不可用。后来设置了一下就成了更新提示的,其他的功能没用上。
后面这个倒是省了不少流量,可是它就一个仓库,又没有镜象,有时候下起来比原来都还慢了。不过如果有很大的更新包,还是建议用这个方法,我一般都是有时间在早上升级。快的话,提示需要下载几百mb的一般实际上下载的可能只是几十mb.这样以来就很快了。
[ 本帖最后由 sswalkman 于 2008-5-5 10:09 编辑 ]