TTDBSERVERD(1m)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

πŸ’… ttdbserverd β€” the RPC-based ToolTalk database server (yes that's the real name, it's from user cmd, iykyk)

okay so bestie, buckle up, because we're talking about ttdbserverd, aka rpc.ttdbserverd when it's being fancy in the synopsis. it's the RPC-based ToolTalk database server and honestly it's doing SO much behind the scenes. ✨


🌸 SYNOPSIS 🌸

rpc.ttdbserverd [-G] [-m DTMOUNTPOINT_value] [-n] [-v] [-?]

look at her. five little flags. icon behavior. πŸŽ€


πŸ’– DESCRIPTION πŸ’–

okay so here's the tea: rpc.ttdbserverd manages the ToolTalk objects that get created by tt_spec_create(3), and it also handles certain queries related to the netfiles that tt_file_netfile(3) hands back. one instance of rpc.ttdbserverd β€” normally started by inetd, no cap β€” runs on each host that has a local filesystem. literally one per host with a local fs, that's the rule. 🫢

and it serves four purposes, bestie, four whole jobs:

  1. mapping a spec to its associated file, and a file to its associated specs.
  2. mapping a spec to its properties.
  3. mapping a file to a list of sessions with clients having patterns registered in the scope of that file.
  4. answering netfile queries β€” see tt_file_netfile(3) and tt_host_file_netfile(3).

now, the storage situation πŸ“ β€” for each filesystem that rpc.ttdbserverd needs to store information about, it creates a directory called TT_DB at the mountpoint of that file system. in that directory it creates the databases it needs to store its tables and indices. slay.

but what if the partition isn't writable? πŸ’€ then rpc.ttdbserverd can be told, via partition_map(4), to create the databases in another local partition. and if rpc.ttdbserverd isn't installed on a particular file server, ToolTalk can be told, via hostname_map(4), to manage that file server's partitions using the rpc.ttdbserverd on a different host. teamwork makes the dream work fr fr. 🌈


✨ OPTIONS ✨

  • -G β€” perform garbage collection πŸ—‘οΈ. this cleans up the TT_DB directories and the associated internal database files. self-care for your db, honestly.
  • -m DTMOUNTPOINT_value β€” sets the DTMOUNTPOINT environment variable for rpc.ttdbserverd. and if there's already an environment variable called DTMOUNTPOINT? yeah, -m will override it. take that, existing env var. πŸ’…
  • -n β€” turn off permission checking πŸ™ˆ. normally the protection of the file passed to tt_spec_create(3) determines who may read and write that spec. this option disables this checking and allows anyone to read and write any spec. so basically everyone gets the aux cord. no big deal. except it IS a big deal.
bestie, listen to me: this option should be used with caution. that's not me being dramatic, that's the manpage. πŸ”₯
  • -v β€” print out the version number. cute, quick, slay. ⭐
  • -? β€” prints out the command usage information. the "help, what do I type" button. πŸ‘‘
  • -? β€” (yes, again, that's what's in the page β€” see below πŸ’€)

wait no, literally just the five above: -G, -m, -n, -v, -?. that's the whole lineup. πŸ¦‹


🧚 ENVIRONMENT 🧚

  • DTMOUNTPOINT β€” if set, the value of this environment variable will be used in place of /net in pathnames constructed to answer tt_host_netfile_file(3) queries. this environment variable can also be set by using the -m flag for rpc.ttdbserverd. ✨
  • TT_PARTITION_MAP β€” if set, the value of this environment variable will be used in place of /etc/tt/partition_map. see partition_map(4). πŸ“Œ

πŸ“ FILES πŸ“

  • TT_DB/* β€” spec and session database files are kept in the TT_DB directory under each disk partition mount point. πŸ—‚οΈ
  • tt/hostname_map β€” host redirection map. see hostname_map(4).
  • /etc/tt/partition_map β€” partition redirection map. see partition_map(4).

πŸ”₯ SEE ALSO πŸ”₯

ttsession(1), tt_file_netfile(3), tt_host_file_netfile(3), tt_spec_create(3), hostname_map(4), partition_map(4)

go read them, bestie, they're all connected and the lore runs deep. πŸ’œ


πŸŽ€ sign-off πŸŽ€

and that's the whole page, no notes! this one's filed under ttdbserverd(user cmd) β€” that's the manual name up there at the top and the footer label down here at the bottom, so now you know where to find her again. no version number or date was given in the original, so we're not making one up. periodt. 🌸

now go make sure your TT_DB directories are cute and your permission checking is ON. mwah. πŸ’–

πŸ“¦ where this page comes from