List of software package management systems
This is a list of software package management systems.
Binary installation / precompiled packages
Linux distributions
- dpkg, used originally by Debian and now by other systems like 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 and used by a number of other Linux distributions. 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.
- tgz package system that combines the standard tar and gzip. Used by Slackware Linux and its closer derivates, there are a few higher-level tools that use the same tgz packaging format, including: slapt-get, slackpkg, zendo, netpkg, and swaret.
- Pacman for Arch Linux, Frugalware and DeLi Linux uses pre-compiled binaries distributed in a compressed Tar archive.
- 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. It is used on, among others, HP's webOS.
- opkg, fork of ipkg
- pkgutils, used by CRUX Linux
- PETget, used by Puppy Linux
- Upkg, a package management and build system based on Mono and XML specifications, used by paldo GNU/Linux and previously by ExTiX Linux
- PISI, used by Pardus
- appbrowser, a special purpose tool in Tiny Core Linux for browsing and selecting applications from online repositories.
- Conary, used by Foresight Linux
- Equo, used by Sabayon Linux
- Tazpkg - for Slitaz, uses LZMA compressed archives
- linuxbrew - A fork of Homebrew for Linux. It does not require sudo.[1]
- eopkg, used by Evolve OS Linux
Mac OS X
- Mac App Store, official digital distribution platform for Mac OS X applications, part of Mac OS X 10.7 and available as an update for Mac OS X 10.6
- rudix, native, binary package-based way to extend the Unix portion of Mac OS X
- 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[2]
- 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.
iOS
- App Store, official digital distribution platform for iOS applications
- Cydia, a frontend to a port of apt to iOS, maintained by the jailbreak community.
- Installous (defunct), a service for downloading "cracked" apps outside of the App Store. Following its takedown, many Installous alternatives sprung up, such as vShare and AppCake (the latter competing with Installous while it was still active).[3]
Android
- Google Play, online software store developed by Google for Android OS devices that license the proprietary Google Application set.
- GetJar, an independent mobile phone application store founded in Lithuania in 2004.
- Amazon Appstore, alternative application store for Android devices.
- SlideME, alternative application store for Android devices.
- F-Droid, a free software client application and software repository used in Replicant.[4][5]
Microsoft Windows
- Windows installer (MSI), the native method to install and remove applications
- Cygwin — a free and open source software repository for the Windows operating system which provides many GNU/Linux tools and an installation tool with package manager.
- Npackd (previously Windows Package Manager)[6] - a package manager for Windows written in C++ and released under the Apache License 2.0
- Ninite - a proprietary package manager with check box selection for Windows with a beta version for Ubuntu.
- Chocolatey - an open source decentralized package manager for Windows applications in the spirit of Yum and apt-get
- WAPT - apt-get for Windows - an open-source package manager inspired by apt-get and Google APK, featuring a graphical, centralized management console, primarily designed for system administrators of large networks
- NSIS - Nullsoft Scriptable Install System
- OneGet - unified interface to package management systems via PowerShell
- wpkg - an open source package manager that handles Debian packages under Windows, it started as a clone of dpkg, also now it has many apt-get like features too
- RuckZuck [7] - Software package manager for Windows with graphical user interface, OneGet Provider (PowerShell) or System Center Configuration Manager 2012 R2 integration.
PC-BSD
- 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
- AT&T's SysV format (sometimes called pkgadd format), used by Solaris.
- Image Packaging System, also known as IPS or pkg(5), used by OpenSolaris and Solaris.
- OpenCSW — a community supported collection of SysV format packages for SunOS 5.8-5.11 (Solaris 8-11) (note: 5.8/8 is no longer actively maintained, but still archived)
Amiga
- AmiUpdate
- MorphUp (MorphOS only)
- Grunch
Haiku
- HaikuDepot
- TiltOS
Cross-platform
- dpkg (mentioned above) is also used as part of Debian GNU/kFreeBSD, and on jailbroken iOS as part of Cydia and Icy.
- Image Packaging System, also known as IPS or pkg(5), is a cross-platform network repository based system. In addition to being used as the OS-level package management system in OpenSolaris and Solaris, the pkg(5) system is available for use by layered applications on Microsoft Windows, Linux, Mac OS X, OpenSolaris, Solaris and IBM AIX.
- OpenPKG is a cross-platform package management system based on the RPM Package Manager. It works on several Unix-based systems, including Linux, BSD and Solaris.
- 0install available for Unix-like and Microsoft Windows operating systems.
- TWW Tools - A cross-platform packaging tool that sit on top of native P.M.S.
- IBM SmartCloud Enterprise software bundle management system — this is a cross-platform package management system for installation of software into virtual machines hosted on the cloud during provisioning[8]
- Nix package manager, is a cross-platform package manager that manages software in a purely functional way, featuring multi-user support, atomic upgrades and rollbacks; the peculiarity of this package manager is that it allows multiple versions or variants of a software to be installed at the same time.
- wpkg (mentioned above) also works under Cygwin and Mingw32 (Windows), and many Unix systems: Linux, Darwin, OpenSolaris, and FreeBSD.
- Steam - a commercial application distribution system used primarily for games (Windows, Linux and OS X)
Sourcecode-based installation / installing using compile scripts
- A recipe file contains information on how to download, unpack, compile and install a package in GoboLinux distribution using its Compile tool.
- 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.
- HaikuPorts is used by the Haiku Operating System as a basic form of package management. It uses recipe files which are also used to automate the building of binary packages from source for the main pack management system HaikuDepot.
Mac OS X
- fink, for Mac 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
Linux
- 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.
- paludis with its cave front end was created by some former Gentoo developers disgruntled with Portage. It is the primary package manager of the Exherbo Linux distribution.
FreeBSD
- The FreeBSD Ports Collection, sometimes known simply as ports, uses a system of Makefiles to install software from sources or binaries.
OpenBSD
Mac OS X
- MacPorts (for Mac OS X)
Cross Platform
- 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.
- epm, developed by Easy Software Products (creators of CUPS), is a "meta packager", that allows creation of native packages for all Linux and Unix operating systems (.deb, .rpm, .tgz for Linux, pkg for Solaris and *BSD, .dmg for OS X, ...) controlled from a single *.list file.
- 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.
- installp is the AIX command to install packages supplied in bff (backup file format) files. It records installed package information in Object Data Manager (ODM) databases.[9]
- Software Distributor is the HP-UX package manager.
- Windows Installer is an engine for the installation, maintenance, and removal of software on modern Microsoft Windows systems.
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.
- Biicode - a file-focused dependency manager for C/C++ languages and platforms (PC, Raspberry Pi, Arduino).
- Bower - a package manager for the web.
- UPT - a fork of Bower that aims to be a universal package manager, for multiple evironments and unlimited kind of package
- Cabal - a programming library and package manager for Haskell
- Cargo - a package manager for Rust (programming language)
- 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
- DUB - a package manager for D
- EasyBuild - a software build and installation framework that manages (scientific) software on High Performance Computing (HPC) systems
- EasyInstall - a package manager for Python and the PyPI programming library which is part of the Setuptools packaging system
- package.el - a package manager for Emacs
- Pacm - an embeddable and redistributable package manager for C++, based on LibSourcey.
- Fppkg - a package manager for Free Pascal
- Go Get - a package manager for Go
- 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
- LuaRocks - a programming library and package manager for Lua
- Maven - a package manager and build tool for Java
- mingw-get - package manager for MinGW (32-bit), also see configuration guide
- npm - a programming library and package manager for Node.js
- NuGet - a package manager for the .NET Framework
- OPAM - a package manager for distributing OCaml packages
- 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
- Rebar - a package manager and build tool for Erlang
- RubyGems - a package manager and repository for Ruby
- Bundler - application-level gem dependency manager for Ruby, uses RubyGems as its backend
- sbt - a package manager and build tool for Scala
- leiningen - a project automation tool for Clojure
- VI Package Manager - a package manager for the LabVIEW platform and development environment that gives access to the OpenG programming library
Academic
See also
- Package management system
- Linux package formats
References
- ↑ "Linuxbrew - A fork of Homebrew for Linux". 2014-10-13. Retrieved 2014-10-18.
- ↑ "Joyent Packages Documentation: Installing on OS X". Joyent. 2014-07-10. Retrieved 2014-10-18.
- ↑ Dennis (2013-05-13). "Top 11 Best Installous Alternatives". Archived from the original on 2013-09-07. Retrieved 2014-10-18.
- ↑ "F-Droid, the Android app store for freedom beards.". 2011-08-24. Retrieved 2014-10-18.
- ↑ Alexis Kauffmann (2011-10-10). "Le projet Replicant ou Android totalement libre présenté par PaulK" (in French). Retrieved 2014-10-18.
- ↑ "Npackd - windows-package-manager". Retrieved 2014-10-18.
- ↑ "RuckZuck.tools". Retrieved 2015-02-18.
- ↑ Amies A, Karve A, Kochut A, Shaikh H, Tong Q T, Rendahl R, Peddle S (2012-03-09). "Create solutions on IBM SmartCloud Enterprise: Best practices and tools". IBM developerWorks. Archived from the original on 2013-11-01. Retrieved 2014-10-18.
- ↑ "AIX 7.1: Programming for AIX: General programming concepts: Packaging software for installation". IBM. Retrieved 2014-10-18.
|