LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2754|回复: 9

yum优化,以Fedora 8为例。

[复制链接]
发表于 2008-3-11 23:03:47 | 显示全部楼层 |阅读模式
本人是菜鸟,也不是从事IT方面的工作。我这篇帖子,允许不经我同意就可以被转载、修改和再发布,呵呵。

我优化yum的知识,主要来源于以下2篇链接文章:
http://www.linuxsir.cn/bbs/showthread.php?t=290570
http://www.linuxsir.cn/bbs/showt ... &highlight=axel
感谢wq1977、感谢亚森罗平、以及所有帖子里、帖子外出现的朋友。
我这篇的东西只是整理粘贴一下。要深入理解的同学,请详细看上面链接文章。

小提示:
1、axel插件是wq1977大侠开发的,国货哦。
http://www.linuxsir.cn/bbs/showthread.php?t=290570&highlight=
2、另有shawn.p.huang大侠开发了一款中文输入法,目前在快速完善升级中,现已率先加入Fedora官方源,详情看这里
http://www.linuxsir.cn/bbs/thread319016.html
3、Fedora 9 将通过yum-presto插件实现差量下载,也就是说只下载旧包与新包的差异部分。效率几乎提升10倍。



以Fedora 8 、axel 1.0b 为例,以root权限操作,开始。
================================================
一、安装yum-fastestmirror
yum install yum-fastestmirror

二、安装axel
注:我个人遇到的bug是假如yum(安装axel并启用后)要下载10个文件,第6个就中止了,那么再运行yum命令时,需要10个都重新下载。但这时我会在axelget.conf中把enabled值修改临时禁用axel,免得重复下载已完成的包。
1、获得axelget.conf
cd /etc/yum/pluginconf.d/
wget http://wininlinux.googlepages.com/axelget.conf

2、获得axelget.py
cd /usr/lib/yum-plugins/
wget http://wininlinux.googlepages.com/axelget.py

3、获得axel源码和安装。
cd /usr/local/src
wget http://wilmer.gaast.net/downloads/axel-1.0b.tar.gz
tar zxvf axel-1.0b.tar.gz
cd axel-1.0b
./configure --i18n=1
make
make install

三、优化fedora.repo与fedora-updates.repo文件
官方的镜像列表http://mirrors.fedoraproject.org/publiclist/Fedora/$releasever/$basearch/
优化前请做好备份。
tar jcvf MyReposBak.tar.bz2 /etc/yum.repo.d/
chmod 444 MyReposBak.tar.bz2

亚森罗平兄的fedora.repo文件的头一段:
  1. [fedora]
  2. name=Fedora $releasever - $basearch
  3. failovermethod=priority
  4. #baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  5. baseurl=  
  6.           http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  7.           http://mirrors.usc.edu/pub/linux/distributions/fedora/linux/releases/$releasever/Everything/$basearch/os/
  8.           http://mirrors.cat.pdx.edu/fedora/linux/releases/$releasever/Everything/$basearch/os/         
  9.           http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
  10.           ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
  11.           http://mirror.aarnet.edu.au/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  12.           http://mirror.internode.on.net/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  13.           http://gulus.usherbrooke.ca/pub/distro/fedora/linux/releases/$releasever/Everything/$basearch/os/
  14.           http://mirror.karneval.cz/pub/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  15.           http://sunsite.mff.cuni.cz/MIRRORS/fedora.redhat.com/linux/releases/$releasever/Everything/$basearch/os/
  16.           http://ftp-stud.hs-esslingen.de/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  17.           http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  18.           http://mirror.fraunhofer.de/download.fedora.redhat.com/fedora/linux/releases/$releasever/Everything/$basearch/os/
  19.           http://ftp.uni-bayreuth.de/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  20.           http://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  21.           ftp://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/$releasever/Everything/$basearch/os/
  22.           http://limestone.uoregon.edu/ftp/fedora/linux/releases/$releasever/Everything/$basearch/os/
  23.           http://fedora.mirror.iweb.ca/releases/$releasever/Everything/$basearch/os/
  24.           ftp://ftp.cse.buffalo.edu/pub/Linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  25.           http://mirror.cc.vt.edu/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  26.           http://mirrors.tummy.com/pub/fedora.redhat.com/fedora/linux/releases/$releasever/Everything/$basearch/os/
  27.           http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/os/
  28.           http://www.gtlib.gatech.edu/pub/fedora.redhat/linux/releases/$releasever/Everything/$basearch/os/
  29.           http://ftp.linux.ncsu.edu/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  30.           http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
  31.           ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
  32.           http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  33.           http://ftp.rhnet.is/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  34.           http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  35.          
  36.          
  37. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
  38. enabled=1
  39. gpgcheck=1
  40. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
复制代码

