Jigdo 一种为Debian包设计的下载工具,jigdo 并非多线程或者p2p之类的下载,而是分批下载最后合包,类似DVD刻录,从速度上也没有更快,小文件需要多次与源建立连接,速度提不上去,不过想法挺好,你值得一试!苦逼SA就是细化各种折腾和尝试,体会各种酸爽!
想体验下Debian 8版本,即:Debain jessie,在寻找了cd/dvd安装包的过程中发现有个叫Jigdo的工具,简单看了下介绍,下面来自维基百科 wikipedia.org:
Jigdo(”Jigsaw download”,曲线下载)是为Debian包设计的下载工具,可以从几个镜像站点下载不同的文件,然后再生成一个CD映像。
Jigdo的标准程序包括一个jigdo-file工具。用户要收集一个CD映像,先得下载一个非常小的imagename.jigdo文件。jigdo-file工具就将这个文件作为参数,从网络上获取相应的文件:imagename.template和一系列.deb包(在.jigdo文件中已经列出)。然后通过mkisofs工具生成一个ISO映像。
Jigdo在Debian下实现,目的是减轻镜像站点的负荷,这些镜像站点一般都存放有许多的CD映像,不但要求大容量硬盘,还占用很多的带宽,这样才能够提供足够的光盘映像下载(一张CD是650M,DVD是4.7G)。而Jigdo的要求就不是这样了,它可以获取各自的Debian包,而不要求一定要单独归档的光盘映像,这样就可以直接从apt-get列表中完成获取下载,最后才在本机生成CD/DVD文件。
不过对具体的工作原理还是比较疑惑,不如直接体验一下。
安装jigdo:
apt-get install jigdo-file
使用jigdo下载debian的DVD安装包:
jigdo-file http://cdimage.debian.org/debian-cd/8.6.0/amd64/jigdo-dvd/debian-8.6.0-amd64-DVD-1.jigdo
下载的具体过程:
简单描述就是jigso会认为目标文件是一个集合类似tar包或者iso文件,然后根据文件中的数据分批次进行下载,看效果默认是10个包每次,然后把这10个小文件打到iso文件中,依此类推,直到最后把所有的包下载完,全部合并到iso文件中,并进行验证,整个下载和合包的过程有些像DVD刻录。
$ jigdo-file http://cdimage.debian.org/debian-cd/8.6.0/amd64/jigdo-dvd/debian-8.6.0-amd64-DVD-1.jigdo
命令执行后会首先生成一个3.8G大小的iso文件,文件名为debian-8.6.0-amd64-DVD-1.iso,然后有个tmp目录,每次下载10个文件到tmp目录,然后压缩到iso中,这里使用的163的源:
--2016-11-22 00:26:20-- http://mirrors.163.com/debian/dists/jessie/main/installer-amd64/20150422/images/netboot/debian-installer/amd64/grub/x86_64-efi/gcry_camellia.mod Reusing existing connection to mirrors.163.com:80. HTTP request sent, awaiting response... 200 OK Length: 32048 (31K) [application/octet-stream] Saving to: `debian-8.6.0-amd64-DVD-1.iso.tmpdir/mirrors.163.com/debian/dists/jessie/main/installer-amd64/20150422/images/netboot/debian-installer/amd64/grub/x86_64-efi/gcry_camellia.mod' 100%[===================================================================================================================================>] 32,048 --.-K/s in 0.03s 2016-11-22 00:26:20 (961 KB/s) - `debian-8.6.0-amd64-DVD-1.iso.tmpdir/mirrors.163.com/debian/dists/jessie/main/installer-amd64/20150422/images/netboot/debian-installer/amd64/grub/x86_64-efi/gcry_camellia.mod' saved [32048/32048] --2016-11-22 00:26:20-- http://mirrors.163.com/debian/pool/main/t/texlive-base/texlive-pictures-doc_2014.20141024-2_all.deb Reusing existing connection to mirrors.163.com:80. HTTP request sent, awaiting response... 200 OK Length: 72014074 (69M) [application/octet-stream] Saving to: `debian-8.6.0-amd64-DVD-1.iso.tmpdir/mirrors.163.com/debian/pool/main/t/texlive-base/texlive-pictures-doc_2014.20141024-2_all.deb' 64% [===================================================================================> FINISHED --2016-11-22 00:48:23-- Total wall clock time: 2.3s Downloaded: 6 files, 4.0M in 1.7s (2.38 MB/s) Found 6 of the 6 files required by the template Successfully created `debian-8.6.0-amd64-DVD-1.iso'
完成之后:
Finished! The fact that you got this far is a strong indication that `debian-8.6.0-amd64-DVD-1.iso' was generated correctly. I will perform an additional, final check, which you can interrupt safely with Ctrl-C if you do not want to wait. 73% 2874368k/3900480k verifying image OK: Checksums match, image is good!
这样debian-8.6.0-amd64-DVD-1.iso文件最终下载完成,jigdo这个工具不是多线程或者p2p之类的下载,而是分批次下载最后合包,类似DVD刻录,从速度上也没有更快,因为需要多次重新与源建立连接,小文件的速度提不上去,不过想法挺好,你值得一试!