### Navigation

- next
- previous |
- S3QL v1.9 documentation »

# Installation

S3QL depends on several other programs and libraries that have to be installed first. The best method to satisfy these dependencies depends on your distribution. In some cases S3QL and all its dependencies can be installed with as little as three commands, while in other cases more work may be required.

The S3QL Wiki contains installation instructions for quite a few different Linux distributions. You should only use the generic instructions in this manual if your distribution is not included in the distribution-specific installation instructions on the wiki.

## Dependencies

The following is a list of the programs and libraries required for running S3QL. Generally, you should first check if your distribution already provides a suitable packages and only install from source if that is not the case.

- Kernel: Linux 2.6.9 or newer or FreeBSD with FUSE4BSD. Starting with kernel 2.6.26 you will get significantly better write performance, so under Linux you should actually use 2.6.26 or newer whenever possible.

- Python 2.7 (but not Python 3.x). Make sure to also install the development headers.

- The PyCrypto++ Python Module. To check if this module is installed, try to execute `python -c 'import pycryptopp'`.

- SQLite version 3.7.0 or newer. SQLite has to be installed as a shared library with development headers.

- The APSW Python Module. To check which (if any) version of APWS is installed, run the command

      python -c 'import apsw; print apsw.apswversion()'

  The printed version number should be at least 3.7.0. Note that APSW must be linked dynamically against SQLite, so you can not use the Ubuntu PPA at https://launchpad.net/~ubuntu-rogerbinns/+archive/apsw (these packages are statically linked).

- The PyLibLZMA Python module. To check if this module is installed, execute `python -c 'import lzma; print lzma.__version__'`. This should print a version number. You need at least version 0.5.3.

- The Python LLFUSE module. To check if this module is installed, execute `python -c 'import llfuse; print llfuse.__version__'`. This should print a version number. You need at least version 0.37.

  Note that early S3QL versions shipped with a built-in version of this module. If you are upgrading from such a version, make sure to completely remove the old S3QL version first.

## Installing S3QL

To install S3QL itself, proceed as follows:

1. Download S3QL from http://code.google.com/p/s3ql/downloads/list
2. Unpack it into a folder of your choice
3. Run `python setup.py build` to build S3QL.
4. Run `python setup.py test` to run a self-test. If this fails, ask for help on the mailing list or report a bug in the issue tracker.

Now you have three options:

- You can run the S3QL commands from the `bin/` directory.
- You can install S3QL system-wide for all users. To do that, you have to run `sudo python setup.py install`.
- You can install S3QL into `~/.local` by executing `python setup.py install --user`. In this case you should make sure that `~/.local/bin` is in your `$PATH` environment variable.

### Navigation

- next
- previous |
- S3QL v1.9 documentation »