红联Linux门户
Linux帮助

yum终极加速

发布时间:2009-02-18 13:30:54来源:红联作者:bt2oo7
[i=s] 本帖最后由 bt2oo7 于 2009-2-24 17:47 编辑 [/i]

不知道是否火星了些,高手飘过。
这篇文章转载自fedora中文用户组论坛http://bbs.fedora-zh.org/showthread.php?t=1028,确实有效,速度经常高达200+K,昨晚yum了下KDE,289M不到半小时搞定,快得我都不习惯了。
废话少说,以下是原文:
很多人都觉得Fedora的yum很糟糕----速度慢、依赖解决得不好和容易出问题。其实这些都是一些小问题。只要我们稍加动手,yum的问题就能迎刃而解。 yum速度慢?yum speed=yum+fastestmirror+axelget(+presto)
对于许多人来说,默认的yum速度是很慢的。为什么呢?默认的时候,yum是通过连接到官方的服务器列表,并随机从中选取一个服务器使用的。鉴于中 国大陆的公网是没有Fedora的yum服务器(教育网有yum服务器,但是同步比较迟。),因此速度想提高都很难。所以只能另辟路径为yum提速。
安装yum-fastestmirror插件,从服务器列表中选取最快的服务器。这个办法通常都很有效,能够选取到最快的服务器,从而实现提速。先在终端把用户切换到root,然后输入命令:
yum install yum-fastestmirror

稍等片刻即可安装完成,或者在“Add/Remove Software”点击安装皆可。
但是fastestmirror选取的服务器未必是最快的,因为fastestmirror插件是通过测定ping延时最短来计算哪个服务器最快, 实际上这种方法可能会选取到ping延时很低但是速度并不是很高的服务器。所以我们还有另外的一个办法,就是yum-axelget插件。
默认的yum是单线程下载的。yum-axelget插件是调用系统中的axel下载软件,增加下载线程从而提高速度。这个方法更有效,更快捷,而 且会根据软件包的大小自动设定线程数,基本避免了因为线程数过多而导致服务器拒绝下载的问题。点击打开终端,把用户切换到root,然后输入命令:
rpm -ivh http://rpm4fc-cn.googlecode.com/file....fc10.i386.rpm http://rpm4fc-cn.googlecode.com/file...c10.noarch.rpm

发件人 Linux

稍等片刻即可,因为这不是Fedora官方的插件,所以无法在“Add/Remove Software”安装。
如果是这样的速度还不能令你满足,怎么办?yum-presto插件还可以进一步提速……presto插件会大幅度提升更新安装包的速度。用户只需 要下载每一个软件的增量内容(用drpm打包而成),在本地计算机重新生成一个完整的软件包再安装。通常增量更新只有很小的下载量,因而即使很大量的内容 要更新,所耗费的时间必然比传统方法要少很多。不过presto系统还在测试之中,而且只有一个服务器提供presto更新,速度也不怎么样。目前 presto只提供Fedora 9、Fedora 10和Fedora Rawhide三个版本的更新。建议有兴趣的朋友可以参考这里:https://hosted.fedoraproject.org/presto/
安装yum-presto插件:
yum install yum-presto

yum的依赖问题由来已久,当然是有设计上的问题,但是也是有Packager的问题,没有及时把要更新的相关依赖移动到updates的软件库里面去(或许是Packager认为该软件包不够稳定吧!),所以才会造成这样的问题。
解决的方法有两种:
一、如果不是很重大的更新,稍等几天,等Packager把全部软件包从updates-testing移动到updates里去,然后再去更新。
二、在更新或者安装软件包的时候,直接启用updates-testing软件库,虽然是testing,但是软件包还是比较稳定的,所以启用了问题也不会很大。当然是关键的软件包还是要小心为上!呵呵!在终端切换到root用户,然后输入命令:
yum update --enablerepo=updates-testing
yum install xxx --enablerepo=updates-testing //xxx是软件包的名字

这样,问题就能迎刃而解了。
yum更新出了问题下载不了软件包怎么办?轻按键盘的Ctrl+C一下(两下会直接取消当前运行任务),即可跳过当前正在下载的软件包,把下面的软 件包先下载,到最后才把先前没有下载的软件包再下载。安装软件的时候被迫退出当前人物或者误关闭终端怎么办?不怕!yum是支持断点续传的,只要重复上一 条命令即可从停止处开始下载,而不是重新开始下载!
结语:对于Fedora熟手来说,直接指定一个速度快的服务器用作更新和安装软件是最适合不过的。但是对于新手来说,修改yum的配置文件不是一件容易的事情。因此我仅希望通过这篇文章来帮助Fedora新手,吸引更多的人来使用Fedora和参与Fedora项目。
PS:
yum上的KDE更新到了4.2,确实比4.1好看了很多,也改进了4.1中的一些不爽的问题
文章评论

共有 10 条评论

  1. waleydeng 于 2009-03-03 09:37:46发表:

    学习过,马上去试试~~

  2. batifan1 于 2009-03-02 13:38:06发表:

    不好意思,因为网络比较慢多发了一遍,版主删掉吧,不好意思了

  3. batifan1 于 2009-03-02 13:35:54发表:

    我使用了下面一种方法,也可以提高yum的速度,默认情况下yum只有几K的速度,但是照这样修改能达到60-70K.偶尔也能达到100多K.

    -------------------------
    修改/etc/yum.repos.d/fedora.repo文件,看到第5行
      mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
      在它后面加上 &country=us,使它成为
      mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch&country=us
      同样的方法修改/etc/yum.repos.d/fedora-updates.repo文件。
    ---------------------------

  4. batifan1 于 2009-03-02 13:34:31发表:

    我使用了下面一种方法,也可以提高yum的速度,默认情况下yum只有几K的速度,但是照这样修改能达到60-70K.偶尔也能达到100多K.

    -------------------------
    修改/etc/yum.repos.d/fedora.repo文件,看到第5行
      mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
      在它后面加上 &country=us,使它成为
      mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch&country=us
      同样的方法修改/etc/yum.repos.d/fedora-updates.repo文件。
    ---------------------------

  5. 一入江湖岁月催 于 2009-02-27 21:18:10发表:

    其实感觉目前的现实是 yum还没处于实用的阶段

  6. zhangzhaoi 于 2009-02-24 22:05:31发表:

    网站的那个链接貌似不能用

  7. bt2oo7 于 2009-02-24 17:46:44发表:

    ls,你要什么连接呀!
    貌似都没问题呀

  8. szwzj 于 2009-02-22 22:58:54发表:

    楼主能不能把那个链接再发一下啊 ,我找不到那个插件阿 谢谢了

  9. you_me 于 2009-02-18 17:45:47发表:

    已经试过,的确很NB的速度,推荐!

  10. qvooqi 于 2009-02-18 16:39:39发表:

    收藏了