Linux package managers comparison

Manager Distro Format Backend Dep solver Atomic updates Rollback Delta RPM
apt Debian, Ubuntu .deb dpkg apt-get / aptitude No No No
dnf Fedora, RHEL 8+ .rpm RPM libsolv No No Yes (drpm)
pacman Arch Linux .pkg.tar.zst None (native) Topological sort No No No
zypper openSUSE, SUSE .rpm RPM libzypp / SAT No Yes (snapper) Yes
emerge Gentoo Source (ebuild) Portage USE flags / deps No No N/A
apk Alpine Linux .apk None (native) Simple greedy No No No
nix NixOS, any .drv (store) Nix Pure functional Yes Yes No
flatpak Universal .flatpakref OSTree + bubblewrap Flatpak Yes (per-app) Yes No
snap Universal (Ubuntu) .snap squashfs + snapd snapd Yes (per-snap) Yes No

Key Differences

Dependency Resolution

Atomicity & Rollback

Package Formats & Sources

Performance

Use Cases