亚森罗平兄的fedora-updates.repo文件的头一段
  1. [updates]
  2. name=Fedora $releasever - $basearch - Updates
  3. failovermethod=priority
  4. baseurl=
  5.           http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
  6.           http://mirrors.usc.edu/pub/linux/distributions/fedora/linux/updates/$releasever/$basearch/
  7.           http://mirrors.cat.pdx.edu/fedora/linux/updates/$releasever/$basearch/         
  8.           http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
  9.           ftp://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
  10.           http://mirror.aarnet.edu.au/pub/fedora/linux/updates/$releasever/$basearch/
  11.           http://mirror.internode.on.net/pub/fedora/linux/updates/$releasever/$basearch/
  12.           http://gulus.usherbrooke.ca/pub/distro/fedora/linux/updates/$releasever/$basearch/
  13.           http://mirror.karneval.cz/pub/linux/fedora/linux/updates/$releasever/$basearch/
  14.           http://sunsite.mff.cuni.cz/MIRRORS/fedora.redhat.com/linux/updates/$releasever/$basearch/
  15.           http://ftp-stud.hs-esslingen.de/pub/fedora/linux/updates/$releasever/$basearch/
  16.           http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/updates/$releasever/$basearch/
  17.           http://mirror.fraunhofer.de/download.fedora.redhat.com/fedora/linux/updates/$releasever/$basearch/
  18.           http://ftp.uni-bayreuth.de/linux/fedora/linux/updates/$releasever/$basearch/
  19.           http://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
  20.           ftp://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/updates/$releasever/$basearch/
  21.           http://limestone.uoregon.edu/ftp/fedora/linux/updates/$releasever/$basearch/
  22.           http://fedora.mirror.iweb.ca/updates/$releasever/$basearch/
  23.           ftp://ftp.cse.buffalo.edu/pub/Linux/fedora/linux/updates/$releasever/$basearch/
  24.           http://mirror.cc.vt.edu/pub/fedora/linux/updates/$releasever/$basearch/
  25.           http://mirrors.tummy.com/pub/fedora.redhat.com/fedora/linux/updates/$releasever/$basearch/
  26.           http://mirrors.kernel.org/fedora/updates/$releasever/$basearch/
  27.           http://www.gtlib.gatech.edu/pub/fedora.redhat/linux/updates/$releasever/$basearch/
  28.           http://ftp.linux.ncsu.edu/pub/fedora/linux/updates/$releasever/$basearch/
  29.           http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
  30.           ftp://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
  31.           http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/updates/$releasever/$basearch/
  32.           http://ftp.rhnet.is/pub/fedora/linux/updates/$releasever/$basearch/
  33.           http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/$basearch/
  34.          
  35. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
  36. enabled=1
  37. gpgcheck=1
  38. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
复制代码


优化的方法:测试列表http://mirrors.fedoraproject.org/publiclist/Fedora/哪个站点最快。
懒方法是一个个域名ping,把最快的镜像放在上面;
最好的方法是下载一个较大文件对比下载速度。
我优化后的(深圳公网ADSL 2M)平时可达50~130KB/s,快的时候可以达峰值180~210KB/s。根据使用经验,一般以下几个源比较快:
mirror.pacific.net.au                ——稳定且速度快,但此站点负担了十多个发行版,任务沉重,所以与redhat主站同步较慢。
opensource.nchc.org.tw         ——台湾省的,时快时慢。
ftp.iij.ad.jp                              ——小日本的,以前好快,现在好像降下来了,不知咋整地。
fedora.candishosting.com.cn  ——在国内,就在北京,速度快,但不完整,只用于fedora.repo的[fedora]一段。

如果想临时禁用某个源可以在repo文件中前面加“#”,例如这样:(假如运行yum出现包冲突,可能是与redhat主站同步不完全造成的,等几天再更新,或者禁用到只剩下redhat主站)
  1. [fedora]
  2. name=Fedora $releasever - $basearch
  3. failovermethod=priority
  4. baseurl=
  5. #        http://fedora.candishosting.com.cn/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  6. #                       ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
  7. #             http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  8. #                 http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/$basearch/os/
  9. #                           http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/os/
  10.          http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  11. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
  12. enabled=1
  13. gpgcheck=1
  14. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
复制代码



近日发现,只要把澳洲的源写在最上面,即使关闭fastestmirror、axel,也可以冲上216KB/s。

我的fedora.repo文件
  1. [fedora]
  2. name=Fedora $releasever - $basearch
  3. failovermethod=priority
  4. baseurl=  
  5.                      http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
  6.            http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
  7.                 http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/$basearch/os/
  8.                           http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/os/
  9.         http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
  10. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
  11. enabled=1
  12. gpgcheck=1
  13. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
  14. [fedora-debuginfo]
  15. name=Fedora $releasever - $basearch - Debug
  16. failovermethod=priority
  17. baseurl=
  18.                      http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/debug/
  19.            http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/debug/
  20.                 http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/$basearch/debug/
  21.                           http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/debug/
  22.         http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
  23. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
  24. enabled=0
  25. gpgcheck=1
  26. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
  27. [fedora-source]
  28. name=Fedora $releasever - Source
  29. failovermethod=priority
  30. baseurl=
  31.                      http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/source/SRPMS/
  32.            http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/source/SRPMS/
  33.                 http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/source/SRPMS/
  34.                           http://mirrors.kernel.org/fedora/releases/$releasever/Everything/source/SRPMS/
  35.         http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
  36. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
  37. enabled=0
  38. gpgcheck=1
  39. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
