专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Linux » 超级强悍的照片:超级强悍的下载之工具curl »正文

超级强悍的照片:超级强悍的下载之工具curl

来源: 发布时间:星期四, 2008年12月4日 浏览:71次 评论:0

   作者:pk
  Mandrake Linux 9.1就要向我们走来了,我有点等不及了。先下rc2的iso文件来看看,但由于我现在上网的时候有限,我就想着怎么样ISO文件。但用号称的下Get的nt还是不够快。
  
  从网站诸如iso这样的大型文件时,即便对方能提供1MB/s的下载速率,其等待过程也是令人烦恼的,而Linux下也好像目前并没有什么成熟的多线程下载工具。即便是下的某些著名软件也拿“每IP只限一个连接”的站点没办法。新出的Get 1.3支持对各个下载线程使用不同的代理,则实际上就可以同时分多块部分从那种小气的站点下大文件了
  
  不过呢,这没有考虑到现今ftp站点的冗余备份特性:同一个iso很可能在多个站点上都有镜像,我们能不能对此特点加以利用呢?
  
  我们采用超级强悍的下载工具curl,它好像不是多线程的,但我们用shell来控制多个进程配合工作。没有用过这个工具的不妨安装一下:
  代码:
  
  # rpm -q curl
  #curl-7.9.4-4mdk
  
  下面我们以下载Mandrake Linux 9.1 rc2的第一张iso为例来介绍其使用方法。经过采点,找到了三个可用的地址,分别标为url1~url3.
  代码:
  
  # cat 1.sh
  #!/bin/bash
  url1=ftp://mirrors.kernel.org/mandrake-iso/i586/
  MandrakeLinux-9.1rc2-CD1.i586.iso
  url2=ftp://mandrake.redbox.cz/Mandrake-iso/i586/MandrakeLinux-9.1rc2-CD1.i586.iso
  url3=ftp://ftp.uninett.no/pub//Mandrake/Mandrake-iso/i586/
  MandrakeLinux-9.1rc2-CD1.i586.iso
  curl -r 0-199999999 -o inst.1 $url1 &
  curl -r 200000000-399999999 -o inst.2 $url2 &
  curl -r 400000000- -o inst.3 $url3 &
  echo "TODO: cat inst.2 >> inst.1; cat inst.3 >> inst.1"
  echo "THEN: mv inst.1 MandrakeLinux-9.1rc2-CD1.i586.iso"
  
  上面这几行命令应该很容易看懂。我执行了一下,很快就拿到了三块文件碎片,如果下载完成后,你在当前的目录下看到的还是inst.[1,3]这个三个文件,那可能还没有合拼到,你合并下就可以了。
  代码:
  
  cat inst.2 >> inst.1
  cat inst.3 >> inst.1
  mv inst.1 MandrakeLinux-9.1rc2-CD1.i586.iso
  
  拼接后拿md5一算,
  代码:
  md5sum MandrakeLinux-9.1rc2-CD1.i586.iso
  342862f7a2da34b6d9d772d6bdf91b4d
  
  哈哈,哈希值跟他们的一致。Done
  
  当然,如果你的网络足够快,没有必要这么折腾,不过,我还是喜欢这样做。呵呵当然啦,你还能可分得更详细,比如分为5段下载,对应不同的ftp,你就修改下上面的那个Shell Script就可以了。对于详细的使用curl,你还是看看它的Man页吧。
  
  呵呵,我只下载了Mandrake linux 9.1rc的第一个iso文件,也试验装了下,感觉其中的中文字体还是做得很粗糙,不过,其它的还算可以。要玩就等正式版本出来的时候再玩吧。
     哈哈,其实不只是Mandrkae可以这样做,其它的发行版本也是一样的,你要找好几个ftp的下载地址就可以了。同时也能出了下载大型iso的一点方案。爽吧,curl,超cool强悍的下载工具.
  
  注: 声明,本文部分内容参考了中国科大BBS站《大话下载之工具curl》一文。"
  
  
  
  
  
  
  
  
  
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: