Package Management Cheatsheet Main distributions

The first table lists package management tasks in the four most popular distribution groups - Debian (including Ubuntu, Linux Mint, elementary OS, Zorin OS and other Debian derivatives), openSUSE, Solus, Fedora (including Red Hat Enterprise Linux, CentOS, Scientific Linux and other Fedora-based distributions), Mageia, OpenMandriva, and FreeBSD. We also cover distributions such as Slackware, Alpine Linux, Arch Linux, Gentoo, NixOS, and Void in the tables below. In Fedora-based distribution the yum package manager is set to be replaced with dnf at some point in 2015 (starting with Fedora 22), but it looks like most of the dnf package management commands will remain mostly identical to the yum commands (the exceptions being "localinstall" which is not yet implemented in dnf, and "update" which has been deprecated in favour of "upgrade"). Please note: current versions of Ubuntu use apt to manipulate deb packages. However, experimental versions of Ubuntu use the new snap package manager.



Task apt (deb)

Debian, Ubuntu zypp (rpm)

openSUSE yum/dnf (rpm)

Fedora, CentOS urpmi (rpm)

Mandriva, Mageia Managing software Install new software from package repository apt-get install pkg zypper install pkg dnf install pkg urpmi pkg Install new software from package file dpkg -i pkg zypper install pkg dnf localinstall pkg urpmi pkg Update existing software apt-get install pkg zypper update -t package pkg dnf update pkg urpmi pkg Remove unwanted software apt-get remove pkg zypper remove pkg dnf erase pkg urpme pkg Updating the system Update package list apt-get update

aptitude update zypper refresh dnf check-update urpmi.update -a Update system apt-get upgrade

aptitude safe-upgrade zypper update dnf update urpmi --auto-select Searching for packages Search by package name apt-cache search pkg zypper search pkg dnf list pkg urpmq pkg Search by pattern apt-cache search pattern zypper search -t pattern pattern dnf search pattern urpmq --fuzzy pkg Search by file name apt-file search path zypper wp file dnf provides file urpmf file List installed packages dpkg -l zypper search -is rpm -qa rpm -qa Configuring access to software repositories List repositories cat /etc/apt/sources.list zypper repos dnf repolist urpmq --list-media Add repository (edit /etc/apt/sources.list) zypper addrepo path name (add repo to /etc/yum.repos.d/) urpmi.addmedia name path Remove repository (edit /etc/apt/sources.list) zypper removerepo name (remove repo from /etc/yum.repos.d/) urpmi.removemedia media

Slackware and Slackware Based Distributions

The table below lists package management utilities found in Slackware Linux and other Slackware-based distributions. As stated by Patrick Volkerding on several occasions, Slackware is unlikely to ever have any advanced (i.e. dependency-resolving) package management tool, so all installation, upgrade and removal tasks continue to be performed with pkgtools, a set of very simple scripts that haven't changed much in years. Nevertheless, slackpkg, an advanced package management tool which for years had been relegated to the unsupported "extra" repository, was finally made part of Slackware Linux 12.2. It's worth noting that some popular Slackware derivatives, such as VectorLinux, have standardised on slapt-get, another third-party utility imitating the behaviour of Debian's APT, while Zenwalk Linux has introduced its own package management tool called netpkg.



Task pkgtools

Slackware slackpkg

Slackware slapt-get

Vector netpkg

Zenwalk Managing software Install new software from package repository -- slackpkg install pkg slapt-get --install pkg netpkg pkg Install new software from package file installpkg pkg slackpkg install pkg slapt-get --install pkg netpkg pkg Update existing software upgradepkg pkg slackpkg upgrade pkg slapt-get --install pkg netpkg pkg Remove unwanted software removepkg pkg slackpkg remove pkg slapt-get --remove pkg netpkg remove pkg Updating the system Update package list -- slackpkg update slapt-get --update (automatic) Update system -- slackpkg upgrade-all slapt-get --upgrade netpkg upgrade Searching for packages Search by package name -- slackpkg search pkg slapt-get --search pkg netpkg pkg repo Search by pattern -- slackpkg search pattern slapt-get --search pattern netpkg list | grep pattern Search by file name -- -- -- netpkg file repo List installed packages ls /var/log/packages/ ls /var/log/packages/ slapt-get --installed netpk list I Configuring access to software repositories List repositories -- cat /etc/slackpkg/mirrors cat /etc/slapt-get/slapt-getrc netpkg mirror Add repository -- (edit /etc/slackpkg/mirrors) (edit /etc/slapt-get/slapt-getrc) (edit /etc/netpkg.conf) Remove repository -- (edit /etc/slackpkg/mirrors) (edit /etc/slapt-get/slapt-getrc) (edit /etc/netpkg.conf)

