[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

jigdo 0.5.3


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 Atterer     |  CS student at the Technische  |  GnuPG key:
  | \/¯|  http://atterer.net  |  Universität München, Germany  |  0x888354F7
  ¯ ´` ¯

Attachment: pgpMx6WRwufOA.pgp
Description: PGP signature

Reply to: