LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: wq1977

关于yum太慢了的解决方案

[复制链接]
 楼主| 发表于 2007-1-21 21:54:52 | 显示全部楼层
公社有axel的源代码,可能要辛苦自己编译一下,呵呵。

http://linuxfans.org/nuke/module ... eninfo&did=1697
回复 支持 反对

使用道具 举报

发表于 2007-1-21 23:11:18 | 显示全部楼层
yum install axel行不?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 09:10:23 | 显示全部楼层
不行,axel不是标配
回复 支持 反对

使用道具 举报

发表于 2007-1-22 12:09:13 | 显示全部楼层
已经编译并且安装测试,效果很好!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 14:32:36 | 显示全部楼层
Post by 红烧鸟
已经编译并且安装测试,效果很好!


这是我看见最欣慰的一个回复。

不过,也许你还是不能满足,因为Primary.xml.gz和filelist.xml.gz有时候大小可以达到数M,但是使用那个插件还是不能解决,你可以尝试修改 /usr/lib/python2.4/site-packages/urlgrabber目录中的grabber.py,以便让所有的文件都使用wget或者axel下载,你只需要在这个文件的urlgrab函数中增加下面几行代码:


  1.         if filename is None:
  2.             filename = os.path.basename( urllib.unquote(path) )

  3.         #new code start
  4.         if not (os.path.splitext(filename)[1] in ('.hdr')):
  5.             print "I want use wget or even axel to download,not you!"
  6.             if urlparse.urlparse(url)[0] == "ftp":
  7.                 raise URLGrabError(2,
  8.                           _('Ftp can not, no proxy provide'))
  9.             if os.system("wget %s -O %s" % (url,filename)) != 0:
  10.                 raise URLGrabError(2,
  11.                           _('System function return fail'))
  12.             return filename
  13.         #new code finish
  14.         
  15.         if scheme == 'file' and not opts.copy_local:
复制代码


或者,参考我修改过的原帖中的网址下载我修改好的文件覆盖你的文件,或者你可以考虑先备份你原来的文件,并且按照你的需要更改其中的代码,至少,你可能想把过滤ftp地址的那一段去掉。
回复 支持 反对

使用道具 举报

发表于 2007-1-22 15:00:45 | 显示全部楼层
强,马上试。。。
回复 支持 反对

使用道具 举报

发表于 2007-1-22 20:15:54 | 显示全部楼层
Post by wq1977
如果安装完fc6,想安装别的软件比如mplayer的时候,你可能会意识到,系统本身默认设置下yum的速度太慢了,安装任何哪怕很小的软件都是一个漫长的等待,有一些方法可以让你尽可能减少等待的时间,我总结了一下:

方法一: 更换yum仓库  教育网用户和网通用户有很不错的选择,使用tsinghua的源或者上海交大的源会极大的提高yum的下载速度。  缺点是: 象我这种使用深圳电信ADSL的用户,可能不能访问这些源。

方法二: 使用代理  从代理中国或者使用代理猎手寻找可用的http代理,在yum的配置文件中设置或者直接导出http_proxy环境变量都可以使得yum在下载软件的时候使用这个代理。 缺点是:代理的速度很不稳定,就象代理本身一样。

方法三: 使用fastestmirror插件 这个插件可以自动对所有的境象进行排序,使选择那些速度快的镜像首先尝试下载,这个插件是fc6自带的软件仓库中。 缺点是: 有时候排序不准确,如果所有的镜像都慢,排序也无济于事。

方法四:使用axelget插件,这个插件将首先尝试使用axel加速下载过程,axel可以同时使用多个线程下载http和ftp协议的文件,速度可以达到成倍的提高。 这个插件是本人写的,还不太完善,可以从http://wininlinux.googlepages.com/下载,将文件http://wininlinux.googlepages.com/axelget.conf放入/etc/yum/pluginconf.d/目录,将http://wininlinux.googlepages.com/axelget.py放入/usr/lib/yum-plugins/就可以了,按你的需要修改axelget.conf文件中的值。 缺点是: 只能在下载软件包的时候使用axel,对于Primary.xml.gz则暂时没有办法。

方法五: 从http://wininlinux.googlepages.com/grabber.py下载这个文件替换你本地的/usr/lib/python2.4/site-packages/urlgrabber中的同名文件,并且按照你自己的情况修改其中urlgrab函数使用的命令(默认的是使用wget,你可能想改成axel). 这就是一个更彻底但是更不安全的解决方案了。 缺点是: 如果你的系统中有别的软件使用了urlgrabber这个python库,它们的行为也被改变了。  如果你知道自己在做什么,尝试一下总是没有坏处。 使用wget至少可以尽量避免可恶的checksum失败。

供参考。



楼主好样的!!!期待你的stable release!
回复 支持 反对

使用道具 举报

发表于 2007-1-22 21:21:42 | 显示全部楼层
偶都是用第一种方法...速度慢的要死。
update一下要一天一夜。
回复 支持 反对

使用道具 举报

发表于 2007-1-22 21:22:22 | 显示全部楼层
偶都是用第一种方法...速度慢的要死。
update一下要一天一夜。
回复 支持 反对

使用道具 举报

发表于 2007-1-23 22:22:54 | 显示全部楼层
Post by wq1977
这是我看见最欣慰的一个回复。

不过,也许你还是不能满足,因为Primary.xml.gz和filelist.xml.gz有时候大小可以达到数M,但是使用那个插件还是不能解决,你可以尝试修改 /usr/lib/python2.4/site-packages/urlgrabber目录中的grabber.py,以便让所有的文件都使用wget或者axel下载,你只需要在这个文件的urlgrab函数中增加下面几行代码:


  1.         if filename is None:
  2.             filename = os.path.basename( urllib.unquote(path) )

  3.         #new code start
  4.         if not (os.path.splitext(filename)[1] in ('.hdr')):
  5.             print "I want use wget or even axel to download,not you!"
  6.             if urlparse.urlparse(url)[0] == "ftp":
  7.                 raise URLGrabError(2,
  8.                           _('Ftp can not, no proxy provide'))
  9.             if os.system("wget %s -O %s" % (url,filename)) != 0:
  10.                 raise URLGrabError(2,
  11.                           _('System function return fail'))
  12.             return filename
  13.         #new code finish
  14.         
  15.         if scheme == 'file' and not opts.copy_local:
复制代码


或者,参考我修改过的原帖中的网址下载我修改好的文件覆盖你的文件,或者你可以考虑先备份你原来的文件,并且按照你的需要更改其中的代码,至少,你可能想把过滤ftp地址的那一段去掉。


这才是精华啊....
可惜啊,看不懂啊....
回复 支持 反对

使用道具 举报

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

本版积分规则

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