Independent Linux Distributions

In the next group we have a few (mostly) independent distributions that have been gaining popularity in recent years. Sabayon Linux, although derived from Gentoo, has introduced its own command-line package management utility called equo. Arch Linux's Pacman has been around for a long time and it's often considered one of the fastest package management utilities around. PiSi, originally developed by Pardus Linux, is a relatively new utility which has been reworked into the eopkg utility, used by Solus.



Task equo

Sabayon pacman

Arch eopkg

Solus apk

Alpine Managing software Install new software from package repository equo install pkg pacman -S pkg eopkg install pkg apk add pkg Install new software from package file equo install pkg pacman -U pkg -- apk add --force pkg Update existing software equo install pkg pacman -S pkg eopkg upgrade pkg apk add --upgrade pkg Remove unwanted software equo remove pkg pacman -R pkg eopkg remove pkg apk del pkg Updating the system Update package list equo update pacman -Sy apk update Update system equo upgrade pacman -Su eopkg upgrade apk upgrade Searching for packages Search by package name equo match pkg pacman -Ss pkg eopkg search pkg apk search pkg Search by pattern equo search pattern pacman -Ss pattern eopkg search pattern apk search pattern Search by file name equo belongs file pacman -Qo file -- -- List installed packages equo q list installed pacman -Q -- apk info Configuring access to software repositories List repositories equo repoinfo cat /etc/pacman.conf eopkg list-repo cat /etc/apk/repositories Add repository (edit /etc/pacman.conf) eopkg add-repo Name URL setup-apkrepos Remove repository (edit /etc/pacman.conf) eopkg remove-repo Name (edit /etc/apk/repositories)

Distribution Agnostic Package Management

Besides standard package management utilities that most distributions use as part of their systems, there are also some distro-agnostic ones that have been deployed with various levels of success in certain distributions. Smart, originally developed by Conectiva, hasn't been in the news lately, but some users seem to prefer it over Mandriva's urpmi or openSUSE's zypper (it also supports Debian and Slackware-based systems). More recently it is Fedora's PackageKit that has been gaining momentum as a way to manage packages across distributions and architectures. Now included in many other distributions, PackageKit's pkgcon command-line utility is effectively a unified front-end to the native package management tools of Fedora, Ubuntu, openSUSE, Mandriva and other distributions.



Task smart

Mandriva, openSUSE pkgcon

Fedora, Ubuntu, openSUSE, Mandriva Managing software Install new software from package repository smart install pkg pkcon install pkg Install new software from package file smart install pkg pkcon install-file pkg Update existing software smart install pkg pkcon update pkg Remove unwanted software smart remove pkg pkcon remove pkg Updating the system Update package list smart update pkcon refresh Update system smart upgrade pkcon upgrade Searching for packages Search by package name smart search pkg pkcon search name pkg Search by pattern smart search pattern pkcon search details pattern Search by file name smart query file pkcon what-provides file List installed packages smart query --installed pkcon search name pkg | grep Installed Configuring access to software repositories List repositories smart channel --show pkcon repo-list Add repository smart channel --add name path Remove repository smart channel --remove name

Source Based Distributions

Next, a table for source-based distributions. Gentoo's Portage is well-documented and widely used, but other distributions that are designed to be built from scratch don't often feature in the Linux media, so their package management systems are not particularly well-known. Sorcerer, which existed even before Gentoo Linux was conceived, uses Bash scripts to "cast spells" or download, install and compile packages. Sorcerer was later forked into Lunar Linux and Source Mage GNU/Linux, both of which are included in the table below. Unfortunately, Sorcerer doesn't offer much in terms of online documentation so it has been omitted for now.



