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