Installation #
XPro is distributed as pre-built binaries for Linux (amd64). Packages are available as RPM, DEB, and tarball from the xpro-free GitHub repository.
Prerequisites #
- OS: Linux (amd64) — RHEL 8+, Ubuntu 18.04+, Debian 10+, or compatible
- libxml2: Version 2.9 or later (required by the processor for XSD validation)
- systemd: For service management (included in most modern Linux distributions)
Download #
Download the latest release from github.com/bluefunda/xpro-free/releases.
Three package formats are available:
| Format | File | Use Case |
|---|---|---|
| DEB | xpro-free-<version>-1.amd64.deb | Ubuntu, Debian |
| RPM | xpro-free-<version>-1.amd64.rpm | RHEL, CentOS, Rocky, Fedora |
| Tarball | xpro-free_<version>_linux_amd64.tar.gz | Manual installation |
Install via DEB (Ubuntu/Debian) #
sudo dpkg -i xpro-free-1.0.13-1.amd64.deb
sudo apt-get install -f # resolve dependencies if needed
Install via RPM (RHEL/CentOS/Rocky) #
sudo dnf install xpro-free-1.0.13-1.amd64.rpm
Install via Tarball (Manual) #
tar xzf xpro-free_1.0.13_linux_amd64.tar.gz
cd xpro-free_1.0.13_linux_amd64
sudo cp xpro processor file-watcher xmlgen /usr/local/bin/
For the tarball method, you will need to manually create the directory structure and system user. See FHS Layout below.
Verify Installation #
xpro version
What Gets Installed #
The RPM and DEB packages install the following:
Binaries #
| Binary | Description |
|---|---|
xpro | Unified CLI entry point |
processor | XML processing engine |
file-watcher | Directory monitoring daemon |
xmlgen | XML test file generator |
Directory Layout #
XPro follows the Filesystem Hierarchy Standard (FHS):
/opt/xpro/
├── bin/ # Executables
├── etc/ # Configuration files
│ ├── config.yml # Processor configuration
│ ├── watcher-config.yml # File watcher configuration
│ ├── xpro.env # Environment variables
│ └── license.key # License file (if applicable)
├── share/
│ ├── doc/ # Documentation
│ ├── man/man1/ # Man pages
│ └── schemas/ # XSD validation schemas
└── var/
├── log/ # Application logs
├── run/ # PID files, runtime state
└── data/ # Processing state, metrics, audit logs
Symlinks #
The packages create standard symlinks so XPro integrates with your system:
| Symlink | Target |
|---|---|
/usr/bin/xpro | /opt/xpro/bin/xpro |
/etc/xpro | /opt/xpro/etc |
/var/log/xpro | /opt/xpro/var/log |
/usr/share/man/man1/xpro.1 | /opt/xpro/share/man/man1/xpro.1 |
System User #
The package creates a dedicated xpro system user and group with:
- No login shell (
/sbin/nologin) - Restricted file permissions (
0640for config,0750for runtime directories)
Systemd Services #
Four service units are installed and enabled (but not started):
| Service | Description |
|---|---|
xpro-processor.service | XML processing daemon |
xpro-file-watcher.service | File watcher daemon |
xpro-status-tracker.service | Processing state tracker |
xpro-retry-processor.service | Failed file retry service |
Post-Installation #
After installing, configure your database credentials and start the services:
# Edit configuration
sudo vi /etc/xpro/config.yml
# Set database credentials in environment file
sudo vi /etc/xpro/xpro.env
# Start services
sudo systemctl start xpro-file-watcher
sudo systemctl start xpro-processor
# Check status
sudo systemctl status xpro-processor
Verify Checksum #
Each release includes a checksums.txt file with SHA256 hashes:
sha256sum -c checksums.txt
Uninstall #
# DEB
sudo dpkg -r xpro-free
# RPM
sudo dnf remove xpro-free
Next Steps #
- Getting Started — Configure XPro for your role
- CLI Reference — Explore available commands