Task portage

Gentoo lunar

Lunar sorcery

Source Mage Managing software Install new software from package repository emerge pkg lin pkg cast pkg Install new software from package file Update existing software emerge pkg lin pkg cast pkg Remove unwanted software emerge -aC pkg lrm pkg dispel pkg Updating the system Update package list emerge --sync lin moonbase scribe update Update system emerge -NuDa world lunar update sorcery upgrade Searching for packages Search by package name emerge --search pkg lvu search pkg gaze search -name pkg Search by pattern emerge --search pattern lvu search pattern gaze search pattern Search by file name equery belongs pkg gaze from file List installed packages qlist -I lvu installed gaze installed Configuring access to software repositories List repositories layman -L -- scribe index Add repository layman -a repo -- scribe add repo Remove repository layman -d repo -- scribe remove repo

Nix OS (nix), Void (xbps) and Ubuntu (snap)

Some distributions, e.g. NixOS, Void and Ubuntu have been developing their own binary package management systems with some interesting and innovative features. Here is a summary of useful commands as used by these projects for managing packages.



Task nix

NixOS xbps

Void snap

Ubuntu Managing software Install new software from package repository nix-env -i pkg xbps-install pkg snap install pkg Install new software from package file -- -- -- Update existing software nix-env -u pkg xbps-install -u pkg snap refresh pkg Remove unwanted software nix-env -e pkg xbps-remove pkg snap remove pkg Updating the system Update package list nix-channel --update xbps-install -S -- Update system nix-env -u xbps-install -u -- Searching for packages Search by package name nix-env -qa pkg xbps-query -Rs pkg snap find pkg Search by pattern nix-env -qa pattern xbps-query -Rs pattern snap find | grep pattern Search by file name -- xbps-query -o file -- List installed packages nix-env -q xbps-query -l snap list Configuring access to software repositories List repositories nix-channel --list xbps-query -L -- Add repository nix-channel --add url name (add to /etc/xbps/repo.d/ or /usr/share/xbps/repo.d/) -- Remove repository nix-channel --remove name (edit /etc/xbps/repo.d/ and /usr/share/xbps/repo.d/) --

FreeBSD

Finally, a table for FreeBSD, a popular operating system offering both binary and source package management.



Task packages

FreeBSD < 10.0 packages

FreeBSD 10.0+ ports

FreeBSD Managing software Install new software from package repository pkg_add -r package pkg install package cd port_dir && make && make install Install new software from package file pkg_add path_to_package pkg add path_to_package -- Update existing software pkg_add path_to_package pkg install path_to_package portupgrade -R pkg Remove unwanted software pkg_delete pkg pkg remove pkg pkg_delete pkg Updating the system freebsd-update fetch install freebsd-update fetch install portsnap fetch install Update package list pkg update csup -L 2 -h cvsup.FreeBSD.org path_to_supfile

portsnap update Update system pkg upgrade portupgrade -a

portmanager -u

portmaster -a Searching for packages Search by package name pkg search package cd /usr/ports && make search pkg Search by pattern pkg search pattern cd /usr/ports && make search pattern Search by file name List installed packages pkg info pkg info pkg_info Configuring access to software repositories List repositories -- -- -- Add repository -- -- -- Remove repository -- -- --



Copyright © 2020 DistroWatch.com.



Verbatim copying and distribution of this entire article is permitted in any medium, provided this copyright notice is preserved.






Star Labs





Star Labs - Laptops built for Linux.

View our range including the new Star Lite Mk III, Star LabTop Mk IV and more. Available with a choice of Ubuntu, elementary OS, Linux Mint, Manjaro or Zorin OS pre-installed with many more distributions supported. Visit Star Labs for information, to buy and get support.





Linux Privacy Notebooks





Pre-installed open-source notebooks with free Tails live boot options "to hide your whereabouts." Preloaded with Ubuntu, Linux Mint, Manjaro or Kali Linux.



UbuntuShop.eu • ManjaroComputer.eu





Learn Linux Quickly





A friendly guide to master the world's most powerful operating system

Paperback $39.99, Kindle $3.04





