You are on page 1of 8

List of software package management systems

This is a list of software package management systems, categorized first by package format (binary, source
code, hybrid) and then by operating system family.

Contents
Binary packages
Unix-like
Linux
Android
macOS (OS X)
BSD
Solaris, illumos
iOS
Windows
z/OS
Source code-based
macOS (OS X)
Windows
Hybrid systems
Meta package managers
Proprietary software systems
Application-level package managers
See also
References

Binary packages
The following package management systems distribute apps in binary package form; i.e., all apps are compiled
and ready to be installed and use.

Unix-like

Linux
apk-tools (apk): Alpine Package Keeper, the package manager for Alpine Linux;
dpkg: Originally used by Debian and now by Ubuntu. 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;
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 itself, from tbz2
binaries produced by Portage: From ebuilds, a type of specialized shell script;
Flatpak: A containerized/sandboxed packaging format previously known as xdg-app;
GNU Guix: Used by the GNU System. It is based on the Nix package manager with Guile
Scheme APIs and specializes in providing exclusively free software;
Homebrew: a port of the MacOS package manager of the same name (see below), formerly
referred to as 'Linuxbrew';
ipkg: A dpkg-inspired, very lightweight system targeted at storage-constrained Linux systems
such as embedded devices and handheld computers. Used on HP's webOS;
netpkg;
Nix Package Manager: Nix is a powerful package manager for Linux and other Unix systems
that makes 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;
OpenPKG: Cross-platform package management system based on RPM Package Manager;
opkg: Fork of ipkg lightweight package management intended for use on embedded Linux
devices;
pacman: Used in Arch Linux, Frugalware and DeLi Linux. Its binary package format is a zstd-
compressed tar archive (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;
PETget: Used by Puppy Linux;
PISI: Pisi stands for "Packages Installed Successfully as Intended". Pisi package manager is
used by Pisi Linux.[1] Pardus used to use Pisi, but migrated to APT in 2013[2];
pkgsrc: A cross-platform package manager, with binary packages provided for Enterprise Linux,
macOS and SmartOS by Joyent and other vendors;
RPM Package Manager: Created by Red Hat. RPM is the Linux Standard Base packaging
format and the base of a number of additional tools, including apt4rpm, Red Hat's up2date,
Mageia's urpmi, openSUSE's ZYpp (zypper), PLD Linux's poldek, Fedora's DNF, and YUM,
which is used by Red Hat Enterprise Linux, and Yellow Dog Linux;
slackpkg;
slapt-get: Which is used by Slackware and works with a binary package format that is
essentially a xz-compressed tar archive with the file extension .txz;
Smart Package Manager: Used by CCux Linux;
Snappy: Cross-distribution package manager, non-free on the server-side, originally developed
for Ubuntu;
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;
swaret;
Zero Install (0install): Cross-platform packaging and distributions software. It is available for
Arch Linux, Debian, Knoppix, Mint, Ubuntu, Fedora, Gentoo, OpenSUSE, Red Hat and
Slackware;

Android
Google Play: Online app store developed by Google for Android devices that license the
proprietary Google Application set;
GetJar: An independent mobile phone app store founded in Lithuania in 2004;
Amazon Appstore: Alternative app store for Android devices;
SlideME: Alternative app store for Android devices;
F-Droid: An app store used in Replicant, which aims to replace the proprietary components of
Android with free software alternatives[3][4];
Uplay: A cross-platform video game distribution, licensing and social gameplay platform,
developed and maintained by Ubisoft. Used to shop for, download, install and update video
games. Works on Android, as well as PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U,
iOS, Windows NT and Windows Phone.

macOS (OS X)
Mac App Store: Official digital distribution platform for OS X apps. Part of OS X 10.7 and
available as an update for OS X 10.6;
Homebrew: Package manager for OS X, based on Git;
Fink: A port of dpkg, it is one of the earliest package managers for OS X;
MacPorts: Formerly known as DarwinPorts, based on FreeBSD Ports (as is OS X itself);
Joyent: Provides a repository of 10,000+ binary packages for OS X based on pkgsrc[5];
Zero Install (0install): Cross-platform packaging and distributions software. Uses GnuPG and
GTK+ on OS X;
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.

BSD
FreeBSD Ports;
OpenBSD ports: The infrastructure behind the binary packages on OpenBSD;
pkgsrc: A cross-platform package manager, with regular binary packages provided for NetBSD,
Linux and macOS by multiple vendors;
dpkg: Used as part of Debian GNU/kFreeBSD;
OpenPKG: Cross-platform package management system based on rpm;
PC-BSD: Up to and including version 8.2[6] 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.

Solaris, illumos
Image Packaging System (IPS, also known as "pkg(5)"): Used by Solaris, OpenSolaris and
illumos distributions like OpenIndiana and OmniOS;
pkgsrc: SmartOS, OS distribution of illumos from Joyent uses pkgsrc, that also can be
bootstrapped to use on OpenIndiana[7];
OpenCSW: Community supported collection of packages in SysV format for SunOS 5.8-5.11
(Solaris 8-11);
OpenPKG: Cross-platform package management system based on RPM Package Manager.
iOS
App Store: Official app store for iOS apps;
Cydia: Frontend to a port of APT. Maintained by the jailbreak community;
Uplay: A cross-platform video game distribution, licensing and social gameplay platform,
developed and maintained by Ubisoft. Used to shop for, download, install and update video
games. Works on iOS, as well as PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U,
Android, Windows NT and Windows Phone.

Windows
Windows Store: Official app store for Metro-style apps on Windows NT and Windows Phone.
As of Windows 10, it distributes video games, films and music as well;
Windows Package Manager: Free and open-source package manager designed for Microsoft
Windows 10;
Windows Phone Store: Former official app store for Windows Phone. Now superseded by
Windows Store;
Xbox Live: A cross-platform video game distribution platform by Microsoft. Works on Windows
NT, Windows Phone and Xbox. Initially called Games for Windows – Live on Windows 7 and
earlier. On Windows 10, the distribution function is taken over by Windows Store;
Cygwin: Free and open-source software repository for Windows NT. Provides many Linux tools
and an installation tool with package manager;
Homebrew: a port of the MacOS package manager meant for use with Windows Subsystem for
Linux, using the already existing Linux port as its base;
Ninite: Proprietary package manager for Windows NT;
NuGet: A Microsoft-official free and open-source package manager for Windows, available as a
plugin for Visual Studio, and extendable from the command-line;
Chocolatey: Open-source decentralized package manager for Windows in the spirit of Yum and
apt-get. Usability wrapper for NuGet;
pacman: MSYS2-ported Windows version of the Arch Linux package manager;
wpkg: Open-source package manager that handles Debian packages on Windows. Started as
a clone of dpkg, and has many apt-get like features too;
Zero Install (0install): Cross-platform packaging and distributions software. Uses .NET
Framework on Windows NT;
Scoop.sh: A command-line installer for Windows
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;
Uplay: A cross-platform video game distribution, licensing and social gameplay platform,
developed and maintained by Ubisoft. Used to shop for, download, install and update video
games. Works on Windows NT and Windows Phone, as well as PlayStation 3, PlayStation 4,
Xbox 360, Xbox One, Wii U, iOS and Android.

z/OS
SMP/E.

Source code-based
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.

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;
Homebrew, with close Git integration;
pkgsrc can be used to install software directly from source-code, or to use the binary packages
provided by several independent vendors.

Windows

vcpkg:[8] A Microsoft C++ package manager for Windows, Linux and MacOS.

Hybrid systems
GoFish is a cross-platform systems package manager, bringing the ease of use of Homebrew
to Linux and Windows;
Nix package manager: Package manager that manages software in a purely functional way,
featuring multi-user support, atomic upgrades and rollbacks. Allows multiple versions or
variants of a software to be installed at the same time. It has support for macOS and is cross-
distribution in its Linux support;
Portage and emerge are used by Gentoo Linux, Funtoo Linux, and Sabayon Linux. It is inspired
by the BSD ports system and uses text based "ebuilds" to automatically download, customize,
build, and update packages from source code. It has automatic dependency checking and
allows multiple versions of a software package to be installed into different "slots" on the same
system. Portage also employs "use flags" to allow the user to fully customize a software build to
suit the needs of their platform in an automated fashion. While source code distribution and
customization is the preferred methodology, some larger packages that would take many hours
to compile on a typical desktop computer are also offered as pre-compiled binaries in order to
ease installation;
Upkg: Package management and build system based on Mono and XML specifications. Used
by paldo and previously by ExTiX Linux;
MacPorts (for OS X);
NetBSD's pkgsrc works on several Unix-like operating systems, with regular binary packages
for macOS and Linux provided by multiple independent vendors;
Collective Knowledge Framework is a cross-platform package and workflow framework with
JSON API that can download binary packages or build them from sources for Linux, Windows,
MacOS and Android platforms.[9]

Meta package managers


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 (previously 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.
Autopackage uses .package files.
Zero Install installs each package into its own directory and uses environment variables to let
each program find its libraries. Package and dependency information is downloaded directly
from the software authors' pages in an XML format, similar to an RSS feed.
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.

Proprietary software systems


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.

Software Distributor is the HP-UX package manager.

Application-level package managers


Bitnami: a library of installers or software packages for web applications;
Cabal: a programming library and package manager for Haskell;
Cargo: Cargo is the package manager for Rust;
COBOLget: a package manager for COBOL;
CocoaPods: a dependency manager for Swift and Objective-C Cocoa projects;
Composer: a dependency Manager for PHP;
Conan: a package manager and library for C++;
Conda: a package manager for open data science platform of the Python and R;
CPAN: a programming library and package manager for Perl;
CRAN: a programming library and package manager for R;
CTAN: a package manager for TeX;
EasyInstall: a package manager for Python and the PyPI programming library which is part of
the Setuptools packaging system;
Enthought Canopy: a package manager for Python scientific and analytic computing
distribution and analysis environment;
Esy is for package management for both Reason and OCaml.
Go: a multipurpose tool used, among others, for Go package management;
Gradle: a build system and package manager for Groovy and other JVM languages, and also
C++;
Ivy: a package manager for Java, integrated into the Ant build tool, also used by sbt;
Leiningen: a project automation tool for Clojure;
LuaRocks: a programming library and package manager for Lua;
Maven: a package manager and build tool for Java;
npm: a programming library and package manager for Node.js and JavaScript;
NuGet: the package manager for the Microsoft development platform including .NET
Framework and Xamarin;
OPAM: a package manager and repository for OCaml;
PAR::Repository and Perl package manager: binary package managers for Perl;
PEAR: a programming library for PHP;
pip: a package manager for Python and the PyPI programming library;
Pkg.jl: a package manager for Julia;
Quicklisp: a package manager and repository for Common Lisp;
RubyGems: a package manager and repository for Ruby;
sbt: a build tool for Scala, uses Ivy for dependency management;
Teaport: a package manager for C++;
Yarn: a package manager for Node.js and JavaScript.

See also
Binary repository manager;
Package format;
Linux package formats.

References
1. "Pisi GNU/Linux - Özgürlük Şimdi Başladı" (https://pisilinux.org/page/69-about-us.html).
pisilinux.org. Retrieved 2020-10-27.
2. "Pardus Tarihçe" (https://www.pardus.org.tr/pardus-tarihce/) (in Turkish). Retrieved 2020-10-27.
3. "F-Droid, the Android app store for freedom beards" (http://openattitude.com/2011/08/24/f-droid-
the-android-app-store-for-freedom-beards/). 2011-08-24. Retrieved 2014-10-18.
4. Alexis Kauffmann (2011-10-10). "Le projet Replicant ou Android totalement libre présenté par
PaulK" (https://www.framablog.org/index.php/post/2011/10/10/replicant-android-google) (in
French). Retrieved 2014-10-18.
5. "Joyent Packages Documentation - Install On Mac OS X" (http://pkgsrc.joyent.com/install-on-os
x/). Joyent. 2016-06-04. Retrieved 2018-05-04.
6. pbiDIR (https://web.archive.org/web/20130327233344/http://www.pbidir.com/)
7. "Joyent Packages Documentation - Install On Illumos" (https://pkgsrc.joyent.com/install-on-illu
mos/). pkgsrc.joyent.com. Retrieved 2017-02-26.
8. "vcpkg: A C++ package manager for Windows, Linux and MacOS" (https://docs.microsoft.com/e
n-us/cpp/vcpkg?view=vs-2017).
9. "Portable and reproducible research workflows" (https://github.com/ctuning/ck/wiki/Portable-wo
rkflows). 2017-03-27. Retrieved 2017-03-27.

Retrieved from "https://en.wikipedia.org/w/index.php?


title=List_of_software_package_management_systems&oldid=985761455"

This page was last edited on 27 October 2020, at 20:18 (UTC).


Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.

You might also like