exim_dbmbuild - Build a DBM file.
exim_dbmbuild [-nolc] [-nozero] [-noduperr] [-nowarn] inputfile|-
outputfile
The
exim_dbmbuild program reads an input file containing keys and data in
the format used by the
lsearch lookup (see section 9.1). It writes a
DBM file using the lower-cased alias names as keys and the remainder of the
information as data. The lower-casing can be prevented by calling the program
with the
-nolc option.
A terminating zero is included as part of the key string. This is expected by
the dbm lookup type. However, if the option
-nozero is given,
exim_dbmbuild creates files without terminating zeroes in either the
key strings or the data strings. The
dbmnz lookup type can be used with
such files.
The program requires two arguments: the name of the input file (which can be a
single hyphen to indicate the standard input), and the name of the output
file. It creates the output under a temporary name, and then renames it if all
went well. If the native DB interface is in use (USE_DB is set in a
compile-time configuration file - this is common in free versions of Unix) the
two file names must be different, because in this mode the Berkeley DB
functions create a single output file using exactly the name given. For
example,
exim_dbmbuild /etc/aliases /etc/aliases.db
reads the system alias file and creates a DBM version of it in /etc/aliases.db.
In systems that use the
ndbm routines (mostly proprietary versions of
Unix), two files are used, with the suffixes .dir and .pag. In this
environment, the suffixes are added to the second argument of
exim_dbmbuild, so it can be the same as the first. This is also the
case when the Berkeley functions are used in compatibility mode (though this
is not recommended), because in that case it adds a .db suffix to the file
name.
If a duplicate key is encountered, the program outputs a warning, and when it
finishes, its return code is 1 rather than zero, unless the
-noduperr
option is used. By default, only the first of a set of duplicates is used -
this makes it compatible with lsearch lookups. There is an option
-lastdup which causes it to use the data for the last duplicate
instead. There is also an option
-nowarn, which stops it listing
duplicate keys to “stderr”. For other errors, where it doesn't
actually make a new file, the return code is 2.
This manual page needs a major re-work. If somebody knows better groff than us
and has more experience in writing manual pages, any patches would be greatly
appreciated.
exim(8), /usr/share/doc/exim4-base/
This manual page was stitched together from spec.txt by Andreas Metzler
<ametzler at downhill.at.eu.org>, for the Debian GNU/Linux system (but
may be used by others).