scc(4)
NAME
scc - file formats used by SCC
RELEASE
scc 1.26.73
DESCRIPTION
SCC stores configuration data from systems in flat files called snap-
shots. All configuration data is structured by prefixing it with a
fixed-variable indication and with a hierarchical classification. The
indication, all elements of the classification and the configuration
data are separated by colons.
By comparing two consecutive snapshots after selecting the fixed data,
we are able to maintain a logbook of a system. Lines in the logbook
also consist of colon separated fields.
SNAPSHOTS
The contents of the file /var/adm/cron/cron.allow are stored in a snap-
shot in the following way:
fix:software:cron:configuration::/var/adm/cron/cron.allow:root
fix:software:cron:configuration::/var/adm/cron/cron.allow:adm
fix:software:cron:configuration::/var/adm/cron/cron.allow:uucp
After the indicator "fix" for fixed data, there is at least one level
of hierarchical classifications of the remaining data. The classifica-
tion and the data are separated by two consecutive colons.
When this file is altered (uucp should not run cron-jobs), the missing
line is reported in the logbook. The reported data contains the change
itself (uucp) and the classification of the altered data (soft-
ware:cron:configuration::/var/adm/cron/cron.allow:). Without the clas-
sification SCC only could have reported that a user has been removed.
CLASSIFICATIONS
For some items help info is generated, that is prefixed with "hlp:".
During the collection process, statistics are generated, that are pre-
fixed with "stats:".
The output of scc-collect is checked by scc-log. Any line that does not
start with "fix:", "var:", "hlp:" or "stats:" is prefixed with
"fix:messages::", indicating unexpected output from one of the commands
used by scc-collect. As the html-file groups data per classification,
the original snapshot has to be inspected to locate the commands caus-
ing this output.
The snapshot is converted to a hierarchical menu. Therefore the follow-
ing combination of classifications cannot be used:
fix:software:myprogram::
fix:software:myprogram:config::
The first classification results in html-code to access "myprogram" as
an option in the sub-menu "software". The second classification should
result in html-code to access a sub-menu "myprogram" containing the
option "config".
It is the responsibility of the developer to ensure a correct menu-
structure by using the correct classifications in scc-collect and in
the plugins. This kind of errors is detected and reported in the snap-
shot by scc-collect.
LOGBOOK
Two consecutive snapshots are compared using diff. The resulting output
is altered to indicate the old and the new configuration. When the user
uucp is removed from cron.allow, the following data is added to the
logbook:
2001-09-12:11.18.46:result::different
2001-09-12:11.18.46:remark::
2001-09-12:11.18.46:count::1
2001-09-12:11.18.46:previous date::2001-09-08
2001-09-12:11.18.46:previous time::07.37.46
2001-09-12:11.18.46:data::old::software:cron:configuration::
/var/adm/cron/cron.allow:uucp
For clarity the last line has been folded.
Again we see colon separated fields. The first fields indicate the date
and time of the change. Then there is a classification of the remaining
fields, separated by two, consecutive colons from the differences. The
classification is limited to: result, remark, count, previous date,
previous time and data.
After reporting the result and some administrivia, finally the actual
change is reported. The keyword old indicates that this data was only
present in the old snapshot. So it has been removed from the current
configuration of the system.
When a client is configured (via scc-localize) to use context diff, the
"old:" and "new:" types of data are extended with the "ctx:" type to
indicate the contect of the difference. These lines do not count for
the numner of detected changes.
KEEP-FILE
The keep-file is used to store data that is obtained from running pro-
cesses, that might not be running during the next run of scc. To avoid
changes in the logbook any time such a process temporarily does not
run, the obtained data is stored in a keep-file. scc-collect uses the
data in this file when the processes are not running. Examples of the
data in the keep-file are apache-configuration data and rpm-data. The
latter data should be recorded in the keep-file as the rpm-database is
locked during installs and rpm does not return any data when it is
queried during an install.
The format of the keep-file looks like the format of the snapshots. It
consists of lines with colon-separated fields. Leading fields are used
to identify the data. The contents of the keep-file are determined by
scc-collect.
The keep-file is removed during the installation of SCC to enable
upgrades of the format of this file. This results in the "feature" that
SCC is unable to record its own upgrade on a RPM-system.
COPYRIGHT
SCC is free software under the terms of the GNU General Public License.
Copyright (C) 2001-2004 Open Challenge B.V., 2004-2005 OpenEyeT Profes-
sional Services, 2005-2018 QNH, 2019 Siem Korteweg.
SEE ALSO
scc(1), scc-cmp(1), scc-collect(1), scc-log(1), scc-log2html(1),
scc-plugin(1), scc-snap2html(1), scc(4), scc(5)
VERSION
$Revision: 6216 $