System profile versioning may be used for different purposes, to solve various problems related to the complexity of managing workstations and servers. Read the following questions to see if any of them apply to you.
Do you have a notebook computer?
Have you ever wished to have one set of configuration files: one for the office, one for the home and yet another one for a customer's site? Would you like to be able to switch at will between these configurations, even at boot time?
Yet, you want to be able to share some aspects of the system configuration in all three locations.
Are you doing more and more complicated things with Linux these days?
Have you ever wished to be able to freeze a working setup and then experiment with new settings while all the users are away?
Have you ever been caught very late at night with a non-working setup? The user will be back in a few hours and you are not able to get back to the working state you had when you attempted to enhance the system.
Well, if you answer yes to any of those question, then System profile versioning is for you.
A checkbox controls the way archiving is performed. By default, archiving of a profile is done either when you switch to another profile or you trigger an archive operation.
Archiving may be performed every time you modify a configuration file. The archiving is done just before the file is updated. That way, the archive always contains the original version before you updated it. Using RCS or the --diff command line option, you can track the evolution of the configuration file. See the --diff option below.
A system profile is defined by a set of configuration files. These configuration files belong to various subsystems. Sometimes a file even belongs to two or more subsystems.
A version is a collection of all configuration files which define
a specific state of your computer. By switching profile versions, you
are effectively saving the current configuration files into
a special storage area (
/etc/linuxconf/archive) and restoring
files from the newly activated version.
Swapping all configuration files from a working profile and replacing them by other configuration files is not always useful. For example, you might define two system profile versions: one for the office and one for the home. Some subsystems are identical for both environments. You expect that when you maintain one aspect of your Linux notebook at home, those changes will be available at the office the next morning.
Sometimes you expect the two environments to evolve separately. In fact, you need control subsystem by subsystem over how things are saved/restored between various system profile versions.
Linuxconf use the RCS system to save copies of the various files. RCS is used to keep a history of the state of the configuration files. This will be used one day in Linuxconf to create audit reports showing how various subsystems were managed over time.
The archiving technology might evolve one day to use an archive server. This would allow one to track efficiently the configuration changes of many workstations and servers.