This is a list of notable software package manager systems, categorized first by package format (binary, source code, hybrid) and then by operating system family.[1]
dpkg: Originally used by Debian and now by Ubuntu and derivatives. Uses the .deb format and was the first to have a widely known dependency resolution tool, APT. The ncurses-based front-end for APT, aptitude, is also a popular package manager for Debian-based systems;
Flatpak: A containerized/sandboxed packaging format formerly named xdg-app;
Snap: Cross-distribution containerized package manager, non-free on the server-side, originally developed for Ubuntu;
Nix: Aims to make package management reliable and reproducible. It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management, and easy setup of build environments;
Pacman: Used in Arch Linux, Frugalware and DeLi Linux. Its binary package format is a compressed tar archive (default file extension: .pkg.tar.zst) built using the makepkg utility (which comes bundled with pacman) and a specialized type of shell script called a PKGBUILD;
Pamac: A user-friendly frontend to pacman with both a CLI and a GUI, built and maintained by Manjaro;
Portage: A package management system invoked by the emerge command, originally created for and used by Gentoo Linux;
Entropy: Used by and created for Sabayon Linux. It works with binary packages that are bzip2-compressed tar archives (file extension: .tbz2), that are created using Entropy, from tbz2 binaries produced by Portage from ebuilds, a type of specialized shell script;
Aptoide: application for installing mobile applications which runs on the Android operating system. In Aptoide there is no centralized store; instead, each user manages their own store.
F-Droid: Alternative app store for Android, whose official repository contains only free software;
OpenPKG: Cross-platform package management system based on rpm;
PC-BSD: Up to and including version 8.2[4] uses files with the .pbi (Push Button Installer) filename extension which, when double-clicked, bring up an installation wizard program. Each PBI is self-contained and uses de-duplicated private dependencies to avoid version conflicts. An autobuild system tracks the FreeBSD ports collection and generates new PBIs daily. PC-BSD also uses the FreeBSD pkg binary package system; new packages are built approximately every two weeks from both a stable and rolling release branch of the FreeBSD ports tree.
The following package management systems distribute the source code of their apps. Either the user must know how to compile the packages, or they come with a script that automates the compilation process. For example, in GoboLinux a recipe file contains information on how to download, unpack, compile and install a package using its Compile tool. In both cases, the user must provide the computing power and time needed to compile the app, and is legally responsible for the consequences of compiling the package.
BSD
FreeBSD Ports is an original implementation of source based software management system commonly referred to as Ports collection. It gave way and inspired many others systems;
OpenBSD ports is a Perl based reimplementation of ports collection;
Linux
ABS is used by Arch Linux to automate binary packages building from source or even other binary archives, with automatic download and dependency checking;
apt-build is used by distributions which use deb packages, allowing automatic compiling and installation of software in a deb source repository;
Sorcery is Sourcemage GNU/Linux's bash based package management program that automatically downloads software from their original site and compiles and installs it on the local machine;
macOS (OS X)
Fink, for OS X, derives partially from dpkg/apt and partially from ports;
MacPorts, formerly called DarwinPorts, originated from the OpenDarwin project;
Nix: Package manager that manages software in a purely functional programming way, with multi-user support, atomic upgrades, and rollbacks. Allows installing multiple versions or variants of software at the same time. Supports macOS and cross-Linux distributions;
Portage and emerge are used by Gentoo Linux, Funtoo Linux, and Sabayon Linux. It is inspired by the BSD ports collection and uses text based ebuilds to automatically download, customize, build, and update packages from source code. It has automatic dependency checking and allows installing multiple versions of a software package in different slots on the same system. Has use flags to allow fully customizing a software build to suit the needs of a platform in an automated way. While source code distributing and customizing is the preferred method, some larger packages that would take many hours to compile on a typical desktop computer are also offered as pre-compiled binaries to ease installing;
Upkg: Package manager and build system based on Mono and XML specifications. Used by paldo and formerly by ExTiX Linux;
NetBSD's pkgsrc works on several Unix-like operating systems, with regular binary packages for macOS and Linux provided by multiple independent vendors;
The following unify package management for several or all Linux and sometimes Unix variants. These, too, are based on the concept of a recipe file.
AppImage (formerly klik and PortableLinuxApps) aims to provide an easy way to get software packages for most major distributions without the dependency problems so common in many other package formats.
PackageKit is a set of utilities and libraries for creating applications that can manage packages across multiple package managers using back-ends to call the correct program.
Game package managers
Package management systems geared toward developing and distributing video games.
Steam: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Valve. Used to shop for, download, install, update, uninstall and back up video games. Works on Windows NT, OS X and Linux
A wide variety of package management systems are in common use today by proprietary software operating systems, handling the installation of both proprietary and free packages.
This page is based on this Wikipedia article Text is available under the CC BY-SA 4.0 license; additional terms may apply. Images, videos and audio are available under their respective licenses.