Configuration

Main config file

Rum reads its main configuration from /etc/rum/rum.conf, an INI style file with a [main] section, using the same option names as dnf's own dnf.conf. Any option rum doesn't recognize is silently ignored, so a config file shared with dnf tooling works fine.

Commonly used options include cachedir, reposdir, keepcache, assumeyes, gpgcheck, best, exclude, includepkgs, metadata_expire, retries, timeout, minrate, max_parallel_downloads, skip_if_unavailable, clean_requirements_on_remove, installroot, protected_packages, installonlypkgs, installonly_limit, install_weak_deps, skip_broken, multilib_policy, obsoletes, proxy, fastestmirror, and protect_running_kernel.

Settings apply in this order of priority, from highest to lowest: command line flags, then rum.conf, then rum's built in defaults. You can point rum at a different config file with --config <path>.

Repository files

Repositories are defined in /etc/yum.repos.d/*.repo, using the standard yum and dnf .repo format. You can change where rum looks for these with --repo-dir <path>.

Global flags

These flags work across almost every rum command:

  • -y, --assumeyes, answer yes to every prompt.
  • --assumeno, answer no to every prompt.
  • -q, --quiet, suppress non essential output.
  • -x, --exclude <name>, exclude a package by name or glob, can be repeated.
  • -C, --cacheonly, never touch the network, use cached metadata only.
  • --refresh, force a metadata refresh, ignoring metadata_expire.
  • --repo, --repoid <id>, restrict to specific repos, can be repeated.
  • --enablerepo and --disablerepo, enable or disable repos for this run only.
  • --no-gpgchecks, skip GPG verification entirely.
  • --setopt KEY=VALUE, dnf style config override, in practice only tsflags=noscripts is actually honored, everything else is accepted for compatibility and ignored.
  • --allowerasing, allow removing conflicting or obsoleted packages to complete a transaction.
  • --best, require the newest available version rather than silently falling back.
  • --skip-unavailable, drop names that can't be matched instead of failing the whole install.
  • --repofrompath name,baseurl, add an ad hoc repository for this run only, can be repeated.
  • --no-autoremove, don't sweep orphaned dependencies after a remove.
  • --installroot <path>, operate against an alternate root, used for image builds and testing.
  • --no-recommends, skip weak dependencies for this run.
  • --skip-broken, drop unresolvable names from an install set instead of failing entirely.
  • --multilib-all, install every architecture build side by side.
  • --forcearch <arch>, resolve and download for a different architecture than the host.
  • --from-repo <id> and --from-vendor <vendor>, restrict candidate packages by repo or vendor.
  • --downloadonly, resolve and download without applying the transaction.
  • --destdir <path>, where to write RPMs when using --downloadonly.
  • --allow-downgrade and --no-allow-downgrade, permit or forbid the resolver from downgrading packages.

Most commands that change your system need root, unless you're using --installroot or --dry-run.