NOTE: This page is part of the Ubuntu Specification process. Please check the status and details in Launchpad before editing. If the spec is Approved then you should contact the Assignee, or another knowledgeable person, before making changes.

Summary

Using Metalink for Ubuntu CD ISO downloads could increase availability, efficiency, and eliminate errors during download and repair corrupted files. Wubi uses Metalinks for ISO downloads.

Rationale

Metalink can list FTP/HTTP/P2P sources for files and provide error free downloads. When dealing with large downloads, normally if there is an error and you are using FTP or HTTP then the download needs to be restarted from the beginning (doubling the bandwidth, a 600 MB transfer is now takes 1.2 GB). Most users do not know how to repair a download with rsync or torrents, or may not be allowed to.

A simple .metalink file looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
  
  <files>  
   <file name="ubuntu-6.10-desktop-i386.iso">
    <os>Linux-x86</os>
    <size>732293120</size>
    <verification>
     <hash type="md5">b950a4d7cf3151e5f213843e2ad77fe3</hash>
    </verification>
    <resources>     
      <url type="http"
           location="ro"
           preference="90">
       http://ftp.iasi.roedu.net/mirrors/ubuntulinux.org/releases/.pool/ubuntu-6.10-desktop-i386.iso
      </url>
      <url type="http"
           location="jp"
           preference="100">
       http://ftp.yz.yamagata-u.ac.jp/pub/linux/ubuntu/releases/.pool/ubuntu-6.10-desktop-i386.iso
      </url>
      <url type="http"
           location="us"
           preference="90">
       http://ftp.osuosl.org/pub/ubuntu/.pool/ubuntu-6.10-desktop-i386.iso
      </url>      
    </resources>
   </file>
  </files> 
</metalink>

Metalink has the following advantages:

More information is available here:

Use cases

1. John is a non-technical Windows/Mac/Linux user. He wants to download an Ubuntu CD image from Ubuntu.com, all he needs to choose is his architecture and CD type (Desktop/Alternate/Server) and use the small Metalink client linked to from that page.

2. Harriet is using Firefox with a Metalink client extension, this downloads an Ubuntu CD image for her from the given metalink files.

3. Eric has an incredibly fast Internet connection. His computer uses multiple sources from the Ubuntu Metalink file to maximise his bandwidth usage.

4. Mary has an unreliable wireless connection. Downloading an Ubuntu CD image is a major time investment, and she does not want to keep restarting it on error. Metalink checks the image for her as it is downloaded and only redownloads what is needed, leaving Mary with an error-free Ubuntu CD image.

Scope

Reducing bandwidth costs in distributing Ubuntu online by using P2P and current mirror network more efficiently. Reduce support costs of dealing with corrupted and error downloads. Simplify download pages. Simplify download process for happier users.

Design

Implementation

As an example see Metalink @ Package Resources (which uses RoPkg::Metalink) and has .metalinks with chunk checksums/repair information for Ubuntu, Edubuntu, and Kubuntu ISOs. OpenOffice.org and others use the .metalinks generated there.

Code

N/A

Data preservation and migration

N/A

Unresolved issues

N/A

BoF agenda and discussion


CategorySpec

MetalinkIsoDownloads (last edited 2008-08-06 16:37:59 by localhost)