URI: 
       tndb.1 - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tndb.1 (10500B)
       ---
            1 .TH NDB 1
            2 .SH NAME
            3 ndbquery, ndbmkhash, ndbmkdb, ndbipquery, ndbmkhosts \- network database
            4 .SH SYNOPSIS
            5 .B ndbquery
            6 [
            7 .B -f
            8 .I dbfile
            9 ]
           10 .I "attr value"
           11 [
           12 .I rattr
           13 ]
           14 .br
           15 .B ndbipquery
           16 .I "attr value"
           17 .I rattr...
           18 .br
           19 .B ndbmkhash
           20 .I "file attr"
           21 .br
           22 .B ndbmkdb
           23 .SH DESCRIPTION
           24 The network database holds administrative information used by
           25 .I authdial
           26 (see
           27 .MR authsrv (3) )
           28 and
           29 .MR secstored (1) .
           30 .PP
           31 .I Ndbquery 
           32 searches the database for an attribute of type
           33 .I attr
           34 and value
           35 .IR value .
           36 If
           37 .I rattr
           38 is not specified, all entries matched by the search are returned.
           39 If 
           40 .I rattr
           41 is specified, the value of the first pair with attribute
           42 .I rattr
           43 of all the matched entries is returned.
           44 .PP
           45 .I Ndbipquery
           46 uses
           47 .I ndbipinfo
           48 (see
           49 .MR ndb (3) )
           50 to search for the values of the attributes
           51 .I rattr
           52 corresponding to the system
           53 with entries of attribute type
           54 .I attr
           55 and
           56 value
           57 .IR value .
           58 .PP
           59 .I Ndbmkhash
           60 creates a hash file for all entries with attribute
           61 .I attr
           62 in database file
           63 .IR file .
           64 The hash files are used by 
           65 .I ndbquery
           66 and by the ndb library routines.
           67 .\" .PP
           68 .\" .I Ndb/cs
           69 .\" is a server used by
           70 .\" .IR dial (2)
           71 .\" to translate network names.
           72 .\" It is started at boot time.
           73 .\" It finds out what networks are configured
           74 .\" by looking for
           75 .\" .B /net/*/clone
           76 .\" when it starts.
           77 .\" It can also be told about networks by writing
           78 .\" to
           79 .\" .B /net/cs
           80 .\" a message of the form:
           81 .\" .IP
           82 .\" .B "add net1 net2 ..."
           83 .\" .PP
           84 .\" .I Ndb/cs
           85 .\" also sets the system name in
           86 .\" .B /dev/sysname
           87 .\" if it can figure it out.
           88 .\" The options are:
           89 .\" .TP
           90 .\" .B -f
           91 .\" supplies the name of the data base file to use,
           92 .\" default
           93 .\" .BR /lib/ndb/local .
           94 .\" .TP
           95 .\" .B -x
           96 .\" specifies the mount point of the
           97 .\" network.
           98 .\" .TP
           99 .\" .B -n
          100 .\" causes cs to do nothing but set the system name.
          101 .\" .PP
          102 .\" .I Ndb/csquery
          103 .\" can be used to query
          104 .\" .I ndb/cs
          105 .\" to see how it resolves addresses.
          106 .\" .I Ndb/csquery
          107 .\" prompts for addresses and prints out what
          108 .\" .I ndb/cs
          109 .\" returns.
          110 .\" .I Server
          111 .\" defaults to
          112 .\" .BR /net/cs .
          113 .\" If any
          114 .\" .I addrs
          115 .\" are specified,
          116 .\" .I ndb/csquery
          117 .\" prints their translations and immediately exits.
          118 .\" The exit status will be nil only if all addresses 
          119 .\" were successfully translated
          120 .\" The
          121 .\" .B -s
          122 .\" flag sets exit status without printing any results.
          123 .\" .PP
          124 .\" .I Ndb/dns
          125 .\" is a server used by
          126 .\" .I ndb/cs
          127 .\" and by remote systems to translate Internet domain names.
          128 .\" .I Ndb/dns
          129 .\" is started at boot time.
          130 .\" By default
          131 .\" .I dns
          132 .\" serves only requests written to
          133 .\" .BR /net/dns .
          134 .\" The options are:
          135 .\" .TP
          136 .\" .B -f
          137 .\" supplies the name of the data base file to use,
          138 .\" default
          139 .\" .BR /lib/ndb/local .
          140 .\" .TP
          141 .\" .B -x
          142 .\" specifies the mount point of the
          143 .\" network.
          144 .\" .TP
          145 .\" .B -s
          146 .\" also answer domain requests sent to UDP port 53.
          147 .\" .TP
          148 .\" .B -n
          149 .\" whenever a zone that we serve changes, send UDP NOTIFY
          150 .\" messages to any dns slaves for that zone.
          151 .\" .TP
          152 .\" .B -z
          153 .\" whenever we receive a UDP NOTIFY message, run
          154 .\" .I program
          155 .\" with the domain name of the area as its argument.
          156 .\" .TP
          157 .\" .B -r
          158 .\" defer to other servers to resolve queries.
          159 .\" .PP
          160 .\" When the
          161 .\" .B -r
          162 .\" option is specified, the servers used come from the
          163 .\" .I dns
          164 .\" attribute in the database.  For example, to specify a set of dns servers that
          165 .\" will resolve requests for systems on the network
          166 .\" .IR mh-net :
          167 .\" .EX
          168 .\" 
          169 .\" ipnet=mh-net ip=135.104.0.0 ipmask=255.255.0.0
          170 .\"         dns=ns1.cs.bell-labs.com
          171 .\"         dns=ns2.cs.bell-labs.com
          172 .\" dom=ns1.cs.bell-labs.com ip=135.104.1.11
          173 .\" dom=ns2.cs.bell-labs.com ip=135.104.1.12
          174 .\" 
          175 .\" .EE
          176 .\" .PP
          177 .\" The server for a domain is indicated by a database entry containing
          178 .\" both a
          179 .\" .I dom
          180 .\" and a
          181 .\" .I ns
          182 .\" attribute.
          183 .\" For example, the entry for the Internet root is:
          184 .\" .EX
          185 .\" 
          186 .\" dom=
          187 .\"         ns=A.ROOT-SERVERS.NET
          188 .\"         ns=B.ROOT-SERVERS.NET
          189 .\"         ns=C.ROOT-SERVERS.NET
          190 .\" dom=A.ROOT-SERVERS.NET ip=198.41.0.4
          191 .\" dom=B.ROOT-SERVERS.NET ip=128.9.0.107
          192 .\" dom=C.ROOT-SERVERS.NET ip=192.33.4.12
          193 .\" 
          194 .\" .EE
          195 .\" The last three lines provide a mapping for the
          196 .\" server names to their ip addresses.  This is only
          197 .\" a hint and will be superseded from whatever is learned
          198 .\" from servers owning the domain.
          199 .\" .PP
          200 .\" You can also serve a subtree of the domain name space from the local
          201 .\" database.  You indicate subtrees that you'ld like to serve by
          202 .\" adding an
          203 .\" .B soa=
          204 .\" attribute to the root entry.
          205 .\" For example, the Bell Labs CS research domain is:
          206 .\" .EX
          207 .\" 
          208 .\" dom=cs.bell-labs.com soa=
          209 .\"         refresh=3600 ttl=3600
          210 .\"         ns=plan9.bell-labs.com
          211 .\"         ns=ns1.cs.bell-labs.com
          212 .\"         ns=ns2.cs.bell-labs.com
          213 .\"         mb=presotto@plan9.bell-labs.com
          214 .\"         mx=mail.research.bell-labs.com pref=20
          215 .\"         mx=plan9.bell-labs.com pref=10
          216 .\"         dnsslave=nslocum.cs.bell-labs.com
          217 .\"         dnsslave=vex.cs.bell-labs.com
          218 .\" 
          219 .\" .EE
          220 .\" Here, the
          221 .\" .B mb
          222 .\" entry is the mail address of the person responsible for the
          223 .\" domain (default
          224 .\" .BR postmaster ).
          225 .\" The
          226 .\" .B mx
          227 .\" entries list mail exchangers for the domain name and
          228 .\" .B refresh
          229 .\" and
          230 .\" .B ttl
          231 .\" define the area refresh interval and the minimum TTL for
          232 .\" records in this domain.
          233 .\" The
          234 .\" .B dnsslave
          235 .\" entries specify slave DNS servers that should be notified
          236 .\" when the domain changes.  The notification also requires
          237 .\" the
          238 .\" .B -n
          239 .\" flag.
          240 .\" .PP
          241 .\" You can also serve reverse lookups (returning the name that
          242 .\" goes with an IP address) by adding an
          243 .\" .B soa=
          244 .\" attribute to the entry defining the root of the reverse space.
          245 .\" For example, to provide reverse lookup for all addresses in
          246 .\" starting with 135.104 you must have a record like:
          247 .\" .EX
          248 .\" 
          249 .\" dom=104.135.in-addr.arpa soa=
          250 .\"         refresh=3600 ttl=3600
          251 .\"         ns=plan9.bell-labs.com
          252 .\"         ns=ns1.cs.bell-labs.com
          253 .\"         ns=ns2.cs.bell-labs.com
          254 .\" .EE
          255 .\" Notice the form of the reverse address, i.e., it's the bytes of the
          256 .\" address range you are serving reversed and with
          257 .\" .B .in-addr.arpa
          258 .\" appended.  This is a standard form for a domain name in an IPv4 PTR record.
          259 .\" .PP
          260 .\" If such an entry exists in the database, reverse addresses will
          261 .\" automaticly be generated from any IP addresses in the database
          262 .\" that are under this root.  For example
          263 .\" .EX
          264 .\" 
          265 .\" dom=ns1.cs.bell-labs.com ip=135.104.1.11
          266 .\" .EE
          267 .\" will automaticly create both forward and reverse entries for
          268 .\" .B ns1.cs.bell-labs.com .
          269 .\" Unlike other DNS servers, there's no way to generate
          270 .\" inconsistent forward and reverse entries.
          271 .\" .PP
          272 .\" Delegation of a further subtree to another set of name servers
          273 .\" is indicated by an
          274 .\" .B soa=delegated
          275 .\" attribute.
          276 .\" .EX
          277 .\" 
          278 .\" dom=bignose.cs.research.bell-labs.com
          279 .\"         soa=delegated
          280 .\"         ns=anna.cs.research.bell-labs.com
          281 .\"         ns=dj.cs.research.bell-labs.com
          282 .\" 
          283 .\" .EE
          284 .\" Nameservers within the delegated domain (as in this example)
          285 .\" must have their IP addresses listed elsewhere in
          286 .\" .I ndb
          287 .\" files.
          288 .\" .PP
          289 .\" Wild-carded domain names can also be used.
          290 .\" For example, to specify a mail forwarder for all Bell Labs research systems:
          291 .\" .EX
          292 .\" 
          293 .\" dom=*.research.bell-labs.com
          294 .\"         mx=research.bell-labs.com
          295 .\" 
          296 .\" .EE
          297 .\" `Cname' aliases may be established by adding a
          298 .\" .B cname
          299 .\" attribute giving the real domain name;
          300 .\" the name attached to the
          301 .\" .B dom
          302 .\" attribute is the alias.
          303 .\" `Cname' aliases are severely restricted;
          304 .\" the aliases may have no other attributes than
          305 .\" .B dom
          306 .\" and are daily further restricted in their use by new RFCs.
          307 .\" .EX
          308 .\" 
          309 .\" cname=anna.cs.research.bell-labs.com dom=www.cs.research.bell-labs.com
          310 .\" 
          311 .\" .EE
          312 .\" .I Ndb/dnsquery
          313 .\" can be used to query
          314 .\" .I ndb/dns
          315 .\" to see how it resolves requests.
          316 .\" .I Ndb/dnsquery
          317 .\" prompts for commands of the form
          318 .\" .IP
          319 .\" .I "domain-name request-type"
          320 .\" .LP
          321 .\" where
          322 .\" .I request-type
          323 .\" can be
          324 .\" .BR ip ,
          325 .\" .BR mx ,
          326 .\" .BR ns ,
          327 .\" .BR cname ,
          328 .\" .BR ptr ....
          329 .\" In the case of the inverse query type,
          330 .\" .BR ptr ,
          331 .\" .I dnsquery
          332 .\" will reverse the ip address and tack on the
          333 .\" .B .in-addr.arpa
          334 .\" for you.
          335 .\" .PP
          336 .\" .I Ndb/dnsdebug
          337 .\" is like
          338 .\" .I ndb/dnsquery
          339 .\" but bypasses the local server.
          340 .\" It communicates via UDP with the domain name servers
          341 .\" in the same way that the local resolver would and displays
          342 .\" all packets received.
          343 .\" The query can be specified on the command line or
          344 .\" can be prompted for.
          345 .\" The queries look like those of
          346 .\" .I ndb/dnsquery
          347 .\" with one addition.
          348 .\" .I Ndb/dnsdebug
          349 .\" can be directed to query a particular name server by
          350 .\" the command
          351 .\" .BI @ name-server\f1.
          352 .\" From that point on, all queries go to that name server
          353 .\" rather than being resolved by
          354 .\" .IR dnsdebug .
          355 .\" The
          356 .\" .B @
          357 .\" command returns query resolution to
          358 .\" .IR dnsdebug .
          359 .\" Finally, any command preceded by a
          360 .\" .BI @ name-server
          361 .\" sets the name server only for that command.
          362 .\" .PP
          363 .\" Normally
          364 .\" .I dnsdebug
          365 .\" uses the
          366 .\" .B /net
          367 .\" interface and the database file
          368 .\" .BR /lib/ndb/local.
          369 .\" The
          370 .\" .B -x
          371 .\" option directs
          372 .\" .I dnsdebug
          373 .\" to use the
          374 .\" .B /net.alt
          375 .\" interface and
          376 .\" .B /lib/ndb/external
          377 .\" file.
          378 .\" The
          379 .\" .B -r
          380 .\" option is the same as for
          381 .\" .IR ndb/dns .
          382 .PP
          383 .I Ndbmkdb
          384 is used in concert with
          385 .MR awk (1)
          386 scripts to convert
          387 uucp systems files and IP host files
          388 into database files.
          389 It is very specific to the situation at Murray Hill.
          390 .PP
          391 When the database files change underfoot,
          392 running programs
          393 track them properly.  Nonetheless, to keep the database searches efficient
          394 it is necessary to run
          395 .I ndbmkhash
          396 whenever the files are modified.
          397 It may be profitable to control this by a frequent
          398 .MR cron (8)
          399 job.
          400 .PP
          401 .I Ndbmkhosts
          402 generates a BSD style 
          403 .BR hosts ,
          404 .BR hosts.txt ,
          405 and
          406 .B hosts.equiv
          407 files from ndb data base files specified on the
          408 command line (default
          409 .B \*9/ndb/local
          410 and
          411 .BR \*9/ndb/friends ).
          412 It only processes hosts whose domain names end in
          413 .IR domname .
          414 The output files are named
          415 .BI db. domname \fR,
          416 .BI equiv. domname \fR,
          417 and
          418 .BI txt. domname \fR.
          419 For historical reasons, the default
          420 .I domname
          421 is
          422 .BR research.att.com.
          423 .SH EXAMPLE
          424 .IP
          425 .EX
          426 % ndbquery sys helix
          427 sys=helix dom=helix.research.bell-labs.com bootf=/mips/9powerboot
          428         ip=135.104.117.31 ether=080069020427
          429         proto=il 
          430 .EE
          431 .SH FILES
          432 .TP
          433 .B \*9/ndb/local
          434 first database file searched
          435 .TP
          436 .B \*9/ndb/local.*
          437 hash files for
          438 .B \*9/ndb/local
          439 .SH SOURCE
          440 .B \*9/src/cmd/ndb
          441 .SH SEE ALSO
          442 .MR ndb (3) ,
          443 .MR ndb (7)