2 Installation #
This document describes how to install KIWI NG.
Apart from the preferred method to install KIWI NG via a distribution package manager, it is also available on pypi and can be installed using Python’s package manager pip as follows:
$ sudo pip install kiwi
2.1 Installation from OBS #
The most up to date packages of KIWI NG can be found on the Open Build Service in the Virtualization:Appliances:Builder project.
To install KIWI NG, follow these steps:
Open the URL https://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder in your browser.
Right-click on the link of your preferred operating system and copy the URL. In Firefox it is the menu
.Insert the copied URL from the last step into your shell. The
DIST
placeholder contains the respective distribution. Usezypper addrepo
to add it to the list of your repositories:$ sudo zypper addrepo \ http://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder/<DIST> \ kiwi-appliance-builder
Install KIWI NG:
$ sudo zypper --gpg-auto-import-keys install python3-kiwi
Other Distributions
If your distribution is not using zypper
, please use your
package manager’s appropriate command instead. For dnf
,
as an example, that is:
$ sudo dnf config-manager \ --add-repo https://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder/<DIST>/Virtualization:Appliances:Builder.repo $ sudo dnf install python3-kiwi
2.2 Installation from Distribution Repositories #
Some Linux distributions ship KIWI NG 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.
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 NG Appliance builder before installing it. Please also note, depending on how the responsible packager has integrated KIWI NG into the distribution, the install name can be different from the instructions provided in: Installation from OBS
To install KIWI NG for the desired distribution, run the following command:
- Leap/Tumbleweed:
$ sudo zypper install python3-kiwi
- Fedora/Rawhide:
$ sudo dnf install kiwi-cli
2.3 Installation for SUSE Linux Enterprise #
KIWI NG is available and supported for SUSE Linux Enterprise (SLE). The recommended and supported way is to install KIWI NG by using zypper.
However, if you rely on some plugins for KIWI NG, 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
pip
. Thepip
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.
2.4 Example Appliance Descriptions #
There are two places for example appliance descriptions:
- The KIWI NG build tests:
The KIWI NG project itself hosts a collection of appliance descriptions which are used for integration testing of the KIWI NG builder itself. These descriptions are required to build prior any KIWI NG release and are also used as the base for this documentation. Please check them out when working with this reference guide:
$ git clone https://github.com/OSInside/kiwi $ tree -L 3 kiwi/build-tests
- The KIWI NG community descriptions project:
There is a GitHub project hosting example appliance descriptions to be used with the next generation KIWI NG. 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:
$ git clone https://github.com/OSInside/kiwi-descriptions