LBDBQ(1)                         User Manuals                         LBDBQ(1)

       lbdbq - query program for the little brother's database

       lbdbq something
       lbdbq [-v|--version|-h|--help]

       lbdbq is the client program for the little brother's database. It will
       attempt to invoke various modules to gather information about persons
       matching 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 something@<various hosts>.

       The behavior is configurable: Upon startup, lbdbq will source the shell
       if they exist.

       They can be used to set the following global variables:

              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 false or no, lbdbq won't 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 m_inmail).  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 (that's the default).

              If you set this to true or yes, lbdbq won't remove duplicate
              addresses with different real name comment fields.

       Note that there are defaults, so you should most probably modify these
       variables using constructs like this:
              MODULES_PATH="$MODULES_PATH $HOME/lbdb_modules"

       Additionally, modules may have configuration variables of their own.

       Currently, the following modules are supplied with lbdb:

              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 finger(1) binary, and should thus work
              even if you don't provide the finger service to the network.
              m_finger tries to find out the machines mail domain name in
              /etc/mailname, by parsing a file (if it finds one)
              and by reading /etc/hostname and /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 lbdbq.

              This module will look up user name fragments in a list of mail
              addresses created by lbdb-fetchaddr(1).  By default this uses
              $HOME/.lbdb/m_inmail.utf-8 as its database file, but this can be
              changed using INMAIL_DB variable (but do not forget to change
              this in the lbdb-fetchaddr(1) call using option -f, too).

              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

              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 pgp(1), pgpk(1), or gpg(1)
              to get the data.

       m_fido This module searches your Fido nodelist, stored in
              $HOME/.lbdb/nodelist created by nodelist2lbdb(1).

              This module uses the program abook(1), 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 goobook(1), a tool to access Google
              contacts via command line.

              This module uses the program addr-email(1), a text based
              frontend to the Tk addressbook(1) application.

              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 or $HOME, if $HOME/.mutt
              does not exist) prepended before the file name.  Absolute file
              names (beginning with /) will be taken direct.

       m_pine This module searches pine(1) addressbook files for aliases.  To
              realize this it first inspects the variable PINERC.  If it isn't
              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 address-book and 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 $HOME.

       m_palm This module searches the Palm address database using the
              Palm::PDB(3pm) and Palm::Address(3pm) Perl modules from CPAN.
              It searches in the variable PALM_ADDRESS_DATABASE or if this
              isn't set in $HOME/.jpilot/AddressDB.pdb.

              This module searches for addresses in your GnomeCard database
              files.  The variable GNOMECARD_FILES is a whitespace separated
              list of GnomeCard data files.  If this variable isn't 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

       m_bbdb This module searches for addresses in your (X)Emacs BBDB (big
              brother database).  It doesn't access ~/.bbdb directly (yet) but
              calls emacs(1) or xemacs(1) with a special mode to get the
              information (so don't 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
              emacs or xemacs.

       m_ldap This module queries an LDAP server using the Net::LDAP(3pm) Perl
              modules from CPAN.  It can be configured using an external
              resource file /etc/lbdb_ldap.rc or $HOME/.lbdb/ldap.rc or
              $HOME/.mutt_ldap_query.rc.  You can explicitly 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 LDAP_NICKS.

              This module searches for addresses stored in your
              $WANDERLUST_ADDRESSES (or by default in $HOME/.addresses) file,
              an addressbook of WanderLust.

              This module queries the OS X AddressBook.  It is only available
              on OS X systems.

              This module queries the Ximian Evolution address book.  It
              depends on the program evolution-addressbook-export, which is
              shipped with evolution.

       m_vcf  This module uses libvformat to search for addresses from the
              space-separated set of vCard files defined in $VCF_FILES.

              This module searches a CardDAV address book via khard(1).

       m_mu   This module uses the program mu-cfind(1), which searches in the
              index file generated by the mu tool.  You can filter the results
              with the variables MU_AFTER (the number of seconds since
              1970-01-01 UTC) and MU_PERSONAL (set to true or yes, remember to
              invoke mu-index(1) with --my-address)

       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

       If you create your own modules or have other changes and feel that they
       could be helpful for others, don't 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.


       finger(1), ypcat(1), niscat(1), getent(1), pgp(1), pgpk(1), gpg(1),
       lbdb-fetchaddr(1), nodelist2lbdb(1), mutt_ldap_query(1), abook(1),
       goobook(1), addr-email(1), addressbook(1), mutt(1), pine(1), emacs(1),
       xemacs(1), Palm::PDB(3pm), Palm::Address(3pm), Net::LDAP(3pm).

       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 <> (m_abook, m_yppasswd), Marc de
       Courville <> (m_ldap, mutt_ldap_query), Brendan Cully
       <> (m_osx_addressbook, m_vcf), Gabor Fleischer
       <> (m_pine), Rick Frankel <>
       (m_gnomecard), Utz-Uwe Haus <> (m_bbdb, m_nispasswd),
       Torsten Jerzembeck <> (m_addr_email), Adrian
       Likins <> (m_getent), Gergely Nagy
       <> (m_wanderlust), Dave Pearson <>
       (m_palm, lbdb.el), Brian Salter-Duke <>
       (m_muttalias), François Charlier <> (m_goobook),
       and Colin Watson <> (m_khard)

       The lbdb package was initially written by Thomas Roessler
       <> and is now maintained and heavily extended by Roland
       Rosenfeld <>.

Unix                              March 2018                          LBDBQ(1)