configuration-management

Software configuration management for hundreds of binary files, many are large


I need to keep track of the software configuration for many types of computers including the binary installers and automation scripts. Change is infrequent, but the size of latest version of the configuration is several gigs.

I'm trying to use Mercurial to store changes, but it is just too slow, even without many revisions at all. I did an hg status but killed it after it took 10 minutes without finishing.

I am looking for a way to store the current configuration as well as having the old configurations there just in case.


Solution

  • Since hard disk space is cheap and being able to view binary differences isn't very helpful, perhaps the best option you have is to store each configuration in a new directory that is indexed somehow. Example below:

    /software/configs/2009-03-15
    /software/configs/2009-09-28
    /software/configs/2009-09-30
    

    Given the size of your files and the infrequent number of changes, this would allow you to pick a configuration from a given 'tag' without the overhead of revision control.

    If you pack your files into a single tar file and generate a SHA-512 hash, then you can be reasonably sure that no one has tampered with your files since they were archived.