If you have NBD support enabled in your kernel, you can use this to read a file over HTTP as a block device. The most obvious use for me was (is) to mount ISO images without having to download them entirely. If your linux distribution installer allows early console access, you should be able to even install the OS from a CD ISO over HTTP. The homepage is http://patraulea.com/nbd-http/ To use it, compile (you need kernel headers and pthreads installed), load the kernel module and run nbd-http: make modprobe nbd ./nbd-http /dev/nbd0 http://mirror.org/file.iso (and in another console) mount /dev/nbd0 /mnt/cdrom Depending on your 'net connection you might want to try different read-ahead time limits or different thread numbers. You can change those in the first lines of main.c. On my 512kbps cable modem, a 2..4sec read-ahead limit and 1..2 threads seem to be reasonable. Annoyances: ----------- Caching is done on disk. So if your fs does not support holes in files it'll create a 2.7G file when you start serving the Fedora Core DVD. The reusing of HTTP connections to fetch pages of the file may or may not be smart enough. When reading a reasonably large file (say, larger than 4K) it should be ok. Due to the nbd driver using the userland process to make block requests, there is apparently no other way to stop the nbd userland helper other than ``killall -9 nbd-http''. Verbosity is set to maximum since the code is still buggy. To get rid of most stuff, use '-v 1'. To get rid of everything except errors, use '-v 0'. WARNING: -------- Since closing useless HTTP connections and opening new ones occasionally happens (especially with weird (not iso9660) formats and less-than-smart installers), you might get banned from your favourite mirror for excessive connections. As an example, installing Slackware 10.2 should require one connection when determining ISO size, one when reading the directory tree and several more when installing packages. Think that whenever you skip a package the HTTP connection may become useless if when reading-ahead it doesn't reach the next package. Feedback is welcome at reverse(moc.liamg@cojrah) - Harjoc Bogdan.