v0.1.0 • Built for EL8, EL9 & EL10

An extremely fast RPM package manager,
written in Rust.

A 10–35× faster, drop-in replacement for DNF and YUM. Powered by a CDCL SAT solver, lockless zero-copy metadata cache, and sub-35MB peak RSS.

Quick Install (Auto-detects Arch & EL Generation)
$curl -fsSL https://getrum.sh/install.sh | sh

Performance That Speaks for Itself

Tested on AlmaLinux 9 across identical package sets and warm repodata caches.

Warm Metadata Cache Check
rum (Rust) 0.08s
dnf5 (C++) 0.72s
dnf4 (Python) 2.85s
⚡ 35× faster than DNF4, 9× faster than DNF5
Complex SAT Resolve
rum (Rust) 0.42s
dnf5 (C++) 3.10s
dnf4 (Python) 8.90s
⚡ 21× faster resolution with full rich deps
Peak Memory Consumption (RSS)
rum (Rust) 32 MB
dnf5 (C++) 145 MB
dnf4 (Python) 285 MB
⚡ 88% lower RAM footprint for low-spec hosts

Engineering Highlights

Built from first principles in Rust for uncompromising speed and reliability.

Resolvo CDCL SAT Solver

Complete Boolean constraint satisfaction with full support for rich boolean dependencies (and/or/if/unless), versioned constraints, and provider tie-breaking without exponential backtracking.

Zero-Copy Metadata (`rkyv`)

Pre-parsed repository metadata is cached in binary zero-copy format with pre-sorted binary-search indices. Repodata queries happen instantly in memory without parsing XML on warm invocations.

Glibc Arena Control

Caps thread memory arenas using mallopt(M_ARENA_MAX, 2) to prevent virtual memory fragmentation on multi-core systems, guaranteeing sub-35MB peak RSS in minimal containers and edge VMs.

Scoped-Present Erases

Resolves complete upgrade and erase cycles with obsoletes handling, atomic state reconciliation, and automatic installonly_limit kernel pruning to safeguard against unbootable states.

Strictly Minimal Closures

Flags like --no-weak-deps and --nodocs prevent soft recommendations from bloating your rootfs, producing ultra-lean container images and minimal build closures.

Native Multi-Era RPM

Custom-tailored native builds link directly against the target host's librpm: EL8 (librpm.so.8), EL9 / AL2023 (librpm.so.9), and EL10 (librpm.so.10) across x86_64 and aarch64 architectures.

Command Cheatsheet

Intuitive, clean CLI designed as a drop-in replacement for your existing workflows.

Command Description
rum install <pkg>... Resolve dependencies, stream downloads, and commit transactional installation.
rum install --no-weak-deps --nodocs Minimal container mode: installs mandatory dependencies only, skipping docs and manpages.
rum upgrade-all Scoped-present upgrade evaluating obsoletes and replacing older sibling packages atomically.
rum erase <pkg>... Transactionally remove packages with protected package safeguard checks.
rum download --destdir=/tmp <pkg> Resolve and download package RPMs with parallel HTTP pipelining.
rum check-update Query repository metadata for available package updates without committing.
rum repolist List all configured and enabled repositories from /etc/yum.repos.d/.
rum clean all Purge downloaded packages and zero-copy metadata cache.