[tor-commits] [onionperf/master] Updates deployment instructions
irl at torproject.org
irl at torproject.org
Thu Apr 25 10:44:44 UTC 2019
commit db13bb706f82badb120e3faf26993db178f514ab
Author: Ana Custura <ana at netstat.org.uk>
Date: Tue Mar 19 15:10:30 2019 +0000
Updates deployment instructions
---
README.md | 61 +++++++++++++++++++++++++++++++++----------------------------
1 file changed, 33 insertions(+), 28 deletions(-)
diff --git a/README.md b/README.md
index d4f66fc..8594118 100644
--- a/README.md
+++ b/README.md
@@ -11,13 +11,13 @@ performance statistics are logged to disk, analyzed once per day to
produce a json stats database and files that can feed into Torperf, and
can later be used to visualize changes in Tor client performance over time.
-For more information, see https://github.com/robgjansen/onionperf
+For more information, see https://git.torproject.org/onionperf
For a dockerized setup, see https://github.com/hiromipaw/onionperf-docker
### Get OnionPerf
```
-git clone https://github.com/robgjansen/onionperf.git
+git clone https://git.torproject.org/onionperf.git
cd onionperf
```
@@ -27,36 +27,37 @@ cd onionperf
+ **TGen** (Shadow >= v1.11.1): cmake, glib2, igraph
+ **OnionPerf**: python
-The easiest way to satisfy all system dependencies is to use a package manager.
+The easiest way to satisfy all system dependencies is to use a package manager. TGen is not currently packaged and needs to be built from source.
+Note we only provide support for the current Debian Stable distribution.
```
-#Fedora/RedHat:
-sudo yum install gcc cmake make glib2 glib2-devel igraph igraph-devel libevent libevent-devel openssl openssl-devel python
-# Ubuntu/Debian:
-sudo apt-get install gcc cmake make libglib2.0 libglib2.0-dev libigraph0 libigraph0-dev libevent libevent-dev openssl openssl-dev python
+sudo apt install cmake make build-essential gcc libigraph0-dev libglib2.0-dev python-dev
```
-**Note**: in newer distributions, `libevent` may be called `libevent-2.0` and `openssl-dev` may be called `libssl-dev`.
-
### Install Python modules
- + **OnionPerf** python modules: stem (>= v1.4.0), lxml, networkx, numpy, matplotlib.
+ + **OnionPerf** python modules: stem (>= v1.7.0), lxml, networkx, numpy, matplotlib.
#### Option 1: Package Manager
The easiest way to satisfy all system dependencies is to use a package manager.
```
-# Fedora/RedHat:
-sudo yum install python-stem python-lxml python-networkx python-matplotlib numpy scipy
-# Ubuntu/Debian:
-sudo apt-get install python-stem python-lxml python-networkx python-matplotlib python-numpy python-scipy
+apt install tor libxml2-dev python-lxml python-networkx python-scypy python-matplotlib python-numpy
+
+```
+Ensure stem is the latest version for onion v3 service compatiblity, by installing from backports:
+
+```
+echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list
+apt update
+apt-get -t stretch-backports install python-stem
```
#### Option 2: pip
-Python modules can also be installed using `pip`. The python modules that are required for each
-OnionPerf subcommand are as follows:
+Python modules can also be installed using `pip`. The python modules that are
+required for each OnionPerf subcommand are as follows:
+ `onionperf monitor`: stem
+ `onionperf measure`: stem, lxml, networkx
@@ -64,13 +65,9 @@ OnionPerf subcommand are as follows:
+ `onionperf visualize`: scipy, numpy, pylab, matplotlib
You must first satisfy the system/library requirements of each of the python modules.
-
-**Note**: the following commands may not contain all requirements; please update if you find more!
+Note: pip installation is not recommended as software installed by pip is not verified.
```
-# Fedora/RedHat:
-sudo yum install python-devel libxml2 libxml2-devel libxslt libxslt-devel libpng libpng-devel freetype freetype-devel
-# Ubuntu/Debian:
sudo apt-get install python-dev libxml2 libxml2-dev libxslt1.1 libxslt1-dev libpng12-0 libpng12-dev libfreetype6 libfreetype6-dev
```
@@ -97,13 +94,20 @@ large dependencies.
### Build Tor
-**Note**: You can install Tor via the package manager as well, though the
-preferred method is to build from source.
+**Note**: You can install Tor with apt, although the
+preferred method is to build from source. To install using apt:
+
+```
+sudo apt install tor
+```
+Or, if building from source:
-We need at least version 0.2.7.3-rc
+```
+apt install libevent libevent-dev libssl-dev
+```
```
-git clone https://git.torproject.org/tor.git -b release-0.2.7
+git clone https://git.torproject.org/tor.git
cd tor
./autogen.sh
./configure --disable-asciidoc
@@ -117,12 +121,13 @@ but we will build TGen as an external tool and skip building both the full
simulator and the TGen simulator plugin.
```
-git clone https://github.com/shadow/shadow.git
-cd shadow/src/plugin/shadow-plugin-tgen
+git clone https://github.com/shadow/tgen.git
+cd tgen
mkdir build
cd build
-cmake .. -DSKIP_SHADOW=ON -DCMAKE_MODULE_PATH=`pwd`/../../../../cmake/
+cmake .. -DCMAKE_INSTALL_PREFIX=/home/$USER/.local
make
+ln -s build/tgen /usr/bin/tgen
```
### Build and Install OnionPerf
More information about the tor-commits
mailing list