终极强悍的下载之工具curl
来源:linux宝库 作者:linux宝库 发布时间:2007-09-30
Mandrake Linux 9.1就要向我们走来了,我有点等不及了。先下rc2的iso文档来看看,但由于我现在上网的时候有限,我就想着怎么样下载ISO文档。但用号称linux的下FlashGet的nt下载还是不够快。
从网站下载诸如iso这样的大型文档时,即便对方能提供1MB/s的下载速率,其等待过程也是令人烦恼的,而Linux下也似乎现在并没有什么成熟的多线程下载工具。即便是Windows下的某些著名软件也拿“每IP只限一个连接”的站点没办法。新出的FlashGet 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/linux/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强悍的下载工具.
以上内容由 华夏名网 收集整理,如转载请注明原文出处,并保留这一部分内容。
-----------------------------------------------------------------------------------
“华夏名网” 和 是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租赁业务。公司创建于2002年,经过近5年的高速发展,“华夏名网 ”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价为25大IDC服务商之一。
-----------------------------------------------------------------------------------
阅读(971) | 评论(0) | 转发(0) |