★ wanayoo — archive 1999 http://wwwcache.ja.net/dev/lsd/Nouvelle recherche | Portail wanayoo

TERENA/JANET Web Cache "appliance" project

$Id: index.html,v 1.5 1998/06/14 17:37:37 martin Exp $

What's this?

Briefly :-

  In order to achieve the maximum deployment of WWW caching
  technology, we propose to develop a custom operating system
  and cache server distribution on CD-ROM which is suitable
  for installation on lowest-common-denominator PC hardware.
  
  This will make it possible for IT contacts at a site which
  has little or no Unix/Internet/caching expertise to get up
  and running with a Web cache using cheap hardware.

See the TERENA WWW pages for the full project proposal. This is an activity of the TERENA Task Force on Web Caching.

Status of the project

June 14th 1998

Version 001 of the cache appliance has been made available, for discussion at the June 1998 international WWW caching workshop. See below for system requirements, and download/ installation instructions.

This release includes the following changes:

System requirements

Currently :-

We believe that this is a common configuration - though it may be necessary to support other widely used network cards. Feedback on this would be very welcome.

Just in case it's not clear, the intention is to support cheap and very widely available PC hardware. This means that there's no support for things like SCSI disks or MCA bus machines, or for processors other than the Intel series and compatible clones.

This is a similar, though not identical, approach to that being taken by the Linux Router Project. An important difference is that they're trying to build a system which will boot off a single floppy and load up into a ramdisk - so no hard disk is required.

Contents of the distribution

This distribution is based on freely available software :-

What you get

For now (at least) this is called LSD, which in the great tradition set by the fvwm window manager, you're free to expand out in any way you see fit :-)

Linux and Squid on a Diskette would be a particularly appropriate expansion of the acronym, since the complete system fits onto a single 1.44MB floppy disk for easy transit/distribution.

This distribution is literally just "Unix-like" enough to boot up into Linux in multi-user mode and provide password protection for the system console - virtually none of the normal Unix programs and utilities are provided. For ease of installation, LSD runs off an existing MS-DOS disk partition. This means that it's not necessary to reformat or repartition your hard disk in order to use it.

Starting out with a blank slate, and only adding the features which were strictly necessary in order to operate a working system, the end result is something much more like a true "appliance" (think: a toaster or a television set! whereas a typical computer would be something more like the Space Shuttle :-). This is as opposed to the trend of packaging a pre-installed full operating system distribution distribution and a Web Cache server.

If you're getting excited now at the thought of this, be warned that this is still a hacker only release, and only the very dedicated should actually try to use it at this stage, though the initial release is being made available for anyone who's curious or interested in contributing to the project.

Where next?

Cons...

A minimal operating system installation is only minimally useful. For example, there is no remote administration/management capability with the LSD distribution at the moment.

Having demonstrated that it is possible to fit a working system onto a single floppy disk, it's not clear that this is actually the best way to proceed with this project. This is a topic for discussion! 1.44MB doesn't leave much room for the likes of gcc, GNU Emacs or Perl :-(

Pros...

Advantages of this approach are that we reduce the scale of a number of the problems typically associated with software and systems support, in particular maintenance and security.

There are only a very few pieces of software distributed, which should dramatically reduce the difficulty of maintaining the system. In a conventional operating system and application software installation it's usually the case that there are hundreds if not thousands of files which are interdependent on each other in ways which aren't widely understood (if they're understood at all). For example, a typical disaster scenario would be the DLL libraries which rapidly accumulate in c:\windows\system and the conflicts between programs which try to install their own version of a critical library used by multiple programs. DLLs which are critical for the basic operation of the operating system are easily trashed, resulting in the now familar regular reinstallation scenario.

A common criticism of Unix-like systems from a security point of view is that the setuid/setgid mechanism makes it far too easy for an interloper to become superuser and take over the machine. The LSD distribution partially solves this problem by not having any setuid or setgid programs! This probably breaks some of the normal mechanisms for getting things done, like the getty/login relationship, and it may be the case that some very limited use of setuid/setgid will be necessary in the long term. This still reduces the scale of the problem by an order of magnitude by comparison with typical operating system distributions which install large numbers of setuid/setgid programs - often written by people who weren't aware of the security implications, and simply looking for a quick hack to work around a particular (say) graphical user interface problem.

A generic problem which affects most modern computer systems is that a large number of often superfluous (not wanted or even understood by the end user) of network accessible services are started up when the system is booted. The only network accessible server the LSD distribution runs by default is the Squid Web Cache server - no inetd, NFS daemons, HTTP daemon, RPC portmapper, and so on. Whilst the resulting system is still vulnerable to security problems within Squid itself, such as buffer overruns, it's not necessary to go around locking down the rest of the system.

A generic appliance

The desire to have add-on packages to enhance or introduce particular areas of functionality suggests that a modular GNU/Linux appliance architecture might be a natural next step for this work, e.g. with the addition of ssh or UCD-SNMP for remote administration. In addition to the WWW cache server, a number of other self-contained applications suggest themselves...

Finally, the initial LSD distribution uses the UMS-DOS overlay filesystem - a neat hack to make a Unix-like filesystem that runs on top of an existing MS-DOS/Windows 95 installation without a repartition being required. Because of the space inefficiency and performance problems associated with FAT it may not scale too well.

Downloading

Be warned that this is a hacker-only release! Use at your peril!

Version 001 of the LSD distribution is available as :-

See the pgp.net servers for PGP keys and more info on PGP in general.

Installation

Another warning: this is a hacker-only release! Use at your peril!

For now, here are some hints and tips on getting started :-

If you're using Windows 98 or Windows NT, all bets are off.

(We'll assume you've downloaded the distribution to c:\)

This will not start Squid up, but it will create you a swap file, and set Squid up with a minimal configuration to run on your machine. Be careful if editing config files from DOS or Windows, since they're likely to end up with spurious carriage return characters at the end of each line.

There are number of loose ends in this distribution. For example...

Having said this - both this and the previous 000 release have been battle tested by firing millions of URLs gathered from the JANET Web Cache Service at them.

Finally: It's not impossible (though it is unlikely) for your whole PC to be trashed - you have been warned!


[Back to JANET Web Cache pages] ... support@wwwcache.ja.net