Even though the Ubuntu family server was doing just fine I decided to rebuild the server with Windows 2003 for a couple of reasons. First is there are some Windows only programs that are better off running in their native environment; like WSUS to support patch caching. As a family we are much better off letting WSUS synchronize updates and store them locally when it determines a machine needs it than having everyone go to Microsoft, download patches, etc. My favorite torrent client, "uTorrent" is Windows only. Also lets face facts; Windows has some slick management interfaces. VMWare Server is running two dedicated guests: an Ubuntu 6.06 and Ubuntu 6.10 server install. The two instances have their own dedicated IP address, 192 MB of RAM, 8 GB of disk and are dedicated to apt-cacher. Now when my Ubuntu machines need updates they can stay mostly local which is great for when Open Office and X update.
Speaking of apt; it is nice and all but there has to be something better than apt-cacher. Similar packages seem to be in a state of limbo or are just proxy caches without intelligence. Maybe I just don't know enough about apt-based distributions but I would think someone would have an intelligent repository manager that kept track of versions and package lists locally and downloaded packages for machines that have subscribe to its service. Example: a 40 MB update for Open Office comes down the pipe, you have 40 Ubuntu desktops that will need it – do you get it now knowing workstations will start asking for it or do you download it when apt-cacher detects the first request for it? The problem with the latter is timeout problems. Both apt and apt-cacher seem to have the most problems when caching the larger updates like mysql, x-common, and other sizable packages. It would probably be best to adapt an apt-based repository manager to use the bit torrent protocol. When updates hit the main repositories the locally cached repository services determine if any subscribed machines need it and if so, join the torrent and seed a certain percentage of the file (120 percent seems fair, configurable of course). When the updated package is ready locally, let local workstations see it then fetch it (optionally, after systems approves). WSUS lets you assign computers to groups and make updates available to certain groups (i.e. beta machines).
To go off on a tangent, one of the newest reasons why I hate Windows and Microsoft; they upped the cost of academic versions of MSDN Operating Systems. I got mine a couple of years ago for about $180 or so. Nice. Now it is in the $500-750 range. What the hell? I'm searching through our vendor here at work but their product descriptions look like this "MSDN OS SS U 3Y ACA OL OU812 7734" – and there are 348 just like that one without text, pictures, or descriptions. Good God how in the blue hell am I supposed to make sense of that. Microsoft is no help whatsoever. They have about eight different schemes for Academia with few online details on each. Try to look up a part number – can't do it. That is just plain stupid.
Yet another new reason to hate Windows: they are weaseling IE7 down to everybody. If I don't use it and don't want it then why consistently bother me about it?