红联首页 凝聚Linux人的力量
菜鸟过关 | 精华文档 | 同城人(交友) | 我与Linux的故事 | Linux新闻 | Linux视频 | Linux人才 | 软件下载 | 大学校园 | English
 13 12
发新话题
打印

yum优化,以fedora 8为例

本主题由 gxf 于 2008-1-4 12:23 推荐主题

yum优化,以fedora 8为例

本人是菜鸟,也不是从事IT方面的工作。我这篇帖子,允许不经我同意就可以被转载、修改和再发布,呵呵。

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

小提示:
1、axel插件是wq1977大侠开发的,国货哦。
http://www.linuxsir.org/bbs/showthread.php?t=290570&highlight=
2、另有shawn.p.huang大侠开发了一款中文输入法,目前在快速完善升级中,现已率先加入Fedora官方源,详情看这里
http://www.linuxsir.org/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值修改为0临时禁用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/
优化前请做好备份。
tar jcvf MyReposBak.tar.bz2 /etc/yum.repo.d/
chmod 444 MyReposBak.tar.bz2

亚森罗平兄的fedora.repo文件的头一段:
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
baseurl=  
          http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirrors.usc.edu/pub/linux/distributions/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirrors.cat.pdx.edu/fedora/linux/releases/$releasever/Everything/$basearch/os/         
          http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
          ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
          http://mirror.aarnet.edu.au/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirror.internode.on.net/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://gulus.usherbrooke.ca/pub/distro/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirror.karneval.cz/pub/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://sunsite.mff.cuni.cz/MIRRORS/fedora.redhat.com/linux/releases/$releasever/Everything/$basearch/os/
          http://ftp-stud.hs-esslingen.de/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirror.fraunhofer.de/download.fedora.redhat.com/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://ftp.uni-bayreuth.de/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          ftp://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://limestone.uoregon.edu/ftp/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://fedora.mirror.iweb.ca/releases/$releasever/Everything/$basearch/os/
          ftp://ftp.cse.buffalo.edu/pub/Linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirror.cc.vt.edu/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirrors.tummy.com/pub/fedora.redhat.com/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/os/
          http://www.gtlib.gatech.edu/pub/fedora.redhat/linux/releases/$releasever/Everything/$basearch/os/
          http://ftp.linux.ncsu.edu/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
          ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
          http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://ftp.rhnet.is/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
          http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
         
         
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

亚森罗平兄的fedora-updates.repo文件的头一段:
[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=
          http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
          http://mirrors.usc.edu/pub/linux/distributions/fedora/linux/updates/$releasever/$basearch/
          http://mirrors.cat.pdx.edu/fedora/linux/updates/$releasever/$basearch/         
          http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
          ftp://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
          http://mirror.aarnet.edu.au/pub/fedora/linux/updates/$releasever/$basearch/
          http://mirror.internode.on.net/pub/fedora/linux/updates/$releasever/$basearch/
          http://gulus.usherbrooke.ca/pub/distro/fedora/linux/updates/$releasever/$basearch/
          http://mirror.karneval.cz/pub/linux/fedora/linux/updates/$releasever/$basearch/
          http://sunsite.mff.cuni.cz/MIRRORS/fedora.redhat.com/linux/updates/$releasever/$basearch/
          http://ftp-stud.hs-esslingen.de/pub/fedora/linux/updates/$releasever/$basearch/
          http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/updates/$releasever/$basearch/
          http://mirror.fraunhofer.de/download.fedora.redhat.com/fedora/linux/updates/$releasever/$basearch/
          http://ftp.uni-bayreuth.de/linux/fedora/linux/updates/$releasever/$basearch/
          http://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
          ftp://ftp.free.fr/mirrors/fedora.redhat.com/fedora/linux/updates/$releasever/$basearch/
          http://limestone.uoregon.edu/ftp/fedora/linux/updates/$releasever/$basearch/
          http://fedora.mirror.iweb.ca/updates/$releasever/$basearch/
          ftp://ftp.cse.buffalo.edu/pub/Linux/fedora/linux/updates/$releasever/$basearch/
          http://mirror.cc.vt.edu/pub/fedora/linux/updates/$releasever/$basearch/
          http://mirrors.tummy.com/pub/fedora.redhat.com/fedora/linux/updates/$releasever/$basearch/
          http://mirrors.kernel.org/fedora/updates/$releasever/$basearch/
          http://www.gtlib.gatech.edu/pub/fedora.redhat/linux/updates/$releasever/$basearch/
          http://ftp.linux.ncsu.edu/pub/fedora/linux/updates/$releasever/$basearch/
          http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
          ftp://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
          http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/updates/$releasever/$basearch/
          http://ftp.rhnet.is/pub/fedora/linux/updates/$releasever/$basearch/
          http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/$basearch/
         
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
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主站)
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=
#      http://fedora.candishosting.com.cn/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#                                    ftp://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
#                   http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
#                    http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/$basearch/os/
#                                     http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/os/
         http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY


