Manual Reference Pages - LBDBQ (1)
lbdbq - query program for the little brothers database
lbdbq is the client program for the little brothers database. It will
attempt to invoke various modules to gather information about persons
something. E.g., it may look at a list of addresses from which you have received
mail, it may look at YP maps, or it may try to finger
The behavior is configurable: Upon startup,
lbdbq will source the shell scripts:
if they exist.
They can be used to set the following global variables:
Note that there
are defaults, so you should most
probably modify these variables using constructs like this:
a space separated list of directories, where
lbdbq should look for modules.
a space separated list of the modules to use.
If you set this to
no, lbdbq wont sort the addresses but returns them in reverse order
(which means that the most recent address in m_inmail database is
first). If you set this to
name, lbdbq sorts the output by real name. If you set this to
comment, it sort the output by the comment (for example the date in
reverse_comment realizes the same as
comment, but in reverse order, so the most recent timestamp of m_inmail may be
on top. If you set SORT_OUTPUT to
address, lbdbq sorts the output by addresses (thats the default).
If you set this to
yes, lbdbq wont remove duplicate addresses with different real name
Additionally, modules may have configuration variables of
Currently, the following modules are supplied with lbdb:
Feel free to create your own modules to query other database resources,
YP maps, and the like.
m_finger should be a good example of how to do it.
This module will use finger to find out something more about a person.
The list of hosts do be asked is configurable; use the
M_FINGER_HOSTS variable. Note that "localhost" will mean an invocation of your local
binary, and should thus work even if you dont provide the finger
service to the network.
m_finger tries to find out the machines mail domain name in
/etc/mailname, by parsing a
sendmail.cf file (if it finds one) and by reading
/etc/HOSTNAME. If you know that this fails on your machine, or you want to force lbdbq
to consider some other name to be the local mail domain name (misconfigured
SUNs come to mind here), you can specify a name using the
MAIL_DOMAIN_NAME variable. If this variable is set by you, no probing will be done by
This module will look up user name fragments in a list of mail
addresses created by
This module searches for matching entries in your local /etc/passwd
file. It evaluates the local machine mail domain in the same way
m_finger does. If you set
PASSWD_IGNORESYS=true, this module ignores all system accounts and only finds UIDs between
1000 and 29999 (all other UIDs are reserved on a Debian system).
This module searches for matching entries in the NIS password database
using the command ypcat passwd.
This module searches for matching entries in the NIS+ password database
using the command niscat passwd.org_dir.
This module searches for matching entries in whatever password
database is configured using the command getent passwd.
m_pgp2, m_pgp5, m_gpg |
These modules scan your PGP 2.*, PGP 5.* or GnuPG public key ring for
data. They use the programs
to get the data.
This module searches your Fido nodelist, stored in
$HOME/.lbdb/nodelist created by
This module uses the program
a text based address book application to search for addresses. You
can define multiple abook address books by setting the variable
ABOOK_FILES to a space separated list.
This module uses the program
a text based frontend to the Tk
This module searches the variable
MUTTALIAS_FILES (a space separated list) of files in
MUTT_DIRECTORY that contain mutt aliases. File names without leading slash will have
MUTT_DIRECTORY (defaults to
$HOME/.mutt does not exist) prepended before the file name. Absolute file names
/) will be taken direct.
This module searches
addressbook files for aliases. To realize this it first inspects the
PINERC. If it isnt set, the default
/etc/pine.conf /etc/pine.conf.fixed .pinerc is used. To suppress inspecting the
PINERC variable, set it to
no. It than takes all
global-address-book entries from these pinerc files and adds the contents of the variable
PINE_ADDRESSBOOKS to the list, which defaults to
/etc/addressbook .addressbook. Then these addressbooks are searched for aliases. All filenames
without leading slash are searched in
This module searches the Palm address database using the
Perl modules from CPAN.
It searches in the variable
PALM_ADDRESS_DATABASE or if this isnt set in
This module searches for addresses in your GnomeCard database files.
GNOMECARD_FILES is a whitespace separated list of GnomeCard data files. If this
variable isnt defined, the module searches in
$HOME/.gnome/GnomeCard for the GnomeCard database or at least falls back to
$HOME/.gnome/GnomeCard.gcrd. If a filename does not start with a slash, it is prefixed with
This module searches for addresses in your (X)Emacs BBDB (big brother
database). It doesnt access ~/.bbdb directly (yet) but calls
with a special mode to get the information (so dont expect too much
performance in this module). You can configure the
EMACS variable to tell this module which emacsen to use. Otherwise it will
fall back to
This module queries an LDAP server using the
Perl modules from CPAN. It can be configured using an external
$HOME/.mutt_ldap_query.rc. You can explicity define a LDAP query in this file or you can use one
or more of the predefined queries from the
%ldap_server_db in this file. For this you have to define a space separated list of
nicknames from entries in the variable
This module searches for addresses stored in your
$WANDERLUST_ADDRESSES (or by default in
$HOME/.addresses) file, an addressbook of
This module queries the OS X AddressBook. It is only available on OS
This module queries the Ximian Evolution address book. It depends on
evolution-addressbook-export, which is shipped with evolution.
This module uses libvformat to search for addresses from the
space-separated set of vCard files defined in
If you create your own modules or have other changes and feel that
they could be helpful for others, dont hesitate to submit them to the
author for inclusion in later releases.
Finally, to use
lbdbq from mutt, add the following line to your
set query_command="lbdbq %s"
-v | --version
Print version number of lbdbq.
-h | --help
Print short help of lbdbq.
Most of the really interesting code of this program (namely, the RFC
822 address parser used by lbdb-fetchaddr) was stolen from Michael
Elkins mutt mail user agent. Additional credits go to Brandon Long
for putting the query functionality into mutt.
Many thanks to the authors of the several modules and extensions:
Ross Campbell <email@example.com> (m_abook, m_yppasswd),
Marc de Courville <firstname.lastname@example.org> (m_ldap, mutt_ldap_query),
Brendan Cully <email@example.com> (m_osx_addressbook, m_vcf),
Gabor Fleischer <firstname.lastname@example.org> (m_pine),
Rick Frankel <email@example.com> (m_gnomecard),
Utz-Uwe Haus <firstname.lastname@example.org> (m_bbdb, m_nispasswd),
Torsten Jerzembeck <email@example.com> (m_addr_email),
Adrian Likins <firstname.lastname@example.org> (m_getent),
Gergely Nagy <email@example.com> (m_wanderlust),
Dave Pearson <firstname.lastname@example.org> (m_palm, lbdb.el), and
Brian Salter-Duke <email@example.com> (m_muttalias).
The lbdb package was initially written by Thomas Roessler
<firstname.lastname@example.org> and is now maintained and heavily extended by
Roland Rosenfeld <email@example.com>.
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.