This script provides functionality for manipulating collections of
configuration files which can be organised so as to alter the
personality of a system.
personality is established. This personality contains the
copies of configuration files, and is used when creating new personalities.
The files which are currently considered part of the systems personality
are those contained in the base personality.
A new personality is established by making a copy of the base personality
under a new name. Each personality maintains a separate copy of all
configuration files under
To install a new personality, the files currently in place are saved back
to the current personality as indicated in
and the files for the new personality copied into place.
commands which perform these installations are implemented in such a
fashion as to only require the tools available on the root filesystem,
so that they may be invoked at the earliest stage during system startup.
If the current personality has become damaged, it can be restored
from the saved copy.
Files can be added to and removed from the personality set. When a new
file is added, it is copied from the current system into all personalities
and added to the list file. When a file is removed the current version is
kept in place, but all copies are removed from saved personalities and the
file is removed from the list.