Man Linux: Main Page and Category List


       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).

              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  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 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 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.

       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),
       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),  and  Brian   Salter-Duke   <>


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