$
Package Manager Comparison
Compare commands across apt, yum, dnf, pacman, and apk. Toggle managers, search operations, and translate commands between distributions.
| Operation | apt | yum | dnf | pacman | apk |
|---|---|---|---|---|---|
| Install / Remove | |||||
| Install a package | sudo apt install <pkg> | sudo yum install <pkg> | sudo dnf install <pkg> | sudo pacman -S <pkg> | sudo apk add <pkg> |
| Remove a package | sudo apt remove <pkg> | sudo yum remove <pkg> | sudo dnf remove <pkg> | sudo pacman -R <pkg> | sudo apk del <pkg> |
| Remove with dependencies | sudo apt autoremove <pkg> | sudo yum autoremove <pkg> | sudo dnf autoremove <pkg> | sudo pacman -Rns <pkg> | sudo apk del <pkg> && sudo apk fix |
| Install from local file | sudo dpkg -i <file.deb> | sudo yum localinstall <file.rpm> | sudo dnf install <file.rpm> | sudo pacman -U <file.pkg.tar.zst> | sudo apk add --allow-untrusted <file.apk> |
| Downgrade a package | sudo apt install <pkg>=<version> | sudo yum downgrade <pkg> | sudo dnf downgrade <pkg> | sudo pacman -U <older-pkg-file> | sudo apk add <pkg>=<version> |
| Update / Upgrade | |||||
| Update package list | sudo apt update | sudo yum check-update | sudo dnf check-update | sudo pacman -Sy | sudo apk update |
| Upgrade all packages | sudo apt upgrade | sudo yum update | sudo dnf upgrade | sudo pacman -Syu | sudo apk upgrade |
| List available updates | apt list --upgradable | yum check-update | dnf check-update | pacman -Qu | apk version -l '<' |
| Query / Info | |||||
| Search for a package | apt search <keyword> | yum search <keyword> | dnf search <keyword> | pacman -Ss <keyword> | apk search <keyword> |
| Show package info | apt show <pkg> | yum info <pkg> | dnf info <pkg> | pacman -Si <pkg> | apk info -a <pkg> |
| List installed packages | apt list --installed | yum list installed | dnf list installed | pacman -Q | apk list -I |
| Show package dependencies | apt depends <pkg> | yum deplist <pkg> | dnf repoquery --requires <pkg> | pacman -Si <pkg> | grep Depends | apk info -R <pkg> |
| Show which package owns a file | dpkg -S <file> | yum provides <file> | dnf provides <file> | pacman -Qo <file> | apk info --who-owns <file> |
| List files in a package | dpkg -L <pkg> | rpm -ql <pkg> | dnf repoquery -l <pkg> | pacman -Ql <pkg> | apk info -L <pkg> |
| Download package without installing | apt download <pkg> | yumdownloader <pkg> | dnf download <pkg> | pacman -Sw <pkg> | apk fetch <pkg> |
| Show package changelog | apt changelog <pkg> | yum changelog <pkg> | dnf changelog <pkg> | pacman -Qc <pkg> | N/A |
| Maintenance | |||||
| Clean cache | sudo apt clean | sudo yum clean all | sudo dnf clean all | sudo pacman -Sc | sudo apk cache clean |
| Hold / pin a package version | sudo apt-mark hold <pkg> | echo "exclude=<pkg>" >> /etc/yum.conf | sudo dnf versionlock add <pkg> | Edit IgnorePkg in /etc/pacman.conf | apk add <pkg>=<version> |
| Repository | |||||
| Add a repository | sudo add-apt-repository <repo> | sudo yum-config-manager --add-repo <url> | sudo dnf config-manager --add-repo <url> | Edit /etc/pacman.conf | echo "<url>" >> /etc/apk/repositories |
| Remove a repository | sudo add-apt-repository --remove <repo> | sudo rm /etc/yum.repos.d/<repo>.repo | sudo rm /etc/yum.repos.d/<repo>.repo | Edit /etc/pacman.conf | Edit /etc/apk/repositories |
| List repositories | apt-cache policy | yum repolist | dnf repolist | cat /etc/pacman.d/mirrorlist | cat /etc/apk/repositories |
Install / Remove
Install a package
apt
sudo apt install <pkg>yum
sudo yum install <pkg>dnf
sudo dnf install <pkg>pacman
sudo pacman -S <pkg>apk
sudo apk add <pkg>Remove a package
apt
sudo apt remove <pkg>yum
sudo yum remove <pkg>dnf
sudo dnf remove <pkg>pacman
sudo pacman -R <pkg>apk
sudo apk del <pkg>Remove with dependencies
apt
sudo apt autoremove <pkg>yum
sudo yum autoremove <pkg>dnf
sudo dnf autoremove <pkg>pacman
sudo pacman -Rns <pkg>apk
sudo apk del <pkg> && sudo apk fixInstall from local file
apt
sudo dpkg -i <file.deb>yum
sudo yum localinstall <file.rpm>dnf
sudo dnf install <file.rpm>pacman
sudo pacman -U <file.pkg.tar.zst>apk
sudo apk add --allow-untrusted <file.apk>Downgrade a package
apt
sudo apt install <pkg>=<version>yum
sudo yum downgrade <pkg>dnf
sudo dnf downgrade <pkg>pacman
sudo pacman -U <older-pkg-file>apk
sudo apk add <pkg>=<version>Update / Upgrade
Update package list
apt
sudo apt updateyum
sudo yum check-updatednf
sudo dnf check-updatepacman
sudo pacman -Syapk
sudo apk updateUpgrade all packages
apt
sudo apt upgradeyum
sudo yum updatednf
sudo dnf upgradepacman
sudo pacman -Syuapk
sudo apk upgradeList available updates
apt
apt list --upgradableyum
yum check-updatednf
dnf check-updatepacman
pacman -Quapk
apk version -l '<'Query / Info
Search for a package
apt
apt search <keyword>yum
yum search <keyword>dnf
dnf search <keyword>pacman
pacman -Ss <keyword>apk
apk search <keyword>Show package info
apt
apt show <pkg>yum
yum info <pkg>dnf
dnf info <pkg>pacman
pacman -Si <pkg>apk
apk info -a <pkg>List installed packages
apt
apt list --installedyum
yum list installeddnf
dnf list installedpacman
pacman -Qapk
apk list -IShow package dependencies
apt
apt depends <pkg>yum
yum deplist <pkg>dnf
dnf repoquery --requires <pkg>pacman
pacman -Si <pkg> | grep Dependsapk
apk info -R <pkg>Show which package owns a file
apt
dpkg -S <file>yum
yum provides <file>dnf
dnf provides <file>pacman
pacman -Qo <file>apk
apk info --who-owns <file>List files in a package
apt
dpkg -L <pkg>yum
rpm -ql <pkg>dnf
dnf repoquery -l <pkg>pacman
pacman -Ql <pkg>apk
apk info -L <pkg>Download package without installing
apt
apt download <pkg>yum
yumdownloader <pkg>dnf
dnf download <pkg>pacman
pacman -Sw <pkg>apk
apk fetch <pkg>Show package changelog
apt
apt changelog <pkg>yum
yum changelog <pkg>dnf
dnf changelog <pkg>pacman
pacman -Qc <pkg>apk
N/AMaintenance
Clean cache
apt
sudo apt cleanyum
sudo yum clean alldnf
sudo dnf clean allpacman
sudo pacman -Scapk
sudo apk cache cleanHold / pin a package version
apt
sudo apt-mark hold <pkg>yum
echo "exclude=<pkg>" >> /etc/yum.confdnf
sudo dnf versionlock add <pkg>pacman
Edit IgnorePkg in /etc/pacman.confapk
apk add <pkg>=<version>Repository
Add a repository
apt
sudo add-apt-repository <repo>yum
sudo yum-config-manager --add-repo <url>dnf
sudo dnf config-manager --add-repo <url>pacman
Edit /etc/pacman.confapk
echo "<url>" >> /etc/apk/repositoriesRemove a repository
apt
sudo add-apt-repository --remove <repo>yum
sudo rm /etc/yum.repos.d/<repo>.repodnf
sudo rm /etc/yum.repos.d/<repo>.repopacman
Edit /etc/pacman.confapk
Edit /etc/apk/repositoriesList repositories
apt
apt-cache policyyum
yum repolistdnf
dnf repolistpacman
cat /etc/pacman.d/mirrorlistapk
cat /etc/apk/repositories