sysf
sysf
is nothing but a tool to maintain the system and config files. Its
operations were designed to facilitate the reliable maintenance of a computer
network.
After creating the config directory on a NFS mounted section of the
file-system, the first step before using sysf
is to create the
sysf.conf
file and to create one entry for each system file.
One should create an entry for every configuration file that had been modified
since the installation of the operating system. On systems using rpm, one can
get the list off all the files which have been modified since they were
installed by running the command
rpm -VaThe list returned is somewhat exhaustive. One should first ignore all the files which do not have a
c
in the 10th column and then discard the
files which are created automatically (like fonts.dir
files for example).
One must then edit the hosts.conf
. Each entry defines a host group
which share at least one config file. It must at least have an entry for the
group ALL
as the list of all the computers maintained with sysf
.
One must then create the config files for every host. This can be done by
hand, or using sysf
. One should start with a typical host and execute the
following command:
sysf -new ALL
This creates a config file for this host for each system file that does
not have a group, a DEFAULT
or a SHARED
config file yet (the
.host
config file is overwritten if it exists). One must then look at
each config file
and decide if they should be considered as default file or representative of
a given host group, and the suffix of the file should be changed accordingly.
One must also create the SHARED
config files using the -makeshared
command.
Doing this on every host one by one will configure sysf
completely.
Once this is done, it is worth performing the following test
sysf -check ALL -h ALLto make sure that there is no discrepancy between the system and the config files. Notice that to be able to update the system and config files from a remote computer root must be able to rsh to that computer. If this causes a major concern, one can deny rsh as root from any host except from the server (which will be required if one uses tools like rdump). One will thus be able to issue remote
sysf
command from no host but the server.
To modify a system file, say fstab
, one would normally modify the
config file and use the command
sysf -install fstabto update the system file. If the modified config file, say
root_cshrc.DEFAULT
is a DEFAULT file one can update the system
file on all the computers in one command:
sysf -install root_cshrc -host ALLHost group files can be updated globally by changing the word
ALL
by the
appropriate host group name.
Sometimes a system file, say auto.master
is modified directly. To update
the corresponding system file one must be careful. If the config file is a
host file, then one simply uses the command
sysf -archive auto.masteron the host.
If the config file is a host group file, say RoomA
, then
one must use the -makegroup
flag:
sysf -archive auto.master -makegroup RoomAand update the system file on every host belonging to that group:
sysf -install auto.master -host RoomAIf on the other hand the system file must remain specific to this host, one must create the corresponding host config file using the command
sysf -new auto.master
If the config file is a DEFAULT file then one must use the
-makedef
flag:
sysf -makedef auto.masterand update the system file on all the hosts unless the system file is to remain specific to that host in which case one should use the
-new
flag
to create the host config file.
One extra feature of sysf
is to simplify the configuration of a new host.
One has to scan the list of all config files and see which files need some
customisation (usually only a few). The corresponding host files are then
created by copying existing host files which are then edited appropriately.
Once all the config files have been created, the command
sysf -first_install ALL
makes a copy of the system files using the same name but adding the suffix
.DIST
and installs all the configuration files. If the .DIST
file
already exists, the system file is not copied and the existing .DIST
is
left untouched.