.. _kiwi-installation: Installation ============ .. note:: This document describes how to install {kiwi}. Apart from the preferred method to install {kiwi} via a distribution package manager, it is also available on `pypi `__ and can be installed using Python's package manager pip as follows: .. code:: shell-session $ sudo pip install kiwi .. _installation-from-obs: Installation from OBS --------------------- The most up to date packages of {kiwi} can be found on the Open Build Service in the `Virtualization:Appliances:Builder `__ project. To install {kiwi}, follow these steps: 1. Open the URL https://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder in your browser. 2. Right-click on the link of your preferred operating system and copy the URL. In Firefox it is the menu :menuselection:`Copy link address`. 3. Insert the copied URL from the last step into your shell. The ``DIST`` placeholder contains the respective distribution. Use :command:`zypper addrepo` to add it to the list of your repositories: .. code:: shell-session $ sudo zypper addrepo \ http://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder/ \ kiwi-appliance-builder 4. Install {kiwi}: .. code:: shell-session $ sudo zypper --gpg-auto-import-keys install python3-kiwi .. note:: Other Distributions If your distribution is not using :command:`zypper`, please use your package manager's appropriate command instead. For :command:`dnf`, as an example, that is: .. code:: shell-session $ sudo dnf config-manager \ --add-repo https://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder//Virtualization:Appliances:Builder.repo $ sudo dnf install python3-kiwi Installation from Distribution Repositories ------------------------------------------- Some Linux distributions ship {kiwi} in their official repositories. These include **openSUSE** and **Fedora** since version 28. Note, these packages tend to not be as up to date as the packages from OBS, so some features described here might not exist yet. .. note:: There are many packages that contain the name *kiwi* in their name, some of these are not even python packages. Please double check the packages' description whether it is actually the {kiwi} Appliance builder before installing it. Please also note, depending on how the responsible packager has integrated {kiwi} into the distribution, the install name can be different from the instructions provided in: :ref:`installation-from-obs` To install {kiwi} for the desired distribution, run the following command: Leap/Tumbleweed: .. code:: shell-session $ sudo zypper install python3-kiwi Fedora/Rawhide: .. code:: shell-session $ sudo dnf install kiwi-cli Installation for SUSE Linux Enterprise -------------------------------------- {kiwi} is available and supported for SUSE Linux Enterprise (SLE). The recommended and supported way is to install {kiwi} by using zypper. However, if you rely on some plugins for {kiwi}, either the plugin itself or any dependencies might not be available for your service pack. If you want to proceed anyway, keep these things in mind: * Plugins that are not provided by SLE are not supported. * You probably need to install dependencies via :command:`pip`. The :command:`pip` command installs these dependencies from PyPI (the Python Package Index). However, this approach will not update the RPM database. * Depending on your security concerns, installing Python packages outside the secured SLE installation may not be desirable. * Python packages installed from PyPI won't contain any SUSE customizations. * Depending on your extension and its dependencies, you might even need a more recent Python version. .. _example-descriptions: Example Appliance Descriptions ------------------------------ There are two places for example appliance descriptions: The {kiwi} build tests: The {kiwi} project itself hosts a collection of appliance descriptions which are used for integration testing of the {kiwi} builder itself. These descriptions are required to build prior any {kiwi} release and are also used as the base for this documentation. Please check them out when working with this reference guide: .. code:: shell-session $ git clone https://github.com/OSInside/kiwi $ tree -L 3 kiwi/build-tests The {kiwi} community descriptions project: There is a GitHub project hosting example appliance descriptions to be used with the next generation {kiwi}. Contributions from the community makes up the contents of this repository and users who need an example for a specific use case and distribution can clone the project as follows: .. code:: shell-session $ git clone https://github.com/OSInside/kiwi-descriptions