some English usage edits to README, thanks to Stephen Hill

This commit is contained in:
Zooko O'Whielacronx 2007-05-01 21:03:23 -07:00
parent 22bd668948
commit f49a63f688

70
README
View File

@ -1,5 +1,5 @@
Welcome to the AllMyData "tahoe" project. This project implements a
secure, distributed, fault-tolerant storage grid.
Welcome to the AllMyData "tahoe" project. This project implements a secure,
distributed, fault-tolerant storage grid.
The basic idea is that the data in this storage grid is spread over all
participating nodes, using an algorithm that can recover the data even if a
@ -31,15 +31,15 @@ DEPENDENCIES:
Note: All of the following dependencies can probably be installed through
your standard package management tool if you are running on a modern Unix
operating system. If you are running any modern Linux or *BSD distribution
operating system. If you are running any modern Linux or *BSD distribution,
then you can get them through your standard package manager. If you are
running Mac OS X then be warned that the "fink" package management tool does
not have most of these packages, but the "darwinports" package management
tool appears to have them. If you are running on Windows then I'm afraid
you'll have to install them by hand (although the "cygwin" package
management tool does have some of them). If you are running on Solaris,
I would like to hear from you -- I have no idea how it is done on Solaris
nowadays.
running Mac OS X, then be warned that the "fink" package management tool
does not have most of these packages, but the "darwinports" package
management tool appears to have them. If you are running on Windows, then
I'm afraid you'll have to install them by hand (although the "cygwin"
package management tool does have some of them). If you are running on
Solaris, I would like to hear from you -- I have no idea how it is done on
Solaris nowadays.
* a C compiler (language)
@ -72,9 +72,9 @@ DEPENDENCIES:
http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions
Note: the build process will automatically download and install setuptools
Note: The build process will automatically download and install setuptools
if it is not present. However, if an old, incompatible version of
setuptools (< v0.6c3) is present then the build will fail. Therefore, if
setuptools (< v0.6c3) is present, then the build will fail. Therefore, if
the build fails due to setuptools not being compatible, you can either
upgrade or uninstall your version of setuptools and try again.
@ -88,7 +88,7 @@ DEPENDENCIES:
* to build the debian packages you will need all the usual debian-packaging
tools, which means the 'build-essential' metapackage and all of the
packages listed as "Build-Depends" in DIST/debian/control for your
distribution. You will also want the 'fakeroot' package to allow the
distribution. You will also want the 'fakeroot' package to allow the
top-level 'make deb-DIST' targets work.
* on Windows, the pywin32 package
@ -102,7 +102,7 @@ DEPENDENCIES:
BUILDING:
Just type 'make'. This works on Windows too, provided that you have the
Just type 'make'. This works on Windows too, provided that you have the
dependencies mentioned above (either a normal cygwin build or a mingw-style
native build is supported by the makefile -- the cygwin build is the
default).
@ -162,49 +162,49 @@ INSTALLING:
RUNNING:
If you installed one of the debian packages constructed by "make deb-*" then
it creates an 'allmydata-tahoe' executable, usually in /usr/bin . If you
didn't install a package you can find allmydata-tahoe in ./instdir/bin/
. This tool is used to create, start, and stop nodes. Each node lives in a
If you installed one of the debian packages constructed by "make deb-*",
then it creates an 'allmydata-tahoe' executable, usually in /usr/bin . If
you didn't install a package you can find allmydata-tahoe in ./instdir/bin/
. This tool is used to create, start, and stop nodes. Each node lives in a
separate base directory, inside of which you can add files to configure and
control the node. Nodes also read and write files within that directory.
control the node. Nodes also read and write files within that directory.
A grid consists of a single central 'introducer and vdrive' node and a large
number of 'client' nodes. If you are joining an existing grid, the
number of 'client' nodes. If you are joining an existing grid, the
introducer-and-vdrive node will already be running, and you'll just need to
create a client node. If you're creating a brand new grid, you'll need to
create a client node. If you're creating a brand new grid, you'll need to
create both an introducer-and-vdrive and a client (and then invite other
people to create their own client nodes and join your grid).
The introducer (-and-vdrive) node is constructed by running 'allmydata-tahoe
create-introducer --basedir $HERE'. Once constructed, you can start the
create-introducer --basedir $HERE'. Once constructed, you can start the
introducer by running 'allmydata-tahoe start --basedir $HERE' (or, if you
are already in the introducer's base directory, just type 'allmydata-tahoe
start'). Inside that base directory, there will be a pair of files
'introducer.furl' and 'vdrive.furl'. Make a copy of these, as they'll be
start'). Inside that base directory, there will be a pair of files
'introducer.furl' and 'vdrive.furl'. Make a copy of these, as they'll be
needed on the client nodes.
To construct a client node, pick a new working directory for it, then run
'allmydata-tahoe create-client --basedir $HERE'. Copy the two .furl files
'allmydata-tahoe create-client --basedir $HERE'. Copy the two .furl files
from the introducer into this new directory, then run 'allmydata-tahoe start
--basedir $HERE'. After that, the client node should be off and running. The
first thing it will do is connect to the introducer and introduce itself to
all other nodes on the grid. You can follow its progress by looking at the
$HERE/twistd.log file.
--basedir $HERE'. After that, the client node should be off and running.
The first thing it will do is connect to the introducer and introduce itself
to all other nodes on the grid. You can follow its progress by looking at
the $HERE/twistd.log file.
To actually use the client, enable the web interface by writing a port
number (like "8080") into a file named $HERE/webport and then restarting the
node with 'allmydata-tahoe restart --basedir $HERE'. This will prompt the
node with 'allmydata-tahoe restart --basedir $HERE'. This will prompt the
client node to run a webserver on the desired port, through which you can
view, upload, download, and delete files.
A client node directory can also be created without installing the code
first. Just use 'make create-client', and a new directory named 'CLIENTDIR'
will be created inside the top of the source tree. Copy the relevant .furl
first. Just use 'make create-client', and a new directory named 'CLIENTDIR'
will be created inside the top of the source tree. Copy the relevant .furl
files in, set the webport, then start the node by using 'make start-client'.
To stop it again, use 'make stop-client'. Similar makefile targets exist for
making and running an introducer node.
To stop it again, use 'make stop-client'. Similar makefile targets exist
for making and running an introducer node.
There is a public grid available for testing. Look at the wiki page
There is a public grid available for testing. Look at the wiki page
(http://allmydata.org) for the necessary .furl data.