Hello, Jigsaw Download 0.5.3 has been released. jigdo is my proposed replacement for the pseudo image kit. jigdo was mentioned in Debian Weekly News, and there's even a short notice in today's Linux Weekly News. Thanks to whoever is responsible for that! :) What's new in 0.5.3? ~~~~~~~~~~~~~~~~~~~~ - *** jigdo-file is finished! *** With the introduction of a cache for file checksums, it is finally possible in practice to let it loose on a Debian archive mirror. - Update and large extension of the documentation. If you haven't already done so, I encourage you to have a look now at the .deb's manpage or at <http://atterer.net/jigdo/jigdo-file.html>. - Now compiles with GCC 3. - Now compiles under Windows! You do not even need Cygwin; plain mingw is sufficient. - Numerous small fixes and changes. Source code now exceeds 10000 lines of code. Things to do ~~~~~~~~~~~~ - Set up a first jigdo beta site, preferably on a machine which already creates CD images. The site that Manty has set up looks perfect for this - would it be possible to get an account? - Write a "poor man's jigdo" - a shell script that uses jigdo-file and provides a primitive way of downloading and reassembling images. - Start work on the GUI download client. Source and binaries are available from <http://atterer.net/debian/>. I've also uploaded the Windows version (jigdo-file.exe). For aptable i386 debs use: deb http://home.in.tum.de/atterer/debian unstable jigdo In the hope of getting people interested in jigdo, here's an excerpt from some of the new documentation - the EXAMPLES section. Note that some of this mentions features of the download app "jigdo", which, as mentioned before, has not been written yet. Preparing your CD image for distribution ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You have created a CD image `image.iso' from some of the files stored in the directory `/home/ftp' on your harddisc, which is also available online as `ftp://mysite.org'. As you don't want to waste space by effectively hosting the same data twice (once as files on the FTP server, once inside the image), and you are fed up with users' downloads aborting after 200MB and their restarting the download dozens of times, you decide to use jigdo. How do you prepare the image for download? In fact, only one command is necessary: jigdo-file make-template --image=image.iso --jigdo=/home/ftp/ image.jigdo --template=/home/ftp/image.template /home/ftp// --label Mysite=/home/ftp --uri Mysite=ftp://mysite.org/ After editing the file `/home/ftp/image.jigdo' to contain the correct URI for the template, `ftp://mysite.org/image.template', people can point jigdo at `ftp://mysite.org/image.jigdo' to download your image. Note that nothing prevents you from doing the same for an FTP server that isn't administrated by you - in that case, you only need to host the `.jigdo' and `.template' files on your own server/homepage. Preparing an arbitrary large file for distribution ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We assume that you have a large file that is not a filesystem, e.g. `movie.mpeg'. Because of space problems, you want to distribute the data on two servers. In this case, the parts of the image need to be generated artificially with the split command. For example, to create chunks of 4MB each, use `split -b 4m movie.mpeg part'. Copy the resulting files `partXX' into two directories `1' and `2' that you create, according to how you want the files distributed between the servers. Next, create the jigdo and template files with `jigdo-file make-template --image=movie.mpeg 1// 2//'. You will need to edit the `.jigdo' file and provide the right URIs for the two servers that you are going to upload the `partXX' files to, as well as the `.template' file. Customized versions of images ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because it is possible to assign a different URI for each part of an image if necessary, jigdo is very flexible. Only one example is the possibility of customized versions of images: Suppose that someone is distributing a CD image, and that you want to make a few small changes to it and redistribute your own version. You download the `official.iso' CD image with jigdo, write it to CD-R, make your changes (say, adding files from the `myfiles' directory on your harddisc) and produce your own version, `myversion.iso'. Next, you instruct jigdo-file to create the jigdo and template files for your modified image, using the command jigdo-file make-template --image=myversion.iso /mnt/cdrom/ myfiles// --label My=myfiles/ --uri My=http://my.homepage.net/ while `official.iso' is mounted under `/mnt/cdrom'. Now you need to create a `.jigdo' file that references the same files as the original image, but provides additional links for any files jigdo-file picked up from the `myfiles' directory. This is most easily done by copying over the relevant sections from the jigdo file for `official.iso' to your own version's jigdo file. Finally, after also adding a correct link for the template file, you can upload the `.jigdo' file, the `.template' file and also the files in `myfiles' to `http://my.homepage.net/'. Thus, for people to download your modified image, you do not need to upload the complete image contents to your web space, but only the changes you made! (In case you only made very few changes, you could also omit the `myfiles' parameter in the command above, then all your changes end up in the new template file.) Combining many jigdo-managed images into one ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It is also no problem to combine data from several sources that use jigdo. For example, if of five different and unrelated servers each one distributes a different CD image via jigdo, you can create a customized DVD image that contains the data from all these CDs. When people use jigdo to download your image, the individual files on the DVD are fetched from the same sources as the original CDs. Consequently, even though you will be distributing a 3.2GB file via your web space, the actual amount of data that is stored on your server will only be in the order of several MBs. All the best, Richard -- __ _ |_) /| Richard Atterer | CS student at the Technische | GnuPG key: | \/¯| http://atterer.net | Universität München, Germany | 0x888354F7 ¯ ´` ¯
Attachment:
pgpMx6WRwufOA.pgp
Description: PGP signature