Jump to content

List of software package management systems: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Undid revision 1134884449 by 142.165.171.23 (talk)
 
(32 intermediate revisions by 23 users not shown)
Line 1: Line 1:
{{Short description|None}}
{{Short description|None}}
This is a list of notable software [[package management system]]s, categorized first by package format (binary, source code, hybrid) and then by [[operating system]] family.
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.<ref>{{Cite journal |last1=Kolks |first1=J. |last2=Wright |first2=T. |last3=Raudenbush |first3=B. |date=June 2009 |title=Effects of video game console and snack type on snack consumption during play |url=http://dx.doi.org/10.1016/j.appet.2009.04.113 |journal=Appetite |volume=52 |issue=3 |pages=841 |doi=10.1016/j.appet.2009.04.113 |s2cid=54404770 |issn=0195-6663}}</ref>


==Binary packages==
==Binary packages==
Line 10: Line 10:
* [[Sabayon Linux#Package management|Entropy]]: Used by and created for [[Sabayon Linux]]. It works with binary packages that are bzip2-compressed tar archives (file extension: <code>.tbz2</code>), that are created using Entropy itself, from tbz2 binaries produced by [[Portage (software)|Portage]]: From ebuilds, a type of specialized shell script;
* [[Sabayon Linux#Package management|Entropy]]: Used by and created for [[Sabayon Linux]]. It works with binary packages that are bzip2-compressed tar archives (file extension: <code>.tbz2</code>), that are created using Entropy itself, from tbz2 binaries produced by [[Portage (software)|Portage]]: From ebuilds, a type of specialized shell script;
* [[Flatpak]]: A containerized/sandboxed packaging format previously known as xdg-app;
* [[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;
* [[GNU Guix]]: Used by the GNU System. It is based on the [[Nix (package manager)|Nix package manager]] with [[GNU Guile|Guile]] [[Scheme (programming language)|Scheme]] APIs and specializes in providing exclusively free software;
* [[Homebrew (package management software)|Homebrew]]: a port of the MacOS package manager of the same name (see below), formerly referred to as 'Linuxbrew';
* [[Homebrew (package manager)|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 [[webOS|HP's webOS]];
* [[ipkg]]: A [[dpkg]]-inspired, very lightweight system targeted at storage-constrained Linux systems such as embedded devices and handheld computers. Used on [[webOS|HP's webOS]];
* [[netpkg]]: The package manager used by [[Zenwalk]]. Compatible with [[Slackware]] package management tools;
* [[netpkg]]: The package manager used by [[Zenwalk]]. Compatible with [[Slackware]] package management tools;
*[[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;
*[[Nix (package manager)|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 on [[RPM Package Manager]];
* [[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;
* [[opkg]]: Fork of [[ipkg]] lightweight package management intended for use on embedded Linux devices;
* [[Pacman (Arch Linux)|Pacman]]: Used in [[Arch Linux]], [[Frugalware]] and [[DeLi Linux]]. Its binary package format is a zstd-compressed tar archive (file extension: <code>.pkg.tar.zst</code>) built using the makepkg utility (which comes bundled with pacman) and a specialized type of shell script called a PKGBUILD;
* [[Pacman (package manager)|Pacman]]: Used in [[Arch Linux]], [[Frugalware]] and [[DeLi Linux]]. Its binary package format is a compressed tar archive (default file extension: <code>.pkg.tar.zst</code>) 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]];
* [[PETget]]: Used by [[Puppy Linux]];
* [[PISI]]: Pisi stands for "Packages Installed Successfully as Intended". Pisi package manager is used by Pisi Linux.<ref>{{Cite web|title=Pisi GNU/Linux - Özgürlük Şimdi Başladı|url=https://pisilinux.org/page/69-about-us.html|access-date=2020-10-27|website=pisilinux.org}}</ref> [[Pardus (operating system)|Pardus]] used to use Pisi, but migrated to APT in 2013;<ref>{{Cite web|title=Pardus Tarihçe|url=https://www.pardus.org.tr/pardus-tarihce/|access-date=2020-10-27|language=tr}}</ref>
* [[PISI]]: Stands for "Packages Installed Successfully as Intended". Pisi package manager is used by Pisi Linux.<ref>{{Cite web|title=Pisi GNU/Linux - Özgürlük Şimdi Başladı|url=https://pisilinux.org/page/69-about-us.html|access-date=2020-10-27|website=pisilinux.org}}</ref> [[Pardus (operating system)|Pardus]] used to use Pisi, but migrated to APT in 2013;<ref>{{Cite web|title=Pardus Tarihçe|url=https://www.pardus.org.tr/pardus-tarihce/|access-date=2020-10-27|language=tr}}</ref>
* [[pkgsrc]]: A cross-platform package manager, with binary packages provided for Enterprise Linux, macOS and SmartOS by [[Joyent]] and other vendors;
* [[pkgsrc]]: A cross-platform package manager, with binary packages provided for Enterprise Linux, macOS and SmartOS by [[Joyent]] and other vendors;
* [[Portage_(software)|Portage]]: A package management system ran by the <code>emerge</code> command, originally created for and used by [[Gentoo Linux]];
* [[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 Distribution|PLD Linux]]'s [[poldek (software)|poldek]], [[Fedora (operating system)|Fedora]]'s [[DNF (software)|DNF]], and [[Yellow dog Updater Modified|YUM]], which is used by [[Red Hat Enterprise Linux]], and [[Yellow Dog Linux]];
* [[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 Distribution|PLD Linux]]'s [[poldek (software)|poldek]], [[Fedora (operating system)|Fedora]]'s [[DNF (software)|DNF]], and [[Yellow dog Updater Modified|YUM]], which is used by [[Red Hat Enterprise Linux]], and [[Yellow Dog Linux]];
* [[slackpkg]];
* [[slackpkg]];
* [[slapt-get]]: An [[APT (software)|APT]]-like package manager for [[Slackware]];
* [[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 <code>.txz;</code>
* [[Smart Package Manager]]: Used by [[CCux Linux]];
* [[Smart Package Manager]]: Used by [[CCux Linux]];
* [[Snap (software)|Snap]]: Cross-distribution package manager, non-free on the server-side, originally developed for [[Ubuntu (operating system)|Ubuntu]];
* [[Snap (software)|Snap]]: Cross-distribution package manager, non-free on the server-side, originally developed for [[Ubuntu]];
* [[Swaret]];
* [[Swaret]];
*[[Zero Install]] (0install): Cross-platform packaging and distributions software. It is available for [[Arch Linux]], [[Debian]], [[Knoppix]], [[Linux Mint|Mint]], [[Ubuntu (operating system)|Ubuntu]], [[Fedora (operating system)|Fedora]], [[Gentoo Linux|Gentoo]], [[OpenSUSE]], [[Red Hat Linux|Red Hat]] and [[Slackware]];
* [[XBPS|xbps]] (X Binary Package System): Used by [[Void Linux]];
* [[XBPS|xbps]] (X Binary Package System): Used by [[Void Linux]];
* [[Apk-tools|apk-tools]]: Used by [[Alpine Linux]]. Originally a collection of shell scripts, but has been since rewritten in C;
* [[apk-tools]]: Used by [[Alpine Linux]]. Originally a collection of shell scripts, but has been since rewritten in C;


====Android====
====Android====
Line 35: Line 35:
* [[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.
* [[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.
* [[Cafe Bazaar]]: Alternative app store for Android.
* [[Cafe Bazaar]]: Alternative app store for Android.
* [[F-Droid]]: An app store used in [[Replicant (operating system)|Replicant]], which aims to replace the [[Proprietary software|proprietary]] components of Android with [[free software]] alternatives;
* [[F-Droid]]: Alternative app store for Android, whose official repository contains only [[free software]];
* [[Samsung Galaxy Store]]: An [[app store]] developed by Samsung for [[Android (operating system)|Android]], [[Tizen]], [[Windows Mobile]] and [[Bada]] devices.
* [[Samsung Galaxy Store]]: An [[app store]] developed by Samsung for [[Android (operating system)|Android]], [[Tizen]], [[Windows Mobile]] and [[Bada]] devices.
* [[GetJar]]: An independent mobile phone app store founded in Lithuania in 2004;
* [[GetJar]]: An independent mobile phone app store founded in Lithuania in 2004;
Line 52: Line 52:
| date=2016-06-04
| date=2016-06-04
| publisher=[[Joyent]]
| publisher=[[Joyent]]
| access-date=2018-05-04}}</ref>
| access-date=2018-05-04
| archive-date=2018-10-06
* [[Zero Install]] (0install): Cross-platform packaging and distributions software. Uses [[GnuPG]] and [[GTK+]] on [[macOS]];
| archive-url=https://web.archive.org/web/20181006125302/http://pkgsrc.joyent.com/install-on-osx/
| url-status=dead
}}</ref>


====BSD====
====BSD====
* [[FreeBSD Ports#Packages|FreeBSD pkg]] – FreeBSD binary packages are built on top of source based [[FreeBSD Ports]] and managed with pkg tool;
* [[FreeBSD Ports]];
* [[OpenBSD ports]]: The infrastructure behind the binary packages on [[OpenBSD]];
* [[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;
* [[pkgsrc]]: A cross-platform package manager, with regular binary packages provided for [[NetBSD]], [[Linux]] and [[macOS]] by multiple vendors;
Line 64: Line 67:


====Solaris, illumos====
====Solaris, illumos====
* [[Image Packaging System]] (IPS, also known as "pkg(5)"): Used by [[Solaris (operating system)|Solaris]], [[OpenSolaris]] and [[Illumos]] [[Illumos#Current Illumos distributions|distributions]] like [[OpenIndiana]] and [[Illumos#Current Illumos distributions|OmniOS]];
* [[Image Packaging System]] (IPS, also known as "pkg(5)"): Used by [[Solaris (operating system)|Solaris]], [[OpenSolaris]] and [[Illumos]] [[Illumos#Distributions|distributions]] like [[OpenIndiana]] and [[Illumos#Distributions|OmniOS]];
* [[pkgsrc]]: [[SmartOS]], OS distribution of [[Illumos]] from [[Joyent]] uses pkgsrc, that also can be bootstrapped to use on [[OpenIndiana]];<ref>{{Cite web|url=https://pkgsrc.joyent.com/install-on-illumos/|title=Joyent Packages Documentation - Install On Illumos|website=pkgsrc.joyent.com|language=en|access-date=2017-02-26}}</ref>
* [[pkgsrc]]: [[SmartOS]], OS distribution of [[Illumos]] from [[Joyent]] uses pkgsrc, that also can be bootstrapped to use on [[OpenIndiana]];<ref>{{Cite web|url=https://pkgsrc.joyent.com/install-on-illumos/|title=Joyent Packages Documentation - Install On Illumos|website=pkgsrc.joyent.com|language=en|access-date=2017-02-26}}</ref>
* [[OpenCSW]]: Community supported collection of packages in [[SysV (package format)|SysV]] format for [[SunOS]] 5.8-5.11 (Solaris 8-11);
* [[OpenCSW]]: Community supported collection of packages in [[SysV (package format)|SysV]] format for [[SunOS]] 5.8-5.11 (Solaris 8-11);
Line 71: Line 74:
====iOS====
====iOS====
* [[App Store (iOS)|App Store]]: Official [[app store]] for [[iOS]] apps;
* [[App Store (iOS)|App Store]]: Official [[app store]] for [[iOS]] apps;
* [[Cydia]]: Frontend to a port of [[Advanced Packaging Tool|APT]]. Maintained by the [[Jailbreaking (iOS)|jailbreak]] community;.
* [[Cydia]]: Frontend to a port of [[Advanced Packaging Tool|APT]]. Maintained by the [[Jailbreaking (iOS)|jailbreak]] community.


===Windows{{anchor|Microsoft_Windows}}===
===Windows{{anchor|Microsoft_Windows}}===
* [[Microsoft Store]]: Official [[app store]] for [[Universal Windows Platform app]]s on [[Windows NT]] and [[Windows 10 Mobile]]. As of [[Windows 11]], it distributes video games and films as well;
* [[Microsoft Store]]: Official [[app store]] for [[Universal Windows Platform app]]s on [[Windows NT]] and [[Windows 10 Mobile]]. As of [[Windows 11]], it distributes video games and films as well;
* [[Windows Package Manager]]: [[Free and open-source]] [[package manager]] designed for [[Microsoft]] [[Windows]];
* [[Windows Package Manager]] (aka winget): [[Free and open-source]] [[package manager]] designed for [[Microsoft]] [[Windows]];
* [[Chocolatey]]: Open-source decentralized package manager for [[Microsoft Windows|Windows]] in the spirit of [[Yellow dog Updater Modified|Yum]] and [[Advanced Packaging Tool|apt-get]]. Usability wrapper for [[NuGet]];
* [[Windows Phone Store]]: Former official app store for [[Windows Phone]]. Now superseded by [[Microsoft Store]];
* [[Cygwin]]: [[Free and open-source]] software repository for [[Windows NT]]. Provides many [[Linux]] tools and an installation tool with package manager;
* [[Cygwin]]: [[Free and open-source]] software repository for [[Windows NT]]. Provides many [[Linux]] tools and an installation tool with package manager;
* [[Homebrew (package management software)|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;
* [[Homebrew (package management software)|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]];
* [[Ninite]]: Proprietary package manager for [[Windows NT]];
* [[NuGet]]: A [[Microsoft]]-official [[free and open-source]] package manager for [[Microsoft Windows|Windows]], available as a plugin for [[Microsoft Visual Studio|Visual Studio]], and extendable from the command-line;
* [[NuGet]]: A [[Microsoft]]-official [[free and open-source]] package manager for [[Microsoft Windows|Windows]], available as a plugin for [[Microsoft Visual Studio|Visual Studio]], and extendable from the command-line;
* [[Chocolatey]]: Open-source decentralized package manager for [[Microsoft Windows|Windows]] in the spirit of [[Yellow dog Updater Modified|Yum]] and [[Advanced Packaging Tool|apt-get]]. Usability wrapper for [[NuGet]];
* [[Pacman (Arch Linux)|Pacman]]: MSYS2-ported [[Microsoft Windows|Windows]] version of the [[Arch Linux]] package manager;
* [[Pacman (Arch Linux)|Pacman]]: MSYS2-ported [[Microsoft Windows|Windows]] version of the [[Arch Linux]] package manager;
* [[Scoop Package Manager]]: [[free and open-source]] package manager for [[Microsoft Windows|Windows]]
* [[Dpkg#wpkg packager for Windows|wpkg]]: Open-source package manager that handles [[Debian]] packages on [[Microsoft Windows|Windows]]. Started as a clone of [[dpkg]], and has many [[Advanced Packaging Tool|apt-get]] like features too;
* [[Dpkg#wpkg packager for Windows|wpkg]]: Open-source package manager that handles [[Debian]] packages on [[Microsoft Windows|Windows]]. Started as a clone of [[dpkg]], and has many [[Advanced Packaging Tool|apt-get]] like features too;
Superseded:
* [[Zero Install]] (0install): Cross-platform packaging and distributions software. Uses [[.NET Framework]] on [[Windows NT]];
* [[Windows Phone Store]]: Former official app store for [[Windows Phone]]. Now superseded by [[Microsoft Store]];


===z/OS===
===z/OS===
Line 92: Line 96:
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 [[GoboLinux#.22Compile.22 program|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.
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 [[GoboLinux#.22Compile.22 program|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===
*[[Arch Build System|ABS]] is used by [[Arch Linux]] to automate binary packages building from source or even other binary archives, with automatic download and dependency checking;
*[[Arch Build System|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 (file format)|deb packages]], allowing automatic compiling and installation of software in a deb source repository;
*[[apt-build]] is used by distributions which use [[deb (file format)|deb packages]], allowing automatic compiling and installation of software in a deb source repository;
* [[Sourcemage#Sorcery|Sorcery]] is [[Sourcemage|Sourcemage GNU/Linux]]'s [[Bash (Unix shell)|bash]] based package management program that automatically downloads software from their original site and compiles and installs it on the local machine;
* [[Sourcemage#Sorcery|Sorcery]] is [[Sourcemage|Sourcemage GNU/Linux]]'s [[Bash (Unix shell)|bash]] based package management program that automatically downloads software from their original site and compiles and installs it on the local machine;
* [[Conan Package Manager|Conan]] is open source, decentralized and multi-platform package manager to create and share native binaries for C/C++ projects.


===macOS (OS X){{anchor|macOS 2}}{{anchor|OS X 2}}===
===macOS (OS X){{anchor|macOS 2}}{{anchor|OS X 2}}===
Line 123: Line 131:
* [[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.
* [[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 <code>.package</code> files.
* [[Autopackage]] uses <code>.package</code> files.
* [[Zero Install]] installs each package into its own directory and uses [[environment variable]]s 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.
* [[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.


Line 140: Line 147:
==Application-level package managers==
==Application-level package managers==
* [[Bitnami]]: a library of installers or software packages for web applications;
* [[Bitnami]]: a library of installers or software packages for web applications;
* [[Rust_(programming_language)#Cargo|Cargo]]: is [[Rust_(programming_language)|Rust's]] build system and package manager. It downloads, compiles, distributes, and uploads packages—called crates;
* [[CocoaPods]]: a dependency manager for [[Swift (programming language)|Swift]] and [[Objective-C]] [[Cocoa (API)|Cocoa]] projects;
* [[CocoaPods]]: a dependency manager for [[Swift (programming language)|Swift]] and [[Objective-C]] [[Cocoa (API)|Cocoa]] projects;
* [[Composer (software)|Composer]]: a dependency Manager for [[PHP]];
* [[Composer (software)|Composer]]: a dependency Manager for [[PHP]];
* [[Condadsddsd (package manager)|Conda]]: a package manager for open data science platform of the [[Python (programming language)|Python]] and [[R (programming language)|R]];
* [[Conda (package manager)|Conda]]: a package manager for open data science platform of the [[Python (programming language)|Python]] and [[R (programming language)|R]];
* [[CPAN]]: a programming library and package manager for [[Perl]];
* [[CPAN]]: a programming library and package manager for [[Perl]];
* [[R (programming language)#CRAN|CRAN]]: a programming library and package manager for [[R (programming language)|R]];
* [[R (programming language)#CRAN|CRAN]]: a programming library and package manager for [[R (programming language)|R]];
Line 160: Line 168:
* [[RubyGems]]: a package manager and repository for [[Ruby (programming language)|Ruby]];
* [[RubyGems]]: a package manager and repository for [[Ruby (programming language)|Ruby]];
* [[Sbt (software)|sbt]]: a build tool for [[Scala (programming language)|Scala]], uses [[Apache Ivy|Ivy]] for dependency management;
* [[Sbt (software)|sbt]]: a build tool for [[Scala (programming language)|Scala]], uses [[Apache Ivy|Ivy]] for dependency management;
* [[Yarn (package manager)|yarn]]: an alternative to npm for [[Node.js]] and [[JavaScript]];


== See also ==
== See also ==

Latest revision as of 03:59, 7 June 2024

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

[edit]

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

[edit]

Linux

[edit]
  • 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: The package manager used by Zenwalk. Compatible with Slackware package 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 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 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 by Puppy Linux;
  • PISI: Stands for "Packages Installed Successfully as Intended". Pisi package manager is used by Pisi Linux.[2] Pardus used 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 by Joyent and other vendors;
  • Portage: A package management system ran by the emerge command, originally created for and used by Gentoo Linux;
  • 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: An APT-like package manager for Slackware;
  • Smart Package Manager: Used by CCux Linux;
  • Snap: Cross-distribution package manager, non-free on the server-side, originally developed for Ubuntu;
  • Swaret;
  • xbps (X Binary Package System): Used by Void Linux;
  • apk-tools: Used by Alpine Linux. Originally a collection of shell scripts, but has been since rewritten in C;

Android

[edit]

macOS (OS X)

[edit]

BSD

[edit]
  • FreeBSD pkg – FreeBSD binary packages are built on top of source based FreeBSD Ports and managed with pkg tool;
  • 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[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 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

[edit]

iOS

[edit]

Windows

[edit]

Superseded:

z/OS

[edit]

Source code-based

[edit]

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

[edit]
  • 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

[edit]
  • 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)

[edit]
  • 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

[edit]

Hybrid systems

[edit]
  • 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.[8]

Meta package managers

[edit]

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.
  • 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

[edit]

Package management systems geared toward developing and distributing video games.

Proprietary software systems

[edit]

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.

Application-level package managers

[edit]

See also

[edit]

References

[edit]
  1. ^ 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. ISSN 0195-6663. S2CID 54404770.
  2. ^ "Pisi GNU/Linux - Özgürlük Şimdi Başladı". pisilinux.org. Retrieved 2020-10-27.
  3. ^ "Pardus Tarihçe" (in Turkish). Retrieved 2020-10-27.
  4. ^ "Joyent Packages Documentation - Install On Mac OS X". Joyent. 2016-06-04. Archived from the original on 2018-10-06. Retrieved 2018-05-04.
  5. ^ pbiDIR
  6. ^ "Joyent Packages Documentation - Install On Illumos". pkgsrc.joyent.com. Retrieved 2017-02-26.
  7. ^ "vcpkg: A C++ package manager for Windows, Linux and MacOS".
  8. ^ "Portable and reproducible research workflows". GitHub. 2017-03-27. Retrieved 2017-03-27.