dictdconfig(8) write dictd database configuration section


dictdconfig [-hlovw] [--help] [--list] [--order] [--version] [--write]


dictdconfig generates a complete dictd database configuration section for available dictionary databases found in /usr/share/dictd/ (or possibly elsewhere if an optional order override file is present). If a dictionary database contains a <basename>.suffix and/or a <basename>.word file, appropriate index_suffix and index_word entries are created.

Its output file /var/lib/dictd/db.list may then be included from the dictd configuration file /etc/dictd/dictd.conf with an ``include /var/lib/dictd/db.list'' line. See dictd(8) for an explanation of dictd configuration.

In Debian, dictdconfig is automatically invoked upon installation or removal of dictionary database packages, so most users will never need to invoke it by hand.


The default order in which database entries are written is hard coded into dictdconfig, but it may be overridden via the optional order override file /etc/dictd/dictd.order. This may be desired because dictd returns definitions from dictionary databases in the order in which they are listed in its configuration file. The order override file may also be used to include local dictionary databases which may not necessarily reside in /usr/share/dictd/.

/etc/dictd/dictd.order, if present, should be a whitespace separated list of basenames and directories. It may also include comments starting with # and extending to the end of the line. Virtual dictionaries and the directive database_exit may be included in the order override file. (If virtual dictionaries are used, it is necessary to use this directive after the default set of dictionaries to avoid returning duplicate entries. See dictd(8).)

Dictionary database entries will be generated only for those databases found via basename and directory entries in the default order (or the order override file, if present), and they will be generated in the order in which these entries appear. No more than one dictionary database entry of any given name will be generated.

Entries without a leading / are relative to /usr/share/dictd/.

Entries without a trailing / are basenames. A dictionary database entry is generated if <basename>.index and <basename>.dict.dz or <basename>.dict are present.

Entries with a trailing / are directories. A dictionary database entry is generated for each <name> where <directory>/<name>.index and <directory>/<name>.dict.dz or <directory>/<name>.dict are present.

The default order includes the directory /usr/share/dictd/ as its final entry so that if a previously unknown dictionary database (one not explicitly mentioned in the default order) is installed, its dictionary database entry will still be generated. An order override file should also use this technique, both for /usr/share/dictd/ and for any other directory where local dictionary database might be installed.

The -o option may be used to make dictdconfig display the default order information along with the order override information if /etc/dictd/dictd.order is present.


If no dictionary databases are found (via basename or directory entries in the default order or the order override file), a dummy dictionary database entry will be generated with /dev/null for both data and index. This allows dictd to start without error.


If an executable script named /etc/dictd/dictdconfig.alias exists, dictdconfig will filter database names through it. The script can be bash, sed, perl, or whatever. Although dict -D will display database names of any length, names longer than 16 characters are displayed in a ragged format. Appropriate entries in this alias file can be used to cause dict -D to display the database names in a reasonable format.


-w, --write
Write database section to /var/lib/dictd/db.list.
-l, --list
List database section to standard out.
-o, --order
Display database order information.
-h, --help
Display a usage message and exit.
-v, --version
Display version information and exit.


Output of dictdconfig.
dictd configuration file which "includes" /var/lib/dictd/db.list.
Optional dictdconfig order override file.


Older dictionary database packages did not automatically invoke dictdconfig upon installation and removal, so you may need to do so manually (after which, you should restart dictd).


Kirk Hilliard <[email protected]>.