我的fedora.repo文件
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=  
                                        http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/os/
                      http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/os/
                         http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/$basearch/os/
                                             http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/os/
        http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/os/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
baseurl=
                                        http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/$basearch/debug/
                      http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/$basearch/debug/
                         http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/$basearch/debug/
                                             http://mirrors.kernel.org/fedora/releases/$releasever/Everything/$basearch/debug/
        http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/$basearch/debug/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-debug-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
baseurl=
                                        http://ftp.iij.ad.jp/pub/linux/fedora/releases/$releasever/Everything/source/SRPMS/
                      http://mirror.pacific.net.au/linux/fedora/linux/releases/$releasever/Everything/source/SRPMS/
                         http://opensource.nchc.org.tw/fedora/linux/releases/$releasever/Everything/source/SRPMS/
                                             http://mirrors.kernel.org/fedora/releases/$releasever/Everything/source/SRPMS/
        http://download.fedora.redhat.com/pub/fedora/linux/releases/$releasever/Everything/source/SRPMS/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-source-$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY


我的fedora-updates.repo文件
[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
baseurl=
                                        http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/
                      http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/$basearch/
                         http://opensource.nchc.org.tw/fedora/linux/updates/$releasever/$basearch/
                                             http://mirrors.kernel.org/fedora/updates/$releasever/$basearch/
        http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

[updates-debuginfo]
name=Fedora $releasever - $basearch - Updates - Debug
failovermethod=priority
baseurl=
                                        http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/$basearch/debug/
                      http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/$basearch/debug/
                         http://opensource.nchc.org.tw/fedora/linux/updates/$releasever/$basearch/debug/
                                             http://mirrors.kernel.org/fedora/updates/$releasever/$basearch/debug/
        http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/$basearch/debug/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-debug-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

[updates-source]
name=Fedora $releasever - Updates Source
failovermethod=priority
baseurl=
                                        http://ftp.iij.ad.jp/pub/linux/fedora/updates/$releasever/SRPMS/
                      http://mirror.pacific.net.au/linux/fedora/linux/updates/$releasever/SRPMS/
                         http://opensource.nchc.org.tw/fedora/linux/updates/$releasever/SRPMS/
                                             http://mirrors.kernel.org/fedora/updates/$releasever/SRPMS/
        http://download.fedora.redhat.com/pub/fedora/linux/updates/$releasever/SRPMS/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-source-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

还想省点力的话,附件里有我的repo文件,Fedora 8的,记得把你原有的备份
当你明白个中方法之后,还可以优化fedora-development.repo、fedora-updates-testing.repo等等。
如果当中有什么错误请指出,如果你悟出有什么更好的东西,请你与大家分享,谢谢。


.

[ 本帖最后由 yourfriend 于 2008-3-16 00:12 编辑 ]
附件: 您所在的用户组无法下载或查看附件
本帖最近评分记录
  • 奶茶dsk 威望 +2 支持个。。。。 2008-1-4 11:53

TOP

也不知道是什么原因,我家里电脑是ADSL小区宽带上网,安装yum-fastestmirror后,再yum install 时,速度可以达到800K+/s ,这速度对于我来说相当不错了,系统是centos 5.1,不过已习惯于centos 的一个月没半点更新的情况 ^_^

[ 本帖最后由 relaaxx 于 2008-1-4 10:53 编辑 ]

TOP

yum极速优化指南fedora8.txt (12.82 KB)
2008-1-4 00:51, 下载次数: 1
这个TXT看到我想吐啊,楼主没排版!

TOP

hehe,我不太会用代码
这里这个排的比较好
http://www.linuxsir.org/bbs/thread324758.html

[ 本帖最后由 yourfriend 于 2008-3-15 22:09 编辑 ]

TOP

对了txt那东西用gedit打开比较好

TOP

楼主能发下yum.conf的代码文件吗
我不小心删了

TOP

再下二楼已经发了。

[ 本帖最后由 yourfriend 于 2008-3-15 22:10 编辑 ]

TOP

引用:
原帖由 relaaxx 于 2008-1-4 10:51 发表
也不知道是什么原因,我家里电脑是ADSL小区宽带上网,安装yum-fastestmirror后,再yum install 时,速度可以达到800K+/s ,这速度对于我来说相当不错了,系统是centos 5.1,不过已习惯于centos 的一个月没半点更新的情况 ^_ ...
同感同感,centos更新/安装都飞快。。。
GF要我戒咖啡,却又给我买咖啡奶球!
Blog.im321.com

TOP

引用:
原帖由 wujiamail 于 2008-1-4 12:49 发表
楼主能发下yum.conf的代码文件吗
我不小心删了
ok
附件: 您所在的用户组无法下载或查看附件

TOP

感觉费好大劲,我就说一句,实在是吃力不讨好。

TOP

 13 12
发新话题