Next Previous Contents

7. Configuring and Using 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 -Va
The 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 ALL
to 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 fstab 
to 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 ALL 
Host 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.master 
on 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 RoomA 
and update the system file on every host belonging to that group:
     sysf -install auto.master -host RoomA 
If 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.master
and 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.


Next Previous Contents