(Antiquity graphic)
Introduction
News
Search
Documentation License
Download
Contributors
Contact Us

Antiquity
Secure Log For Wide-Area Distributed Storage

Installation Guide - Antiquity

  • Installing and setting up the java environment
    • System used through out installation: Mac OSX Tiger (10.4)
    • Install java build 1.5 or later
    • set a CLASSPATH variable in the shell login file to be the antiquity folder
      • Note:
        • Placing the command in the shell login file is best because it avoids repeating these steps every time
      • i.e. if the antiquity folder has been extracted in the ~/ directory place this in the shell login file:
        • export CLASSPATH=$CLASSPATH:~/antiquity:"."
    • set the JAVA_HOME variable in the shell login file to be able to compile the source code for antiquity and bamboo
      • export JAVAHOME=/System/Library/Frameworks/JavaVM.framework/Home
  • Downloaded the antiquity source
  • Compile antiquity source:
    • export JAVAHOME=[java1.5]
      • Note:
        • This command is not necessary if the previous JAVA_HOME variable was set. When I compiled antiquity, I had not set the JAVA_HOME variable in my shell login file so I had used this command in my installation
    • cd antiquity/src/antiquity; make
    • cd antiquity/src/moxie; make
  • Download the latest bamboo source (if you haven't already):
  • Compile & Test bamboo source (if you haven't already):
      • Note:
        • The bamboo user guide explains how to set up the JAVA_HOME variable. This step was previously done above, so it can be skipped
  • After compiling both sources we have to run the antiquity test
    • Edit the ANTIQUITY_DIR variable in the following files, to be the top directory that the antiquity folder is located in (i.e. Change the variable to be: ANTIQUITY_DIR=~/antiquity):
      • start_gw.sh
        • starts an administrator and some number of storage servers
      • start_gw_clients.sh
        • starts a client that runs through a regression test testing the log api
      • Note:
        • These files are located in the directory: /antiquity/src/antiquity/gw/impl
    • To run the test, use the following commands:
      • cd antiquity/src/antiquity/gw/impl
      • ./start_gw.sh true true 5
        • Receive errors:
          • Modification of non-creatable array value attempted, subscript -1 at -e line 1.
            ./start_gw.sh: line 1: seq: command not found
            ls: /tmp/test-gw*.cfg: No such file or directory
            ./start_gw.sh: line 1: seq: command not found

      • ./start_gw_clients.sh 1 true true
        • Receive errors:
          • Modification of non-creatable array value attempted, subscript -1 at -e line 1.
            ./start_gw.sh: line 1: seq: command not found
            ls: /tmp/test-gw*.cfg: No such file or directory
            ./start_gw.sh: line 1: seq: command not found

  • It appears that the utility seq (a program that prints out a numeric sequence, e.g. 'seq 4 8' prints out 4 5 6 7 8 on separate lines, is missing, and required for the above antiquity scripts to run)
    • Seq can be installed directly or from a package called "coreutils" which can be downloaded using an application manager such as fink (I installed fink)
      • Install fink
      • To update fink use either (We show two options just to see how they work):
        • sudo apt-get update; sudo apt-get install fink
          • Once you've updated fink you can install other packages, using the same syntax, e.g sudo apt-get install gimp, to install the Gimp.
            • Note:
              • Not all fink packages are in binary form
        • fink selfupdate
          • When prompted, select option (1), "rsync". This will automatically update the fink package.
          • Once fink is updated, you can use "fink install" to fetch and compile from source code. For example, to install the Gimp, run "fink install gimp"
        • Add this script to the end of your startup shell script to set the paths necessary for fink
          • . /sw/bin/init.sh
    • Once fink is installed, we need to download the package, coreutils:
      • fink install coreutils
            • Since we need the antiquity test scripts to be able to access Seq from coreutils (which is located in /sw/lib/coreutils/bin/) as well as Sha1sum, we need to copy these utilities from the coreutils directory into the /bin/ directory so they are capable of being publicly accessed (sha1sum was discovered after initially just copying seq and then running the antiquity admin script):
              • sudo cp seq /bin/; sudo cp sha1sum /bin/
  • After the seq and sha1sum utilities have been copied to the /bin/ directory, I tried running the antiquity admin and client scripts again:
    • ./start_gw.sh true true 5
      • Usage
        • ./start_gw.sh
      • Successful output:
        • Modification of non-creatable array value attempted, subscript -1 at -e line 1.
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-admin.cfg > /tmp/test-admin.log 2>&1 &
          sleep 2
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-gw1.cfg > /tmp/test-gw1.log 2>&1 &
          sleep 2
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-gw2.cfg > /tmp/test-gw2.log 2>&1 &
          sleep 2
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-gw3.cfg > /tmp/test-gw3.log 2>&1 &
          sleep 2
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-gw4.cfg > /tmp/test-gw4.log 2>&1 &
          sleep 2
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-gw5.cfg > /tmp/test-gw5.log 2>&1 &
          sleep 2
      • Grep for 'Accept' in the /tmp/test-gw*.log files
        • grep Accept /tmp/test-gw*.log | wc
          • Note:
            • The count returned should be 25
    • ./start_gw_clients.sh 1 true true
      • Usage:
        • ./start_gw_clients.sh
      • Successful output:
        • Modification of non-creatable array value attempted, subscript -1 at -e line 1.
          nohup /Users/user/antiquity/bin/run-java bamboo.lss.DustDevil /tmp/test-client-gw1.cfg > /tmp/test-client-gw1.log 2>&1 &
          sleep 60
    • Check both scripts are running successfully by searching for the "Accept" word in the log files created by the scripts:
      • grep Accept /tmp/test-gw*.log | wc
        • Should show a count of 25
      • grep Accept /tmp/test-admin.log


    Last modified 2007/08/17.