File Formats bartrules(4)
NAME
bartrules - bart rules file
DESCRIPTION
The bartrules file is a text file that is used by the
bart(1M) command. The rules file determines which files to
validate and which file attributes of those files to ignore.
Some lines are ignored by the manifest comparison tool.
Ignored lines include blank lines, lines that consist only
of white space, and comments that begin with #.
The rules file supports three directives: CHECK, IGNORE, and
a subtree directive, which is an absolute path name and
optional pattern matching modifiers. Each CHECK, IGNORE, and
subtree directive must be on a separate line. Bart supports
continuation of long lines using a backslash (\). The rules
file uses the directives to create logical blocks.
Syntax
The syntax for the rules file is as follows:
[IGNORE attribute...]*
[CHECK] [attribute...]*
subtree1 [pattern...]*
[IGNORE attribute...]*
[CHECK] [attribute...]*
subtree2 [pattern...]*
subtree3 [pattern...]*
subtree4 [pattern...]*
[IGNORE attribute...]*
[CHECK] [attribute...]*
...
Rule Blocks
Rule blocks are composed of statements that are created by
using directives and arguments.
There are three types of blocks:
Global Block The first block in the file. The block is
considered ``global'' if it specifies CHECK
and IGNORE statements, but no previous sub-
tree statement. A global block pertains to
all subsequent blocks.
SunOS 5.11 Last change: 9 Sep 2003 1
File Formats bartrules(4)
Local block A block that specifies CHECK and IGNORE
statements as well as a subtree directive.
The rules in this block pertain to files and
directories found in the specified subtree.
Heir block A block that contains a null CHECK state-
ment, no arguments. This block inherits the
global CHECK statements and IGNORE state-
ments.
The order in which CHECK and IGNORE statements appear in
blocks is important. The bart command processes CHECK and
IGNORE statements in the order in which they are read, with
later statements overriding earlier statements.
Subtree specifications must appear one per line. Each
specification must begin with an absolute path name. Option-
ally, each specification can be followed by pattern-matching
arguments.
When a file system being tracked belongs to more than one
subtree directive, bart performs the following resolution
steps:
o Applies the CHECK and IGNORE statements set in the
global block. Note that all CHECK and IGNORE state-
ments are processed in order.
o Finds the last subtree directive that matches the
file.
o Processes the CHECK and IGNORE statements that
belong to the last matching subtree directive.
These statements are processed in the order in
which they are read, overriding global settings.
Pattern Matching Statements
There are two types of pattern matching statements
AND For a given subtree directive, all pattern matching
statements are logically ANDed with the subtree. Pat-
terns have the following syntax:
o Wildcards are permitted for both the subtree
and pattern matching statements.
o The exclamation point (!) character
SunOS 5.11 Last change: 9 Sep 2003 2
File Formats bartrules(4)
represents logical NOT.
o A pattern that terminates with a slash is a
subtree. The absence of a slash indicates
that the pattern is not a directory. The
subtree itself does not require an end
slash.
For example, the following subtree example includes
the contents of /home/nickiso/src except for object
files, core files, and all of the SCS subtrees. Note
that directory names that terminate with .o and
directories named core are not excluded because the
patterns specified do not terminate with /.
/home/nickiso/src !*.o !core !SCS/
CHECK all
OR Group multiple subtree directives together. Such sub-
tree directives are logically ORed together.
/home/nickiso/src !*.o !core
/home/nickiso/Mail
/home/nickiso/docs *.sdw
CHECK all
IGNORE mtime lnmtime dirmtime
The files included in the previous example are as
follows:
o Everything under /home/nickiso/src except
for *.o and core files
o Everything under /home/nickiso/Mail
o All files under /home/nickiso/docs that end
in *.sdw
For these files, all attributes are checked except
for modification times.
File Attributes
The bart command uses CHECK and IGNORE statements to define
which attributes to track or ignore. Each attribute has an
associated keyword.
The attribute keywords are as follows:
acl ACL attributes for the file. For a file with ACL
attributes, this field contains the output from
SunOS 5.11 Last change: 9 Sep 2003 3
File Formats bartrules(4)
acltotext().
all All attributes.
contents Checksum value of the file. This attribute is
only specified for regular files. If you turn
off context checking or if checksums cannot be
computed, the value of this field is -.
dest Destination of a symbolic link.
devnode Value of the device node. This attribute is for
character device files and block device files
only.
dirmtime Modification time in seconds since 00:00:00 UTC,
January 1, 1970 for directories.
gid Numerical group ID of the owner of this entry.
lnmtime Creation time for links.
mode Octal number that represents the permissions of
the file.
mtime Modification time in seconds since 00:00:00 UTC,
January 1, 1970 for files.
size File size in bytes.
type Type of file.
uid Numerical user ID of the owner of this entry.
EXAMPLES
Example 1 Sample Rules File
SunOS 5.11 Last change: 9 Sep 2003 4
File Formats bartrules(4)
The following is a sample rules file:
# Global rules, track everything except dirmtime.
CHECK all
IGNORE dirmtime
# The files in /data* are expected to change, so don't bother
# tracking the attributes expected to change.
# Furthermore, by specifying ``IGNORE contents,'' you save
# time and resources.
/data*
IGNORE contents mtime size
/home/nickiso f* bar/
IGNORE acl
# For /usr, apply the global rules.
/usr
CHECK
# Note: Since /usr/tmp follows the /usr block, the /usr/tmp
# subtree is subjected to the ``IGNORE all.''
/usr/tmp
/home/nickiso *.o
/home/nickiso core
/home/nickiso/proto
IGNORE all
The following files are cataloged based on the sample rules
file:
o All attributes, except for dirmtime, mtime, size,
and contents, are tracked for files under the
/data* subtrees.
o Files under the /usr subtree, except for /usr/tmp,
are cataloged by using the global rules.
o If the /home/nickiso/foo.c file exists, its attri-
butes, except for acl and dirmtime, are cataloged.
o All .o and core files under /home/nickiso, as well
as the /home/nickiso/proto and /usr/tmp subtrees,
are ignored.
o If the /home/nickiso/bar/foo.o file exists, it is
ignored because it is subject to the last block.
SunOS 5.11 Last change: 9 Sep 2003 5
File Formats bartrules(4)
SEE ALSO
bart(1M), bartmanifest(4), attributes(5)
SunOS 5.11 Last change: 9 Sep 2003 6
|