DIY Bittorrent Patch Server
A few weeks ago, I ran across a couple of articles about a university in Holland that was having difficulty getting all of their Microsoft patches out to all of their systems. What did they decide to do?
Buy more servers? Nope!
Increase bandwidth? Nope!
Use a program that has been essentially outlawed in North American universities? Yep!
The university decided, on the advice of their IT consultant, that they would use bittorrent to deploy the patches.
This really got me thinking about how I would go about creating my own U.Holl server (as I like to call it). These are some of the thoughts that I have come up with.
The Server
Just to add a really strong sense of irony, I would probably build the U.Holl server on Linux, most likely Ubuntu with a typical LAMP installation. Then, for ease of management, I would install a tracker such as phpMyBittorrent or something similar.
In the tracker software, I would create several different categories based on the target systems that I would use. For example, there would be Windows XP, Windows Vista, Office 2007, etc. categories. Each category would have its own RSS feed.
The Clients
Each workstation or server that was to receive updates using bittorrent would have a copy of uTorrent running in the background. This would be critical. You would also need to tweak uTorrent so that it automatically ran an installation script r program each time it finished downloading a new patch. This script would also schedule a reboot at 3:00 AM (or whatever time you wanted) since it seems almost every hotfix from Microsoft needs to reboot the system.
A potential install script might look like this:
The trick to automatically downloading files is to subscribe each uTorrent client to the proper RSS feeds given out by the server. This way, each system only gets the patches it needs.
Potential
I think that this type of a delivery system has great potential. You could even use it across slow bandwidth links or to deploy other software, not just patches.
This is a project that I am hoping to spend some time on over the next while but I am looking for your input/suggestions now so that I can hopefully avoid some pitfalls later. Any input would be greatly appreciated!
Every single IT person will tell you to maintain your Windows security updates. It is critical, we are told, so that we can keep our computers safe. While I don’t completely agree with the statement (I’ve personally experienced an “update” that has completely killed a mission critical server), it is important to be able to update your system with the required patches.
If you are running a small office of a couple dozen employees and you have Windows 2003 R2, you can easily centralize your contacts for your entire office along with give everyone the ability to see the company’s corporate calendar without having to install Exchange in your environment.
When the domain controllers died, there were a number of very important Active Directory tools that we needed to use in order to get our systems back up and running properly. Unfortunately, we needed to find a lot of these tools on our own and on-the-fly.
Even though Windows is extremely GUI friendly, I find that if you really want to do some fine tune high end geeky things on your Windows computer, you pretty much need to do it from a command line.