The graph below shows an (incomplete) list of available packages for Elektra.

\href{https://repology.org/metapackage/elektra/versions}{\tt }

For the following Linux distributions and package managers 0.\+9 packages are available\+:


\begin{DoxyItemize}
\item \href{https://aur.archlinux.org/packages/elektra/}{\tt Arch Linux}
\item \href{https://github.com/openwrt/packages/tree/master/libs/elektra}{\tt Openwrt}
\item \href{https://software.opensuse.org/package/elektra}{\tt Open\+Suse}
\item \href{http://packages.gentoo.org/package/app-admin/elektra}{\tt Gentoo}
\item \href{https://github.com/Linuxbrew/homebrew-core/blob/master/Formula/elektra.rb}{\tt Linux\+Brew}
\end{DoxyItemize}

We provide repositories for latest releases and latest builds from master (suite postfixed with {\ttfamily -\/unstable}) for following Debian-\/based distributions\+:


\begin{DoxyItemize}
\item Debian Buster
\item Ubuntu Focal
\item Ubuntu Bionic
\end{DoxyItemize}

To use our stable repositories with our latest releases, following steps need to be made\+:


\begin{DoxyEnumerate}
\item Run {\ttfamily sudo apt-\/key adv -\/-\/keyserver keys.\+gnupg.\+net -\/-\/recv-\/keys F26\+B\+B\+E02\+F3\+C315\+A19\+B\+F1\+F791\+A9\+A25\+C\+C1\+C\+C83\+E839} to obtain the key.
\item Add {\ttfamily deb \href{https://debs.libelektra.org/}{\tt https\+://debs.\+libelektra.\+org/}$<$D\+I\+S\+T\+R\+I\+B\+U\+T\+I\+ON$>$ $<$S\+U\+I\+TE$>$ main} into {\ttfamily /etc/apt/sources.list} where {\ttfamily $<$D\+I\+S\+T\+R\+I\+B\+U\+T\+I\+ON$>$} and {\ttfamily $<$S\+U\+I\+TE$>$} is the codename of your distributions e.\+g.{\ttfamily focal},{\ttfamily bionic},{\ttfamily buster}, etc.
\end{DoxyEnumerate}

This can also be done using\+:


\begin{DoxyCode}
# Example for Ubuntu Focal
apt-get install software-properties-common apt-transport-https
echo "deb https://debs.libelektra.org/focal focal main" | sudo tee /etc/apt/sources.list.d/elektra.list
\end{DoxyCode}


Or alternatively, you can use (if you do not mind many dependences just to add one line to a config file)\+:


\begin{DoxyCode}
# Example for Ubuntu Focal
sudo apt-get install software-properties-common apt-transport-https
sudo add-apt-repository "deb https://debs.libelektra.org/focal focal main"
\end{DoxyCode}


If you would like to use the latest builds of master, append {\ttfamily -\/unstable} to {\ttfamily $<$S\+U\+I\+TE$>$}.

The {\ttfamily etc/apt/source.\+list} entry must look like following\+: {\ttfamily deb \href{https://debs.libelektra.org/}{\tt https\+://debs.\+libelektra.\+org/}$<$D\+I\+S\+T\+R\+I\+B\+U\+T\+I\+ON$>$ $<$S\+U\+I\+TE$>$-\/unstable main}

E.\+g. {\ttfamily deb \href{https://debs.libelektra.org/focal}{\tt https\+://debs.\+libelektra.\+org/focal} focal-\/unstable main}


\begin{DoxyEnumerate}
\item Run {\ttfamily sudo apt-\/get update}.
\end{DoxyEnumerate}

\begin{quote}
N\+O\+TE\+: for Ubuntu Bionic the yamlcpp plugin is excluded due to missing dependencies and therefore the package {\ttfamily libelektra5-\/yamlcpp} is not available. \end{quote}


We provide repositories for latest releases and latest builds from master (suite postfixed with {\ttfamily -\/unstable}) for Fedora 33.

For our stable repository with our latest releases\+:


\begin{DoxyCode}
wget https://rpms.libelektra.org/fedora-33/libelektra.repo -O libelektra.repo;
sudo mv libelektra.repo /etc/yum.repos.d/;
sudo yum update
\end{DoxyCode}


Or alternatively you can use dnf to add this repo\+:


\begin{DoxyCode}
dnf config-manager --add-repo https://rpms.libelektra.org/fedora-33/libelektra.repo
\end{DoxyCode}


For our latest builds from master append {\ttfamily -\/unstable} to the suite name\+:


\begin{DoxyCode}
wget https://rpms.libelektra.org/fedora-33-unstable/libelektra.repo -O libelektra.repo;
sudo mv libelektra.repo /etc/yum.repos.d/;
sudo yum update
\end{DoxyCode}


Or alternatively you can use dnf to add this repo\+:


\begin{DoxyCode}
dnf config-manager --add-repo https://rpms.libelektra.org/fedora-33-unstable/libelektra.repo
\end{DoxyCode}


To get all packaged plugins, bindings and tools install\+:


\begin{DoxyCode}
# For Debian based distributions
apt-get install libelektra5-all
# For Fedora based distributions
dnf install libelektra5-all
\end{DoxyCode}


For a small installation with command-\/line tools available use\+:


\begin{DoxyCode}
# For Debian based distributions
apt-get install elektra-bin
# For Fedora based distributions
dnf install elektra-bin
\end{DoxyCode}


To install all debugsym/debuginfo packages\+:


\begin{DoxyCode}
# For Debian based distributions
apt-get install elektra-dbg
# For Fedora based distributions
dnf install elektra-dbg
\end{DoxyCode}


If you want to install individual debugsym/debuginfo packages\+:


\begin{DoxyCode}
# For Debian based distributions
apt-get install <packagename>-dbgsym # e.g. apt-get install libelektra5-dbgsym
# For Fedora based distributions
dnf debuginfo-install <packagename> # e.g. dnf debuginfo-install libelektra5
\end{DoxyCode}


To build Debian/\+Ubuntu Packages from the source you might want to use\+:


\begin{DoxyCode}
make package # See CPack below
\end{DoxyCode}


You can install Elektra using \href{http://brew.sh}{\tt Homebrew} via the shell command\+:


\begin{DoxyCode}
brew install elektra
\end{DoxyCode}


. We also provide a tap containing a more elaborate formula \href{http://github.com/ElektraInitiative/homebrew-elektra}{\tt here}.

Installation for W\+SL is described \hyperlink{doc_tutorials_contributing-windows_md}{here}.

If you prefer native but in functionality limited version you can download Min\+GW builds from \href{https://build.libelektra.org/job/libelektra/job/master/lastSuccessfulBuild/artifact/artifacts/debian-buster-mingw-w64/elektra.zip}{\tt here}.

Otherwise please refer to the section {\ttfamily OS Independent} below.

First follow the steps in \hyperlink{doc_COMPILE_md}{C\+O\+M\+P\+I\+LE}.

After you completed building Elektra on your own, there are multiple options how to install it. For example, with make or C\+Pack tools. We recommend to use the packages from our build server or that you generate your own packages with C\+Pack.

The current supported systems are\+: Debian, Ubuntu and Fedora.

Then use\+:


\begin{DoxyCode}
make package
\end{DoxyCode}


which will create packages for distributions where a Generator is implemented.

You can find the generated packages in the {\ttfamily package} directory of the build directory.

\begin{quote}
N\+O\+TE\+: If all plugins/bindings/tools a package includes are excluded, the package will not be generated. \end{quote}


On Debian based distributions you will need to set L\+D\+\_\+\+L\+I\+B\+R\+A\+R\+Y\+\_\+\+P\+A\+TH before generating the package. Simply {\ttfamily cd} into the build directory and run following command\+:


\begin{DoxyCode}
LD\_LIBRARY\_PATH=$(pwd)/lib:$\{LD\_LIBRARY\_PATH\} make package
\end{DoxyCode}


To install the packages run this in the {\ttfamily package} directory\+:


\begin{DoxyCode}
apt-get install ./*
\end{DoxyCode}


If any dependency problems appear, run following command to install the missing dependencies\+:


\begin{DoxyCode}
apt-get -f install
\end{DoxyCode}


To install R\+PM packages we recommend using {\ttfamily yum localinstall} since installing with {\ttfamily rpm} doesn\textquotesingle{}t resolve missing dependencies.

Run following command in the {\ttfamily package} directory\+:


\begin{DoxyCode}
yum localinstall *
\end{DoxyCode}



\begin{DoxyCode}
sudo make install
sudo ldconfig  # See troubleshooting below
\end{DoxyCode}


To uninstall Elektra use (will not be very clean, e.\+g. it will not remove directories and {\ttfamily $\ast$.pyc} files)\+:


\begin{DoxyCode}
sudo make uninstall
sudo ldconfig
\end{DoxyCode}


or in the build directory (will not honor {\ttfamily D\+E\+S\+T\+D\+IR}!)\+:


\begin{DoxyCode}
xargs rm < install\_manifest.txt
\end{DoxyCode}


If you encounter the problem that the library can not be found (output like this)


\begin{DoxyCode}
kdb: error while loading shared libraries:
     libelektra-core.so.4: cannot open shared object file: No such file or directory
\end{DoxyCode}


or\+:


\begin{DoxyCode}
kdb: error while loading shared libraries:
     libelektratools.so.2: cannot open shared object file: No such file or directory
\end{DoxyCode}


you need to place a configuration file at {\ttfamily /etc/ld.so.\+conf.\+d/} (e.\+g. {\ttfamily /etc/ld.so.\+conf.\+d/elektra.conf}). Note that under Alpine Linux this file is called {\ttfamily /etc/ld-\/musl-\/x86\+\_\+64.path} or similar, depending on your architecture.

Add the path where the library has been installed (on Alpine Linux this had to be {\ttfamily usr/lib/elektra} for it to work)


\begin{DoxyCode}
/usr/lib/local/
\end{DoxyCode}


and run {\ttfamily ldconfig} as root.

For some of the plugins and tools that ship with Elektra, additional installation manuals have been written. You can find them in the \hyperlink{md_doc_tutorials_README_doc_tutorials_README_md}{tutorial overview}.


\begin{DoxyItemize}
\item \hyperlink{doc_COMPILE_md}{C\+O\+M\+P\+I\+LE}.
\item \hyperlink{doc_TESTING_md}{T\+E\+S\+T\+I\+NG}. 
\end{DoxyItemize}