netskel is a distribution and configuration mechanism used to keep a stable of unix shell accounts synchronized with a central repository. It can be used to keep common files up-to-date on all of your various shell machines in a simple and automated manner. It's particularly handy for:
netskel uses a rudimentary client/server model to handle data distribution. A master server is set up on an apache box which serves the netskel repository via http. Clients are outfitted with a small set of netskel scripts which are cronned to check in daily to the master repository and update any local files which are not current.
netskel was designed to have as few dependencies as possible on the client kit side. All client side scripts are in vanilla /bin/sh and are as platform-independent as is possible. Whenever a function requires a high- level dependency, code is extended to work with as many possible solutions as possible. For example, netskel will use md5 to evaluate if a client-side file is current. If md5 is not on the client machine, it will fall back to using cksum which is more likely to exist. netskel can also use a variety of tools to retrieve the files from the master repository: fetch, wget, lynx, and dog. This increases the likelihood that netskel will run unmodified on all your various shell accounts, even the old, unmaintained systems.
A convenient web-based interface is provided to the user to track the state and last update for each host which is configured with the netskel client kit.
Netskel development is hosted on github. You can download, track, and contribute there.