This is a list of notable software package management systems, categorized first by package format (binary, source code, hybrid) and then by operating system family.[1]
Binary packages
editThe following package management systems distribute apps inbinarypackageform; i.e., all apps arecompiledand ready to be installed and use.
Unix-like
editLinux
edit- dpkg:Originally used byDebianand now byUbuntu.Uses the.deb formatand was the first to have a widely known dependency resolution tool,APT.Thencurses-based front-end for APT,aptitude,is also a popular package manager for Debian-based systems;
- Entropy:Used by and created forSabayon 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 byPortage: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 theNix package managerwithGuileSchemeAPIs 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:Adpkg-inspired, very lightweight system targeted at storage-constrained Linux systems such as embedded devices and handheld computers. Used onHP's webOS;
- netpkg:The package manager used byZenwalk.Compatible withSlackwarepackage management tools;
- Nix package manager:Nix is a package manager for Linux and other Unix-like 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 onRPM Package Manager;
- opkg:Fork ofipkglightweight package management intended for use on embedded Linux devices;
- Pacman:Used inArch Linux,FrugalwareandDeLi 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; - PETget:Used byPuppy Linux;
- PISI:Stands for "Packages Installed Successfully as Intended". Pisi package manager is used by Pisi Linux.[2]Pardusused to use Pisi, but migrated to APT in 2013;[3]
- pkgsrc:A cross-platform package manager, with binary packages provided for Enterprise Linux, macOS and SmartOS byJoyentand other vendors;
- Portage:A package management system ran by the
emerge
command, originally created for and used byGentoo Linux; - RPM Package Manager:Created byRed Hat.RPM is theLinux Standard Basepackaging format and the base of a number of additional tools, includingapt4rpm,Red Hat'sup2date,Mageia'surpmi,openSUSE'sZYpp(zypper),PLD Linux'spoldek,Fedora'sDNF,andYUM,which is used byRed Hat Enterprise Linux,andYellow Dog Linux;
- slackpkg;
- slapt-get:AnAPT-like package manager forSlackware;
- Smart Package Manager:Used byCCux Linux;
- Snap:Cross-distribution package manager, non-free on the server-side, originally developed forUbuntu;
- Swaret;
- xbps(X Binary Package System): Used byVoid Linux;
- apk-tools:Used byAlpine Linux.Originally a collection of shell scripts, but has been since rewritten in C;
Android
edit- Amazon Appstore:Alternative app store for Android devices;
- Aptoide:application for installing mobile applications which runs on the Android operating system. In Aptoide there is not a unique and centralized store; instead, each user manages their own store.
- F-Droid:Alternative app store for Android, whose official repository contains onlyfree software;
- Samsung Galaxy Store:Anapp storedeveloped by Samsung forAndroid,Tizen,Windows MobileandBadadevices.
- GetJar:An independent mobile phone app store founded in Lithuania in 2004;
- Google Play:Onlineapp storedeveloped by Google forAndroiddevices that license the proprietary Google Application set;
- Huawei AppGallery:Anapp storedeveloped by Huawei forAndroiddevices andHarmonyOSdevices.
- SlideME:Alternative app store forAndroid
macOS (OS X)
edit- Mac App Store:Official digital distribution platform forOS Xapps. Part ofOS X 10.7and available as an update forOS X 10.6;
- Fink:A port ofdpkg,it is one of the earliest package managers formacOS;
- Homebrew:Command-Line Interface-based package manager, known for its ease-of-use and extensibility.
- MacPorts:Formerly known as DarwinPorts, based onFreeBSD Ports(as is macOS itself);
- Joyent:Provides a repository of 10,000+ binary packages formacOSbased onpkgsrc;[4]
BSD
edit- FreeBSD pkg– FreeBSD binary packages are built on top of source basedFreeBSD Portsand managed with pkg tool;
- OpenBSD ports:The infrastructure behind the binary packages onOpenBSD;
- pkgsrc:A cross-platform package manager, with regular binary packages provided forNetBSD,LinuxandmacOSby multiple vendors;
- dpkg:Used as part ofDebian GNU/kFreeBSD;
- OpenPKG:Cross-platform package management system based onrpm;
- PC-BSD:Up to and including version 8.2[5]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 theFreeBSD portscollection and generates new PBIs daily. PC-BSD also uses theFreeBSDpkg binary package system; new packages are built approximately every two weeks from both a stable and rolling release branch of theFreeBSDports tree.
Solaris, illumos
edit- Image Packaging System(IPS, also known as "pkg(5)" ): Used bySolaris,OpenSolarisandIllumosdistributionslikeOpenIndianaandOmniOS;
- pkgsrc:SmartOS,OS distribution ofIllumosfromJoyentuses pkgsrc, that also can be bootstrapped to use onOpenIndiana;[6]
- OpenCSW:Community supported collection of packages inSysVformat forSunOS5.8-5.11 (Solaris 8-11);
- OpenPKG:Cross-platform package management system based onRPM Package Manager.
iOS
edit- App Store:Officialapp storeforiOSapps;
- Cydia:Frontend to a port ofAPT.Maintained by thejailbreakcommunity.
Windows
edit- Microsoft Store:Officialapp storeforUniversal Windows Platform appsonWindows NTandWindows 10 Mobile.As ofWindows 11,it distributes video games and films as well;
- Windows Package Manager(aka winget):Free and open-sourcepackage managerdesigned forMicrosoftWindows;
- Chocolatey:Open-source decentralized package manager forWindowsin the spirit ofYumandapt-get.Usability wrapper forNuGet;
- Cygwin:Free and open-sourcesoftware repository forWindows NT.Provides manyLinuxtools and an installation tool with package manager;
- Homebrew:a port of the MacOS package manager meant for use withWindows Subsystem for Linux,using the already existing Linux port as its base;
- Ninite:Proprietary package manager forWindows NT;
- NuGet:AMicrosoft-officialfree and open-sourcepackage manager forWindows,available as a plugin forVisual Studio,and extendable from the command-line;
- Pacman:MSYS2-portedWindowsversion of theArch Linuxpackage manager;
- Scoop Package Manager:free and open-sourcepackage manager forWindows
- wpkg:Open-source package manager that handlesDebianpackages onWindows.Started as a clone ofdpkg,and has manyapt-getlike features too;
Superseded:
- Windows Phone Store:Former official app store forWindows Phone.Now superseded byMicrosoft Store;
z/OS
editSource code-based
editThe following package management systems distribute thesource codeof 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, inGoboLinuxa recipe file contains information on how to download, unpack, compile and install a package using itsCompiletool. 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
edit- FreeBSD Portsis an original implementation of source based software management system commonly referred to asPorts collection.It gave way and inspired many others systems;
- OpenBSD portsis a Perl based reimplementation of ports collection;
Linux
edit- ABSis used byArch Linuxto automate binary packages building from source or even other binary archives, with automatic download and dependency checking;
- apt-buildis used by distributions which usedeb packages,allowing automatic compiling and installation of software in a deb source repository;
- SorceryisSourcemage GNU/Linux'sbashbased package management program that automatically downloads software from their original site and compiles and installs it on the local machine;
macOS (OS X)
edit- Fink,forOS X,derives partially from dpkg/apt and partially from ports;
- MacPorts,formerly called DarwinPorts, originated from theOpenDarwinproject;
- Homebrew,with closeGitintegration;
- pkgsrccan be used to install software directly from source-code, or to use the binary packages provided by several independent vendors.
Windows
editHybrid systems
edit- Nix package manager:Package manager that manages software in apurely functionalway, 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 formacOSand is cross-distribution in itsLinuxsupport;
- Portageandemergeare used byGentoo Linux,Funtoo Linux,andSabayon Linux.It is inspired by theBSD ports systemand 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 onMonoand XML specifications. Used bypaldoand previously by ExTiX Linux;
- MacPorts(forOS X);
- NetBSD'spkgsrcworks on severalUnix-likeoperating systems, with regular binary packages formacOSand Linux provided by multiple independent vendors;
- Collective Knowledge Frameworkis a cross-platform package and workflow framework withJSONAPI that can download binary packages or build them from sources forLinux,Windows,MacOSandAndroidplatforms.[8]
Meta package managers
editThe following unify package management for several or allLinuxand sometimesUnixvariants. 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.
- Autopackageuses
.package
files. - PackageKitis 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
editPackage management systems geared toward developing and distributing video games.
- Steam:A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained byValve.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 byUbisoft.Used to shop for, download, install and update video games. Works onWindows NTandWindows Phone,as well asPlayStation 3,PlayStation 4,Xbox 360,Xbox One,Wii U,iOSandAndroid.
- Xbox Live:A cross-platform video game distribution platform byMicrosoft.Works onWindows NT,Windows PhoneandXbox.Initially calledGames for Windows – LiveonWindows 7and earlier. OnWindows 10,the distribution function is taken over byWindows Store
Proprietary software systems
editA wide variety of package management systems are in common use today byproprietary softwareoperating systems, handling the installation of both proprietary and free packages.
- Software Distributoris theHP-UXpackage manager.
Application-level package managers
edit- Bitnami:a library of installers or software packages for web applications
- Cargo:isRust'sbuild system and package manager. It downloads, compiles, distributes, and uploads packages—called crates
- CocoaPods:a dependency manager forSwiftandObjective-CCocoaprojects
- Composer:a dependency Manager forPHP
- Conda:a package manager for open data science platform of thePythonandR
- CPAN:a programming library and package manager forPerl
- CRAN:a programming library and package manager forR
- CTAN:a package manager forTeX
- Docker:Docker, a system for managingcontainers,serves as a package manager for deploying containerized applications
- EnthoughtCanopy: a package manager forPythonscientific and analytic computing distribution and analysis environment
- Gradle:a build system and package manager forGroovyand other JVM languages, and alsoC++
- Ivy:a package manager forJava,integrated into theAntbuild tool, also used bysbt
- Leiningen:a project automation tool forClojure
- LuaRocks:a programming library and package manager forLua
- Maven:a package manager and build tool forJava
- npm:a programming library and package manager forNode.jsandJavaScript
- NuGet:the package manager for theMicrosoftdevelopment platform including.NET FrameworkandXamarin
- PAR::RepositoryandPerl package manager:binary package managers forPerl
- PEAR:a programming library forPHP
- pip:a package manager forPythonand thePyPIprogramming library
- RubyGems:a package manager and repository forRuby
- sbt:a build tool forScala,usesIvyfor dependency management
- yarn:an alternative to npm forNode.jsandJavaScript
Meta server application-level package manager
editSee also
edit- Binary repository manager
- Package format
- Linux package formats
- App stores— The commercial version of a package manager, focusing on payment and closed source software.
References
edit- ^Kolks, J.; Wright, T.; Raudenbush, B. (June 2009)."Effects of video game console and snack type on snack consumption during play".Appetite.52(3): 841.doi:10.1016/j.appet.2009.04.113.ISSN0195-6663.S2CID54404770.
- ^"Pisi GNU/Linux - Özgürlük Şimdi Başladı".pisilinux.org.Retrieved2020-10-27.
- ^"Pardus Tarihçe"(in Turkish).Retrieved2020-10-27.
- ^"Joyent Packages Documentation - Install On Mac OS X".Joyent.2016-06-04. Archived fromthe originalon 2018-10-06.Retrieved2018-05-04.
- ^pbiDIR
- ^"Joyent Packages Documentation - Install On Illumos".pkgsrc.joyent.Retrieved2017-02-26.
- ^"vcpkg: A C++ package manager for Windows, Linux and MacOS".
- ^"Portable and reproducible research workflows".GitHub.2017-03-27.Retrieved2017-03-27.