Installer v2.11: Minimal Ubuntu Support & Critical Bug Fixes

Posted on October 17, 2025 | By Scott Barbour

Installer Release v2.11 Bug Fixes Minimal Ubuntu

🎉 Production-Ready Installer for All Ubuntu Configurations!

OpenEFA Installer v2.11 now works flawlessly on minimal Ubuntu 24.04 LTS installations with zero errors. All critical bugs fixed!


Install now:

curl -sSL http://install.openefa.com/install.sh | sudo bash

We're excited to announce OpenEFA Installer v2.11, featuring full minimal Ubuntu compatibility and several critical bug fixes that ensure smooth installation and operation on all Ubuntu configurations.

🚀 What's New in v2.11

✅ Minimal Ubuntu Compatible

The installer now works flawlessly on minimal Ubuntu 24.04 LTS server installations. Diagnostic tools are automatically installed before pre-flight checks.

✅ Behavioral Module Fixes

Resolved critical configuration loading issues in behavioral_baseline and conversation_learner modules. No more KeyError or NoneType errors!

✅ Zero Module Warnings

Created alias_mappings.json to silence thread_awareness warnings. Clean module loading across all 18 analysis modules.

✅ NumPy Compatibility

Automatic rebuild of pandas, matplotlib, and seaborn ensures binary compatibility with NumPy 2.x. SpacyWeb starts successfully.

🖥️ Full Minimal Ubuntu Compatibility

One of the most common installation issues was on minimal Ubuntu server installations that lack basic networking tools. Version 2.11 completely solves this problem.

The Problem

Minimal Ubuntu installations don't include iputils-ping, dnsutils, net-tools, or other diagnostic tools. Previous installer versions would fail during pre-flight checks with "command not found: ping" errors.

The Solution

The installer now intelligently detects and installs diagnostic tools before running pre-flight checks:

  1. Updates package lists quietly
  2. Installs required tools: iputils-ping, dnsutils, net-tools, lsb-release, wget, curl
  3. Then proceeds with pre-flight system checks
  4. Installation completes without manual intervention

🔧 Critical Behavioral Module Fixes

Two critical bugs in behavioral analysis modules have been completely resolved.

1. Behavioral Baseline Configuration Bug

Before v2.11

Database query returned empty, config dict remained empty, code tried to access 'min_emails_for_baseline' → KeyError crash

After v2.11

Module checks if config is empty after database query, automatically uses default values, runs smoothly on first email

Added to Database Schema
INSERT INTO behavioral_config VALUES
  ('min_emails_for_baseline', '20', 'Minimum emails to establish baseline'),
  ('volume_spike_threshold', '3.0', 'Email volume anomaly multiplier'),
  ('new_recipient_threshold', '0.5', 'Unusual recipient pattern threshold'),
  ('time_anomaly_hours', '3', 'Hours outside normal sending pattern'),
  ('anomaly_score_threshold', '7.0', 'Score for flagging anomalies'),
  ('auto_quarantine_score', '9.0', 'Score for automatic quarantine');

2. Conversation Learner Configuration Bug

Similar fix applied to the conversation_learner module for AI-powered legitimacy scoring:

  • Fixed NoneType error when calculating legitimacy scores
  • Added 6 default configuration rows to conversation_learning_config table
  • Enables automatic learning from legitimate emails (spam_score < 2.5)

🔢 NumPy/Pandas Compatibility Fix

The installer now automatically handles binary compatibility between NumPy 2.x and data science packages.

The Issue

Pre-compiled wheels for pandas, matplotlib, and seaborn were built against NumPy 1.x. When installed with NumPy 2.x, they would fail with "numpy.dtype size changed" errors, preventing SpacyWeb from starting.

Automatic Fix:

  1. Install NumPy 2.x first
  2. Install pandas, matplotlib, seaborn
  3. Uninstall the three packages
  4. Reinstall with --no-cache-dir to rebuild against NumPy 2.x
  5. SpacyWeb starts successfully!

👥 Updated User Role Display Names

Improved clarity in the web interface with better role naming:

Old Name New Name Description
Client User Standard user with domain-scoped access
Administrator SuperAdmin Full system access across all domains
- Domain Admin NEW: Manage users within specific domains

⚙️ Technical Details

New Files

  • lib/dependencies.sh - Enhanced dependency management for minimal Ubuntu
  • templates/config/alias_mappings.json - Email alias mapping configuration
  • sql/migrations/ - Database migration framework

Modified Files

  • openefa-files/modules/behavioral_baseline.py - Fixed empty config handling
  • sql/schema_v1.sql - Added default config rows for two tables
  • lib/packages.sh - NumPy compatibility fix, MariaDB verification
  • install.sh - Diagnostic tools installation before pre-flight checks
  • Web templates - Updated role display names

✅ Testing Results

Verified on Fresh Minimal Ubuntu 24.04 LTS
  • ✅ All 18 analysis modules load without errors
  • ✅ Zero [THREAD-WARNING] messages (was 3 before)
  • ✅ Zero legitimacy calculation errors
  • ✅ behavioral_baseline loads config successfully
  • ✅ conversation_learner loads config successfully
  • ✅ Email processing completes with exit code 0
  • ✅ SpacyWeb service starts and runs correctly

📦 Installation

For best results, we recommend starting with a fresh minimal Ubuntu 24.04 LTS server installation. The installer handles all dependencies and configuration automatically.

curl -sSL http://install.openefa.com/install.sh | sudo bash

The installation process now completes in approximately 15-20 minutes depending on internet speed and system specifications.

💬 Get Help

Questions or issues? We're here to help!