复制代码

我的fedora-updates.repo文件
  1. [updates]
  2. name=Fedora $releasever - $basearch - Updates
  3. failovermethod=priority
  4. baseurl=
  5.                      http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
  6.            http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/$basearch/
  7.                 http://opensource.nchc.org.tw/fedora/linux/updates/$releasever/$basearch/
  8.                           http://mirrors.kernel.org/fedora/updates/$releasever/$basearch/
  9.         http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
  10. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
  11. enabled=1
  12. gpgcheck=1
  13. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
  14. [updates-debuginfo]
  15. name=Fedora $releasever - $basearch - Updates - Debug
  16. failovermethod=priority
  17. baseurl=
  18.                      http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/debug/
  19.            http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/$basearch/debug/
  20.                 http://opensource.nchc.org.tw/fedora/linux/updates/$releasever/$basearch/debug/
  21.                           http://mirrors.kernel.org/fedora/updates/$releasever/$basearch/debug/
  22.         http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/debug/
  23. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-debug-f$releasever&arch=$basearch
  24. enabled=0
  25. gpgcheck=1
  26. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
  27. [updates-source]
  28. name=Fedora $releasever - Updates Source
  29. failovermethod=priority
  30. baseurl=
  31.                      http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/SRPMS/
  32.            http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/SRPMS/
  33.                 http://opensource.nchc.org.tw/fedora/linux/updates/$releasever/SRPMS/
  34.                           http://mirrors.kernel.org/fedora/updates/$releasever/SRPMS/
  35.         http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/SRPMS/
  36. #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-source-f$releasever&arch=$basearch
  37. enabled=0
  38. gpgcheck=1
  39. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
复制代码

还想省点力的话,附件里有我的repo文件,Fedora 8的,记得把你原有的备份

当你明白个中方法之后,还可以优化fedora-development.repo、fedora-updates-testing.repo等等。

如果当中有什么错误请指出,如果你悟出有什么更好的东西,请你与大家分享,谢谢。


.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2008-3-12 08:54:05 | 显示全部楼层
好文

我将我的 repo传上来 我的是深圳电信2M ADSL fedora用的 北京的那个源 update用的 是台湾的那个FTP源,早晨都有200K,下午有50~100K的 速度
你的 收下了

顺便告知一下你的位置

南北差别很大的

[color="Red"]还有ping不是最好的办法,最好的是去服务器目录下下载一个大点的文件,就用firefox的单线程下载,那个速度才是最真实的



[color="Blue"]#################################################

[color="Blue"]此源在北京速度较快,但是目录不全,只含release:
http://fedora.candishosting.com.cn/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/

此源为台湾的,对于南方地区很快,但是http很慢,ftp巨快,同样目录结构不全,只能update:
ftp://ftp.mirror.tw/pub/fedora/linux/updates/$releasever/$basearch/

楼主可以参考下,如果速度可以,希望加入

[color="Blue"]#################################################

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-12 10:54:12 | 显示全部楼层
呵呵,我也是深圳电信2M ADSL 。

感谢once375ml又为大家提供了2个高速源!

ftp://ftp.mirror.tw/pub/fedora/linux/updates/$releasever/$basearch/ 好像有时不行,继续测试。
回复 支持 反对

使用道具 举报

发表于 2008-3-13 09:30:32 | 显示全部楼层
楼主的说法是错误的
yum下了6个出错之后是不会从头下的 仔细观察就会发现  放在/var/cache/yum 下面 不然也太弱了
不过同一个包出错后是会重新再下的
最主要的还是网络快才行

还有就是论坛url判断有bug 发链接最好在后面留个空格
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-13 17:48:39 | 显示全部楼层
感谢joyfun指出错误。
回复 支持 反对

使用道具 举报

发表于 2008-3-13 19:40:00 | 显示全部楼层
我只用axel就很快了!基本都达到物理上限
回复 支持 反对

使用道具 举报

发表于 2008-3-14 14:41:54 | 显示全部楼层
很好,很使用。正需要
回复 支持 反对

使用道具 举报

发表于 2008-3-14 14:42:46 | 显示全部楼层
很好,很实用。正需要
回复 支持 反对

使用道具 举报

发表于 2008-3-14 15:45:36 | 显示全部楼层
delta rpm 有人试过吗? 效果如何?
回复 支持 反对

使用道具 举报

发表于 2008-3-15 18:24:44 | 显示全部楼层
能写出这样的好文章,还这么谦虚,佩服!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表