Usage
Basic Commands
Install (Default Command)
Install packages from a Yumfile:
# Use default Yumfile (./Yumfile)
sudo yum-bundle
# Or explicitly
sudo yum-bundle install
# Use a different Yumfile
sudo yum-bundle --file /path/to/Yumfile
The install command:
- Imports any specified GPG keys
- Adds any specified repositories (
repo,baseurl,copr) - Enables EPEL if
epeldirective is present - Enables DNF modules if
moduledirectives are present - Runs
dnf makecache(unless--no-updateis specified) - Installs all
yumpackages - Installs any
rpmURL packages
Check
Check if Yumfile entries are satisfied (no root required):
apt-bundle check
apt-bundle check --file /path/to/Yumfile
apt-bundle check --json # machine-readable output
Sync
Install missing items and remove packages no longer in the Yumfile:
sudo yum-bundle sync
sudo yum-bundle sync --autoremove # also run dnf autoremove
sudo yum-bundle sync --dry-run # preview changes
Cleanup
Remove packages that yum-bundle installed but are no longer in the Yumfile:
sudo yum-bundle cleanup # dry-run (show what would be removed)
sudo yum-bundle cleanup --force # actually remove packages
sudo yum-bundle cleanup --zap # remove ALL packages not in Yumfile (dangerous)
Dump
Generate a Yumfile from the system’s current state:
yum-bundle dump # print to stdout
yum-bundle dump > Yumfile
Lock
Pin installed versions of Yumfile packages to Yumfile.lock:
yum-bundle lock
Install from lock file:
sudo yum-bundle install --locked
Outdated
List Yumfile packages that have available upgrades:
yum-bundle outdated
Doctor
Validate Yumfile syntax and check the environment:
yum-bundle doctor
yum-bundle doctor --yumfile-only # only validate Yumfile
Global Flags
--file, -f: Path to Yumfile (default:./Yumfile)--no-update: Skipdnf makecachebefore installing--version: Show version and commit hash--help, -h: Show help
Examples
Basic Package Installation
yum vim
yum curl
yum git
sudo yum-bundle
With EPEL and COPR
epel
copr atim/lazygit
yum lazygit
yum htop
With Custom Repository and GPG Key
key https://packages.example.com/gpg.key
baseurl https://packages.example.com/el9/
yum my-package
With DNF Module
module nodejs:18
yum nodejs
yum npm
With RPM URL
rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
yum htop
Dry Run
Preview what would be installed without making changes:
sudo yum-bundle install --dry-run