Here is a list of all the Perl and shell (mostly bash) scripts,
Makefiles, configuration files, and directories that make up the
While you may look at the contents of most of the files, the individual
hostgroup files are not listed here, because we don't
want to export all information about all our hosts to
the whole world, and the exact list of hostgroups changes
Some of the comments in some of the files may be in German to make
sure they are understood by all of our computer facility staff.
The source code for the hostcap command will be
available soon (you can get a copy if you ask me by e-mail,
but I don't have a full-fledged, polished distribution ready yet).
Directory holding all the hostgroup files.
Text file holding the list of hostgroup files, one per line.
The reason this is required is that there may be other files
in this directory, such as a template for new
This Makefile is used to check and install hostgroup files
after having modified them.
Not really a hostgroup file.
This file defines pseudo-records specifying things like the
list of capabilities, and it includes all the real hostgroup
files using the M4 include directive.
Shell script that is invoked by hostgroups/Makefile to
check and install modified hostgroups.
Perl scripts that perform various checks on modified hostgroup
files; invoked by bin/update.
Perl script that generates the DNS (bind) domain data file from the
Bash scripts that generates the source file for the hosts
NIS map from the host database (standard ``/etc/hosts'' format).
Perl script that generates a NIS netgroup from the host database;
the output can be used as part of the source file for the
netgroup NIS map.
The script is called with a netgroup name and one or more
arguments passed to the hostcap command (typically
relational expressions that specify the subset of hosts to
be included in the netgroup).
Care is taken to avoid the artificial size limit built in the
Solaris netgroup implementation.
Perl script that lists the free IP-addresses in a given subnet,
using the host database as input.
Lists the permitted values for the arch= and
This file lists the range of permitted IP addresses for each
It is indexed with the name of a hostgroup file.
Each address range is specified as a comma-list of full IP addresses,
and/or subnet IDs, and/or ranges of subnet IDs.
Perl file that defines various constants used by gendns
when called with the argument informatik
(primary nameserver, SOA parameters, mail exchangers, etc.).
There may exist several such files with different suffixes.
This shell script is called as a cron-job on the central
nameserver machine (roughly every 10 minutes).
This GNU gmake makefile is invoked by hostconfig.cron, and its
output is mailed to hostmaster (a local
alias for the staff responsible for the host database).
Shell script to create a new host database when one or more
hostgroups have been modified.
This script is called by makefile.cron.
This directory (which resides on the nameserver machine)
holds all the installed hostgroup files.
It is scanned by makefile.cron periodically to
check if any hostgroup files have been modified.
Lock directory used by update and newdb
to take care of multiple instances of these scripts running
at the same time.
The host database (text and .db versions).
The prolog (a comment) and the constant portion of the automatically
generated netgroup NIS map source file.
If such a file exists for a given netgroup, its contents
are prepended to the netgroup (line by line) when the netgroup is created
by calling the gennetgroup command.
This is useful for including (external) hostnames that are not present in
the host database.
Top: hostcap overview
Prev: Life with hostcap