Download/Install

Install the Flexter packages from the Sonra package repositories, or download and install them manually.

Flexter is distributed as six packages: xml2er, xsd2er, json2er, merge2er, flexchma and flexter-ui. They are available from the Sonra YUM/DNF and APT repositories, and as RPM, DEB and TGZ files for manual installation.

Repository Setup

Supported distributions: Red Hat Enterprise Linux, CentOS Stream, Rocky Linux, AlmaLinux, Fedora, Oracle Linux and Amazon Linux. Both dnf and yum work with the commands below.

Create the repository file, which normally requires root access:

sudo vi /etc/yum.repos.d/sonra-flexter.repo

with the following content:

[sonra-flexter]
name=Sonra Repository
baseurl=https://yum.sonra.io/flexter
username=<USER>
password=<PASS>
gpgkey=https://yum.sonra.io/RPM-GPG-KEY-Sonra
gpgcheck=0
enabled=0
priority=1

Installing the latest version

sudo dnf --repo=sonra-flexter install xml2er xsd2er json2er merge2er flexchma flexter-ui

Installing a specific version

sudo dnf --repo=sonra-flexter install xml2er-2.14.2 xsd2er-2.14.2 json2er-2.14.2 merge2er-2.14.2 flexchma-2.14.2 flexter-ui-2.14.2

Supported distributions: Debian, Ubuntu, Linux Mint, MX Linux, Kali Linux, Raspberry Pi OS and Pop!_OS.

Write access (sudo or root) to /etc/apt/sources.list.d/ and /etc/apt/auth.conf.d/ is required, and the apt-transport-https, curl and gpg packages must be installed:

sudo apt update
sudo apt install apt-transport-https curl gpg

Import the Sonra signing key so that apt trusts the repository:

curl -sL https://apt.sonra.io/DEB-GPG-KEY-Sonra | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/DEB-GPG-KEY-Sonra

Create the repository list file:

echo "deb [arch=all signed-by=/etc/apt/trusted.gpg.d/DEB-GPG-KEY-Sonra] https://apt.sonra.io/flexter releases main #Sonra Flexter" | sudo tee /etc/apt/sources.list.d/sonra-flexter.list > /dev/null

Create the authentication file with your credentials:

echo "machine apt.sonra.io login <USER> password <PASS>" | sudo tee /etc/apt/auth.conf.d/sonra-flexter.conf > /dev/null

Installing the latest version

sudo apt update
sudo apt install xml2er xsd2er json2er merge2er flexchma flexter-ui

Installing a specific version

sudo apt update
sudo apt install xml2er=2.14.2 xsd2er=2.14.2 json2er=2.14.2 merge2er=2.14.2 flexchma=2.14.2 flexter-ui=2.14.2

Manual Download

When no repository has been set up, the packages can be downloaded directly and installed manually.

Every package is available at the following URL pattern. Omit -VERSION to get the latest release:

https://download.sonra.io/flexter/<MODULE>[-VERSION].<EXTENSION>

# examples
https://download.sonra.io/flexter/xml2er.rpm
https://download.sonra.io/flexter/xml2er-2.14.2.rpm
https://download.sonra.io/flexter/xml2er-2.14.2.tgz

The downloads are authenticated. All examples below use curl, but wget works the same way:

# curl
curl -u "<USER>:<PASS>" -OL <URL>

# wget
wget --user "<USER>" --password "<PASS>" <URL>

Download the installers

curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/flexchma.rpm
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/xml2er.rpm
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/xsd2er.rpm
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/json2er.rpm
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/merge2er.rpm
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/flexter-ui.rpm
Checking the hashes (optional)

Each package has a companion .md5 file to verify the download:

for m in flexchma xml2er xsd2er json2er merge2er flexter-ui; do
  curl -u "<USER>:<PASS>" -OL "https://download.sonra.io/flexter/$m.rpm.md5"
done

# helper function
md5ck() { md5sum -c <(echo "$(cat "$1.md5") $1"); }

for f in *.rpm; do md5ck "$f"; done

Install the packages

sudo dnf install xml2er*.rpm xsd2er*.rpm json2er*.rpm merge2er*.rpm flexchma*.rpm flexter-ui*.rpm

Download the installers

curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/flexchma.deb
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/xml2er.deb
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/xsd2er.deb
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/json2er.deb
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/merge2er.deb
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/flexter-ui.deb
Checking the hashes (optional)

Each package has a companion .md5 file to verify the download:

for m in flexchma xml2er xsd2er json2er merge2er flexter-ui; do
  curl -u "<USER>:<PASS>" -OL "https://download.sonra.io/flexter/$m.deb.md5"
done

# helper function
md5ck() { md5sum -c <(echo "$(cat "$1.md5") $1"); }

for f in *.deb; do md5ck "$f"; done

Install the packages

sudo apt install ./xml2er*.deb ./xsd2er*.deb ./json2er*.deb ./merge2er*.deb ./flexchma*.deb ./flexter-ui*.deb

For distributions that are neither RHEL nor Debian based, such as macOS, Alpine, Arch, Gentoo, the BSDs or Solaris derivatives, the .tgz packages are extracted manually.

Download the installers

curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/flexchma.tgz
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/xml2er.tgz
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/xsd2er.tgz
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/json2er.tgz
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/merge2er.tgz
curl -u "<USER>:<PASS>" -OL https://download.sonra.io/flexter/flexter-ui.tgz
Checking the hashes (optional)

Each package has a companion .md5 file to verify the download:

for m in flexchma xml2er xsd2er json2er merge2er flexter-ui; do
  curl -u "<USER>:<PASS>" -OL "https://download.sonra.io/flexter/$m.tgz.md5"
done

# helper function
md5ck() { md5sum -c <(echo "$(cat "$1.md5") $1"); }

for f in *.tgz; do md5ck "$f"; done

Install with root access

The packages extract into /usr/share/flexter. Link the command line tools into /usr/bin and the configuration directory into /etc/flexter:

for m in flexchma xml2er xsd2er json2er merge2er flexter-ui; do
  sudo tar xzf $m*.tgz -C /usr/share
done

for m in flexchma xml2er xsd2er json2er merge2er; do
  sudo ln -s /usr/share/flexter/$m/bin/$m /usr/bin/$m
done

sudo mkdir -p /etc/flexter
sudo ln -s /usr/share/flexter/conf /etc/flexter/conf

Install without root access

The same layout under the user’s home directory, with the tools linked into ~/.local/bin and the configuration into ~/.config/flexter:

mkdir -p ~/.local/share ~/.local/bin ~/.config

for m in flexchma xml2er xsd2er json2er merge2er flexter-ui; do
  tar xzf $m*.tgz -C ~/.local/share
done

for m in flexchma xml2er xsd2er json2er merge2er; do
  ln -s ~/.local/share/flexter/$m/bin/$m ~/.local/bin/$m
done

ln -s ~/.local/share/flexter/conf ~/.config/flexter

Continue with the Database Setup and the Post-Installation steps.