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
The following package management systems distribute apps in binary package form; i.e., all apps are compiled and ready to be installed used.
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.
- 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, Mandriva's urpmi, openSUSE's ZYpp, PLD Linux's poldek, and YUM, which is used by Fedora, Red Hat Enterprise Linux, and Yellow Dog Linux.
- 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
. - slackpkg
- netpkg
- swaret
- pacman: Used in Arch Linux, Frugalware and DeLi Linux. Its binary package format is a xz-compressed tar archive (file extension:
.pkg.tar.xz
) built using the makepkg utility (which comes bundled with pacman) and specialized type of shell script called a PKGBUILD. - Smart Package Manager: Used by CCux Linux
- 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.
- 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. - opkg: Fork of ipkg
- PETget: used by Puppy Linux
- PISI: Used by Pardus
- Conary: Used by Foresight Linux
- OpenPKG: Cross-platform package management system based on RPM Package Manager
- 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.
- 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.
- 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.
- 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.
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[1]
- Nix package manager: 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
- 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.
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.
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[2][3]
- 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.
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 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.
- Ninite: Proprietary package manager for Windows NT and Ubuntu.
- Chocolatey: Open-source decentralized package manager for Windows in the spirit of Yum and apt-get
- 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.
- 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.
BSD
- dpkg: Used as part of Debian GNU/kFreeBSD
- OpenPKG: Cross-platform package management system based on RPM Package Manager
- PC-BSD uses files with the .pbi (Push Button Installer) filename extension which, when double-clicked, brings 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 build approximately every 2 weeks from both a stable and rolling release branch of the FreeBSD ports tree.
Solaris
- Image Packaging System (IPS, also known as "pkg(5)"): Used by Solaris, OpenSolaris and illumos distributions like OpenIndiana and OmniOS.
- 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
Haiku
- HaikuDepot: The native app manage for Haiku
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. In both cases, the user must provide the computing power and time needed to compile the app. For example, a recipe file contains information on how to download, unpack, compile and install a package in GoboLinux using its Compile tool. Also, in both cases, the user is legally responsible for the consequences of compiling the package.
- 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.
- ABS is used by Arch Linux to automate binary packages building from source or even other binary archives, with automatic download and dependency checking.
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.
Hybrid systems
- Portage and emerge are used by Gentoo Linux, Funtoo Linux, and Sabayon Linux. It is inspired by the BSD ports system and use scripts called ebuilds to install software.
- 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.
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.
- Autopackage uses .package files.
- klik 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.
- 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
- Anaconda: a package manager for Python
- Assembly: a partially compiled code library for use in Common Language Infrastructure (CLI) deployment, versioning and security
- Bower: a package manager for the web developers
- Cabal: a programming library and package manager for Haskell
- CocoaPods: Dependency Manager for Objective-C and RubyMotion projects
- Composer: Dependency Manager for PHP
- 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
- Gradle: a build system and package manager for Groovy and other JVM languages
- Ivy: a package manager for Java, integrated into the Ant build tool, also used by sbt
- 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
- NuGet: a package manager for the .NET Framework and C++
- 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
- 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
- leiningen: a project automation tool for Clojure