SatelliteLab: Linux installation
- Download the satellite source code.
- Unpack the source code:
tar xvzf satellite-0.9.2.tar.gz
- Compile the satellite:
g++ satellite.cc -o satellite
- Check whether the satellite is already running on your machine. Run
ps fax|grep satellite
If any processes are shown, please terminate them by running
- Start the satellite. The program takes four arguments: An email address, an identifier for
your machine (for example, 'desktop' or 'laptop'), an address and a port number. If you
have been asked to contribute to a specific experiment, the maintainer should already have
given you the last two arguments; if not, please use galaxy.octarine.de and 30000.
For example, your command line might look like this:
./satellite email@example.com identifier galaxy.octarine.de 30000
The satellite runs as a daemon process, so that it is not terminated when you log out.
- To ensure that the satellite is restarted automatically when you reboot your machine,
you can add the above command line to the file /etc/rc.d/rc.local (for some
distributions the file is called /etc/rc.local). Note that you need
to be root to change this file, and that you will need to use an absolute rather than a relative
pathname (for example, /home/username/satellite-unix/satellite instead of ./satellite).
Questions and answers
Q: How do I uninstall the satellite?
A: Teminate any satellite processes by running killall satellite, then
delete the source code and the binary. If you added a line to /etc/rc.d/rc.local,
please remove this line as well.
Q: Why do I have to enter an email address?
A: This is necessary so that the testbed maintainers know how
to contact you if there should be a problem with your satellite.
The testbed also uses the email address to disambiguate between
satellites with the same identifier, e.g., when multiple contributors
have called their satellite 'laptop' or 'desktop'.
Q: Can I run the satellite as an unprivileged process?
A: The satellite does not need administrator privileges to run. We actually encourage you
to run it using a non-privileged account such as nobody or a newly created user
just for the satellite.
To run the satellite using another account, you can run the following command as root:
su nobody -c "./satellite firstname.lastname@example.org identifier galaxy.octarine.de 30000 &"
This will run the satellite with the privileges of user nobody.
As described earlier, you need to use an absolute pathname to make this work, and the satellite binary must
be readable and executable for user nobody.