mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-06-01 23:30:53 +00:00
docs/CLI.txt: provide an overview of bin/tahoe subcommands
This commit is contained in:
parent
26187bfc81
commit
e2af2decdc
102
docs/CLI.txt
Normal file
102
docs/CLI.txt
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
= The Tahoe CLI commands =
|
||||||
|
|
||||||
|
Tahoe provides a single executable named "tahoe", which can be used to create
|
||||||
|
and manage client/server nodes, manipulate the virtual drive, and perform
|
||||||
|
several debugging/maintenance tasks.
|
||||||
|
|
||||||
|
This executable lives in the source tree at "bin/tahoe". Once you've done a
|
||||||
|
build (by running "make"), bin/tahoe can be run in-place: if it discovers
|
||||||
|
that it is being run from within a Tahoe source tree, it will modify sys.path
|
||||||
|
as necessary to use all the source code and dependent libraries contained in
|
||||||
|
that tree.
|
||||||
|
|
||||||
|
If you've installed Tahoe (using "make install", or by installing a binary
|
||||||
|
package), then the tahoe executable will be available somewhere else, perhaps
|
||||||
|
in /usr/bin/tahoe . In this case, it will use your platform's normal
|
||||||
|
PYTHONPATH search paths to find the tahoe code and other libraries.
|
||||||
|
|
||||||
|
== CLI Command Overview ==
|
||||||
|
|
||||||
|
The "tahoe" tool provides access to three categories of commands.
|
||||||
|
|
||||||
|
* node management: create a client/server node, start/stop/restart it
|
||||||
|
* vdrive manipulation: list files, upload, download, delete, rename
|
||||||
|
* debugging: unpack cap-strings, examine share files
|
||||||
|
|
||||||
|
To get a list of all commands, just run "tahoe" with no additional arguments.
|
||||||
|
"tahoe --help" might also provide something useful.
|
||||||
|
|
||||||
|
Running "tahoe --version" will display a list of version strings, starting
|
||||||
|
with the "allmydata" module (which contains the majority of the Tahoe
|
||||||
|
functionality) and including versions for a number of dependent libraries,
|
||||||
|
like Twisted, Foolscap, pycryptopp, and zfec.
|
||||||
|
|
||||||
|
== Node Management ==
|
||||||
|
|
||||||
|
"tahoe create-client [NODEDIR]" is the basic make-a-new-node command. It
|
||||||
|
creates a new directory and populates it with files that will allow the
|
||||||
|
"tahoe start" command to use it later on. This command creates nodes that
|
||||||
|
have client functionality (upload/download files), web API services
|
||||||
|
(controlled by the 'webport' file), and storage services (controlled by
|
||||||
|
"no_storage" and the like).
|
||||||
|
|
||||||
|
NODEDIR defaults to ~/.tahoe/ , and newly-created clients default to
|
||||||
|
publishing a web server on port 8123 (limited to the loopback interface, at
|
||||||
|
127.0.0.1, to restrict access to other programs on the same host). All of the
|
||||||
|
other "tahoe" subcommands use corresponding defaults.
|
||||||
|
|
||||||
|
"tahoe create-introducer [NODEDIR]" is used to create the Introducer node.
|
||||||
|
This node provides introduction services and nothing else. When started, this
|
||||||
|
node will produce an introducer.furl, which should be published to all
|
||||||
|
clients.
|
||||||
|
|
||||||
|
"tahoe create-key-generator [NODEDIR]" is used to create a special
|
||||||
|
"key-generation" service, which allows a client to offload their RSA key
|
||||||
|
generation to a separate process. Since RSA key generation takes several
|
||||||
|
seconds, and must be done each time a directory is created, moving it to a
|
||||||
|
separate process allows the first process (perhaps a busy webapi server) to
|
||||||
|
continue servicing other requests. The key generator exports a FURL that can
|
||||||
|
be copied into a client node to enable this functionality.
|
||||||
|
|
||||||
|
"tahoe start [NODEDIR]" will launch a previously-created node. It will launch
|
||||||
|
the node into the background, using the standard Twisted "twistd"
|
||||||
|
daemon-launching tool.
|
||||||
|
|
||||||
|
"tahoe run [NODEDIR]" will start a previous-created node in the foreground.
|
||||||
|
Some platforms are unable to run a daemon in the background: this command
|
||||||
|
provides a way to use a tahoe node on such platforms.
|
||||||
|
|
||||||
|
"tahoe stop [NODEDIR]" will shut down a running node.
|
||||||
|
|
||||||
|
"tahoe restart [NODEDIR]" will stop and then restart a running node. This is
|
||||||
|
most often used by developers who have just modified the code and want to
|
||||||
|
start using their changes.
|
||||||
|
|
||||||
|
|
||||||
|
== Virtual Drive Manipulation ==
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
== Debugging ==
|
||||||
|
|
||||||
|
"tahoe find-shares STORAGEINDEX NODEDIRS.." will look through one or more
|
||||||
|
storage nodes for the share files that are providing storage for the given
|
||||||
|
storage index.
|
||||||
|
|
||||||
|
"tahoe catalog-shares NODEDIRS.." will look through one or more storage nodes
|
||||||
|
and locate every single share they contain. It produces a report on stdout
|
||||||
|
with one line per share, describing what kind of share it is, the storage
|
||||||
|
index, the size of the file is used for, etc. It may be useful to concatenate
|
||||||
|
these reports from all storage hosts and use it to look for anomalies.
|
||||||
|
|
||||||
|
"tahoe dump-share SHAREFILE" will take the name of a single share file (as
|
||||||
|
found by "tahoe find-shares") and print a summary of its contents to stdout.
|
||||||
|
This includes a list of leases, summaries of the hash tree, and information
|
||||||
|
from the UEB (URI Extension Block). For mutable file shares, it will describe
|
||||||
|
which version (seqnum and root-hash) is being stored in this share.
|
||||||
|
|
||||||
|
"tahoe dump-cap CAP" will take a URI (a file read-cap, or a directory read-
|
||||||
|
or write- cap) and unpack it into separate pieces. The most useful aspect of
|
||||||
|
this command is to reveal the storage index for any given URI. This can be
|
||||||
|
used to locate the share files that are holding the encoded+encrypted data
|
||||||
|
for this file.
|
Loading…
x
Reference in New Issue
Block a user