Bump version to 0.2.7
[snf-image-creator] / docs / install.rst
index 11e4437..dfd0dd4 100644 (file)
@@ -1,2 +1,267 @@
 Installation
+^^^^^^^^^^^^
+
+This guide describes how to install snf-image-creator on a Linux system. It is
+highly recommended to have virtualization capable hardware. snf-image-creator
+will work on processors that do not support virtualization but it will be slow.
+
+Dependencies
 ============
+
+snf-image-creator depends on the following programs:
+
+ * Python 2 [http://www.python.org/]
+ * Python setuptools [http://pypi.python.org/pypi/setuptools]
+ * Python Dialog [http://pythondialog.sourceforge.net/]
+ * Python bindings for libguestfs [http://libguestfs.org/]
+ * Python interface to sendfile [http://pypi.python.org/pypi/pysendfile]
+ * pyparted [https://fedorahosted.org/pyparted/]
+ * rsync [http://rsync.samba.org/]
+ * ./kamaki [https://code.grnet.gr/projects/kamaki]
+ * Python sh (previously pbs) [https://github.com/amoffat/sh]
+ * ANSI colors for Python [http://pypi.python.org/pypi/ansicolors]
+ * progress [http://pypi.python.org/pypi/progress]
+
+The above dependencies are resolved differently, depending on the installation
+method you choose. There are two installation methods available:
+
+#. `Installation using packages <#install-snf-image-creator-using-packages>`_
+
+#. `Installation from source <#install-snf-image-creator-from-source>`_
+
+Install snf-image-creator using packages
+========================================
+
+Ubuntu
+------
+
+For *Ubuntu 12.04 LTS* and *12.10* systems, you can use our official packages
+found in *grnet/synnefo* Lauchpad PPA.
+
+Add the synnefo PPA in your system:
+
+.. code-block:: console
+
+   $ sudo apt-add-repository ppa:grnet/synnefo
+   $ sudo apt-get update
+
+If *apt-add-repository* is missing, first install:
+
+*software-properties-common* (Ubuntu 12.10):
+
+.. code-block:: console
+
+   $ sudo apt-get install software-properties-common
+
+Or *python-software-properties* (Ubuntu 12.04):
+
+.. code-block:: console
+
+   $ sudo apt-get install python-software-properties
+
+After the synnefo repository is set up, you should be able to list
+snf-image-creator by calling:
+
+.. code-block:: console
+
+   $ apt-cache showpkg snf-image-creator
+
+Install the package by issuing:
+
+.. code-block:: console
+
+   $ sudo apt-get install snf-image-creator
+
+.. note::
+   If you are asked during the installation to create/update a
+   "supermin appliance", choose "Yes".
+
+.. warning::
+   In *Ubuntu 12.10* the current package of libguestfs (1.18-2) is broken. Take
+   a look at the open `bug report <https://bugs.launchpad.net/ubuntu/quantal/+source/libguestfs/+bug/1086974>`_.
+   Until version 1.18-2ubunut1 is out, you may workaround this problem by
+   creating a symlink like this:
+
+   *sudo ln -s /usr/lib/guestfs /usr/lib/x86_64-linux-gnu/guestfs*
+
+Fedora
+------
+
+For *Fedora 17* you can use our official packages hosted at the *synnefo*
+repository of the openSUSE Build Service.
+
+Add the *synnefo* repository for *Fedora 17* to *yum*:
+
+.. code-block:: console
+
+   $ cd /etc/yum.repos.d
+   $ wget http://download.opensuse.org/repositories/home:/GRNET:/synnefo/Fedora_17/home:GRNET:synnefo.repo
+
+To list the *snf-image-creator* package use the following command:
+
+.. code-block:: console
+
+   $ yum info snf-image-creator
+
+Install the package by issuing:
+
+.. code-block:: console
+
+   $ yum install snf-image-creator
+
+CentOS
+------
+
+For *CentOS 6* you can use our official packages hosted at the *synnefo*
+repository of the openSUSE Build Service.
+
+Add the *synnefo* repository for *CentOS 6* to the yum repositories list:
+
+.. code-block:: console
+
+   $ cd /etc/yum.repos.d
+   $ wget http://download.opensuse.org/repositories/home:/GRNET:/synnefo/CentOS_CentOS-6/home:GRNET:synnefo.repo
+
+Check the `Fedora <#fedora>`_ instructions on how to install the software.
+
+Arch Linux
+----------
+
+For *Arch Linux* there are **unofficial** packages in AUR:
+https://aur.archlinux.org/packages/snf-image-creator/ kindly provided by
+Axilleas Pipinellis <axilleas@archlinux.info>.
+
+.. note::
+    Those packages are not maintained by the Synnefo development team.
+
+    Please direct package-specific questions to Axilleas Pipinellis <axilleas@archlinux.info>,
+    Cc: the Synnefo development team <synnefo-devel@googlegroups.com>
+
+To install the package you may use *yaourt*. Create and install
+the *yaourt* package:
+
+.. code-block:: console
+
+   $ wget https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
+   $ tar -xvf package-query.tar.gz
+   $ cd package-query
+   $ makepkg -s
+   $ pacman -U package-query-<VERSION>-<ARCH>.pkg.tar.xz
+   $ cd ..
+   $ wget https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
+   $ tar -xvf yaourt.tar.gz
+   $ cd yaourt
+   $ makepkg -s
+   $ pacman -U yaourt-<VERSION>-<ARCH>.pkg.tar.xz
+
+Install *snf-image-creator* using yaourt:
+
+.. code-block:: console
+
+   $ yaourt -Sa snf-image-creator
+
+Install snf-image-creator from source
+=====================================
+
+Manually install the following dependencies:
+
+ * Python 2 [http://www.python.org/]
+ * Python setuptools [http://pypi.python.org/pypi/setuptools]
+ * Python Dialog [http://pythondialog.sourceforge.net/]
+ * Python bindings for libguestfs [http://libguestfs.org/]
+ * Python interface to sendfile [http://pypi.python.org/pypi/pysendfile]
+ * pyparted [https://fedorahosted.org/pyparted/]
+ * rsync [http://rsync.samba.org/]
+
+In Ubuntu you can do this using:
+.. code-block:: console
+
+   $ sudo apt-get install python-setuptools python-guestfs python-dialog \
+     python-sendfile python-parted rsync
+
+If you are using Ubuntu 12.10 you also need to install libguestfs-tools:
+
+.. code-block:: console
+
+   $ sudo apt-get install libguestfs-tools
+
+.. note::
+   If you are asked during the installation to create/update a
+   "supermin appliance", choose "Yes".
+
+Python Virtual Environment
+--------------------------
+
+Since snf-image-creator and the rest of its dependencies won't be installed
+using packages, it's better to work in an isolated python virtual environment
+(virtualenv).
+
+Install the Virtual Python Environment builder:
+http://pypi.python.org/pypi/virtualenv.
+
+For Ubuntu use the following command:
+
+.. code-block:: console
+
+   $ sudo apt-get install python-virtualenv
+
+Then create a new python virtual environment:
+
+.. code-block:: console
+
+   $ virtualenv --system-site-packages ~/image-creator-env
+
+and activate it by executing:
+
+.. code-block:: console
+
+   $ source ~/image-creator-env/bin/activate
+
+You may later deactivate it using:
+
+.. code-block:: console
+
+   $ deactivate
+
+kamaki Installation
+-------------------
+
+Refer to `./kamaki documentation <http://docs.dev.grnet.gr/kamaki/latest/installation.html>`_
+for instructions. You may install kamaki from source inside the virtualenv
+you've created above or by using binary packages if they are available for your
+distribution.
+
+snf-image-creator Installation
+------------------------------
+
+Download the latest snf-image-creator source package from
+`here <https://code.grnet.gr/projects/snf-image-creator/files>`_ and install it
+inside the virtualenv using the following commands:
+
+.. code-block:: console
+
+   $ tar -xf snf_image_creator-<VERSION>.tar.gz
+   $ cd snf_image_creator-<VERSION>
+   $ python ./setup.py install
+
+Alternatively, you can install the bleeding edge version of the software by
+cloning its git repository:
+
+.. code-block:: console
+
+   $ git clone https://code.grnet.gr/git/snf-image-creator
+   $ cd snf-image-creator
+   $ python ./setup.py install
+
+To do the latter, you'll need to have git (http://git-scm.com/) installed.
+For ubuntu this can be done using:
+
+.. code-block:: console
+
+   $ sudo apt-get install git
+
+.. warning::
+   Keep in mind that the bleeding edge version may be unstable or even
+   unusable.
+