List of software package management systems

Last updated

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

Contents

Binary packages

The following package manager systems distribute software in binary package form; i.e., all executables are compiled and ready to install and use.

Unix-like

Linux

  • dpkg: Originally used by Debian and now by Ubuntu and derivatives. 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;
  • Flatpak: A containerized/sandboxed packaging format formerly named xdg-app;
    • Snap: Cross-distribution containerized package manager, non-free on the server-side, originally developed for Ubuntu;
  • Nix: Aims to make 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;
  • 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;
    • Pamac: A user-friendly frontend to pacman with both a CLI and a GUI, built and maintained by Manjaro;
  • Portage: A package management system invoked by the emerge command, originally created for and used by Gentoo Linux;
    • 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, from tbz2 binaries produced by Portage from ebuilds, a type of specialized shell script;
  • RPM Package Manager: Created by Red Hat. RPM is the Linux Standard Base packaging format and the base of a number of additional tools:
  • slackpkg;
  • 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.

Linux (discontinued)

  • OpenPKG: Cross-platform package management system based on RPM Package Manager;
  • PISI: Stands for "Packages Installed Successfully as Intended"; used by Pisi Linux. [2] Pardus used to use Pisi, but migrated to APT in 2013. [3]
  • Red Hat's up2date, an out-of-date/discontinued predecessor to YUM.

Android

  • 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 no centralized store; instead, each user manages their own store.
  • 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, Tizen, Windows Mobile and Bada devices.
  • GetJar: An independent mobile phone app store founded in Lithuania in 2004;
  • Google Play: Online app store developed by Google for Android devices that license the proprietary Google Application set;
  • Huawei AppGallery: An app store developed by Huawei for Android devices and HarmonyOS devices;
  • SlideME: Alternative app store for Android.

BSD

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

macOS (OS X)

Solaris, illumos

iOS

Windows

Superseded:

z/OS

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.

BSD

Linux

macOS (OS X)

Windows

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

Game package managers

Package management systems geared toward developing and distributing video games.

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.

Application-level package managers

Meta server application-level package manager

See also

References

  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. pbiDIR
  5. "Joyent Packages Documentation - Install On Mac OS X". Joyent. 2016-06-04. Archived from the original on 2018-10-06. Retrieved 2018-05-04.
  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.