How to install S3QL from source on Fedora 19

S3QL is an online file system for UNIX-like operating systems that provide features like compression, encryption, data de-duplication, immutable trees and snapshotting. It can be used to create a local or remote (online) file system and so can be used to backup your data to a supported Cloud storage platform.

Google Storage, Amazon S3 and OpenStack are supported online Cloud storage services. There are two branches of S3QL – S3QL-1.x and 2.x. The latter being the current active branch, with more features than the former. The 1.x branch does not get new features, only bugfixes. The other difference between the two branches is that the 1.x branch is compatible with Python 2.7, while the 2.x branch is compatible with Python 3.3.

If you run yum install s3ql on Fedora 19, you will be installing a 1.x version, because there is no binary package for a 2.x version in the repository. Which means that to install S3QL-2.x on Fedora 19 and, therefore, get access to the latest features, you will have to compile and install it from source. This article shows how to do just that – compile and install the latest version of S3QL on Fedora 19.

Before you can start compiling the package, here are the list of dependencies that must be installed first:

  • GCC. Installed using yum install gcc
  • Python 3 and Python 3 development packages. You can install these by typing yum install python3 python3-devel
  • Python 3 setup tools, which can be installed using yum install python3-setuptools
  • Python3-apsw. Installed using yum install python3-apsw
  • Libattr-devel. Installed using yum install libattr-devel
  • Pycryptopp. Installed using yum install pycryptopp
  • Pycrypto. Installing Pycryptopp does not appear to satisfy this dependency, so this has to be installed. However, because there is no binary package in the repository, it has to be compiled from source. To do that, follow these steps:
    • Download it using wget
    • Uncompress and untar it using tar zxf pycrypto-2.6.tar.gz
    • Change into the directory (cd pycrypto-2.6) and install it using python3 install
  • Python-paramiko. Installed using yum install python-paramiko
  • xz-devel. Installed using yum install xz-devel
  • Fuse and Fuse development packages. Installed using yum install fuse fuse-devel
  • llfuse. This dependency has to be compiled from source because the version of the binary package available in Fedora (llfuse-0.38) is lower than the required version (llfuse-0.39). If you installed all the dependencies, and opt to use the binary package in the repository, you will get this error when compiling S3QL:

    pkg_resources.VersionConflict: (llfuse 0.38 (/usr/lib64/python3.3/site-packages), Requirement.parse(‘llfuse>=0.39’))

    To compile version 0.39 from source, follow these steps:

    • Download it using wget
    • Then uncompress and untar it by typing bunzip2 -d llfuse* && tar xf llfuse*
    • Change into the directory (cd llfuse*) and install it using python3 install
  • SQLite and its development packages. Installed using yum install sqlite sqlite-devel

After all the dependencies have installed successfully, you may now begin the process of compiling S3QL.

  1. Download it with wget
  2. Unpack it with bunzip2 -d s3ql-2.4.tar.bz2 && tar xf s3ql-2.4.tar
  3. Change into the directory (cd s3ql-2.4) and run python3 build_ext --inplace to build it
  4. Then python3 tests to run a self-test. During my test installation, most of the tests were either SKIPPED or PASSED. There was an error related to SELinux. Part of the output is below:

    rsync: rsync_xal_set: lsetxattr(“”/tmp/s3ql-mnt-ssn0wz/orig/C!pulseaudio/Oõkarm/.sort.B3KkHI””,”security.selinux”) failed: Operation not supported (95)
    rsync: rsync_xal_set: lsetxattr(“”/tmp/s3ql-mnt-ssn0wz/orig/C!pulseaudio/Oõkarm/.ótrue.WWN7XB””,”security.selinux”) failed: Operation not supported (95)
    rsync: rsync_xal_set: lsetxattr(“”/tmp/s3ql-mnt-ssn0wz/orig/C!pulseaudio/Oõkarm/.Ðkinfocenter.lPArfv””,”security.selinux”) failed: Operation not supported (95)
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1052) [sender=3.0.9]
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 2 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    =============== 1 failed, 135 passed, 61 skipped, 1 error in 109.11 seconds========

  5. Even with this SELinux-related error, running python3 install completed successfully

Now that S3QL is installed, the next article will show to to use it to encrypt and backup your data online. Meanwhile, you may read the user guide here.

Related Posts

Install Cinnamon 1.6 in Ubuntu 12.04 LTS Alternate titles: How to install Cinnamon desktop in Ubuntu 12.04 Precise Pangolin; how to install Cinnamon desktop 1.6 in Ubuntu 12.04 LTS. Cinnam...
If you use a cellphone anywhere on this planet, the NSA is on your tail It's not the fact that we are all being tracked that scares one, it's the various ways and methods that the tracking is being done that makes the head...
Triple-boot Windows 7, Linux Mint 17.1, Kali 1.1 on a PC with UEFI firmware What you'll read in this tutorial is simple: How to triple-boot Windows 7 (or Windows 8), Linux Mint 17.1, and Kali Linux 1.1 on a single hard drive a...
Managing BURG with BURG-Manager BURG-Manager is a graphical interface for managing BURG, the new bootloader that is based on GRUB, the GRand Unified Bootloader. It is a very simple a...
5 things to do after installing Fedora 19 GNOME Fedora 19, code-named Schrodinger's Cat, is the latest edition of Fedora, a Linux distribution sponsored by Red Hat, Inc. This article offers five sim...
What’s new in Kate Kate is a professional text editor for the K Desktop Environment (KDE). It is one of the most feature-rich and advanced text editors available on any ...

We Recommend These Vendors

Launch an SSD VPS in Europe, USA, Asia & Australia on Vultr's KVM-based Cloud platform starting at $5:00/month (15 GB SSD, 768 MB of RAM).

Deploy an SSD Cloud server in 55 seconds on DigitalOcean. Built for developers and starting at $5:00/month (20 GB SSD, 512 MB of RAM).

Leave a Comment

Your email address will not be published. Required fields are marked *