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.
Tested on AlmaLinux 9 across identical package sets and warm repodata caches.
Built from first principles in Rust for uncompromising speed and reliability.
Complete Boolean constraint satisfaction with full support for rich boolean dependencies (and/or/if/unless), versioned constraints, and provider tie-breaking without exponential backtracking.
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.
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.
Resolves complete upgrade and erase cycles with obsoletes handling, atomic state reconciliation, and automatic installonly_limit kernel pruning to safeguard against unbootable states.
Flags like --no-weak-deps and --nodocs prevent soft recommendations from bloating your rootfs, producing ultra-lean container images and minimal build closures.
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.
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. |