List of software package management systems

Last updated

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]

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 and use.

Unix-like

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

macOS (OS X)

BSD

  • 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

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

See also

Related Research Articles

<span class="mw-page-title-main">Package manager</span> Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

dpkg is the software at the base of the package management system in the free operating system Debian and its numerous derivatives. dpkg is used to install, remove, and provide information about .deb packages.

<span class="mw-page-title-main">Fink (software)</span> Project to port and package open-source Unix software to macOS

The Fink project is an effort to port and package open-source Unix programs to macOS. Fink uses dpkg and APT, as well as its own frontend program, fink.

<span class="mw-page-title-main">Portage (software)</span> Gentoo package management system

Portage is a package management system originally created for and used by Gentoo Linux and also by ChromeOS, Calculate, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project was concerned with using Portage to manage other operating systems, such as BSDs, macOS and Solaris. The most notable of these implementations is the Gentoo/FreeBSD project.

deb is the format, as well as filename extension of the software package format for the Debian Linux distribution and its derivatives.

<span class="mw-page-title-main">MirOS BSD</span>

MirOS BSD is a free and open source operating system which started as a fork of OpenBSD 3.1 in August 2002. It was intended to maintain the security of OpenBSD with better support for European localisation. Since then it has also incorporated code from other free BSD descendants, including NetBSD, MicroBSD and FreeBSD. Code from MirOS BSD was also incorporated into ekkoBSD, and when ekkoBSD ceased to exist, artwork, code and developers ended up working on MirOS BSD for a while.

<span class="mw-page-title-main">Ion (window manager)</span> Tiling and tabbing window manager

In Unix computing, Ion is a tiling and tabbing window manager for the X Window System. It is designed such that it is possible to manage windows using only a keyboard, without needing a mouse. It is the successor of PWM and is written by the same author, Tuomo Valkonen. Since the first release of Ion in the summer 2000, similar alternative window management ideas have begun to show in other new window managers: Larswm, ratpoison, StumpWM, wmii, xmonad and dwm.

In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.

Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.

pkgsrc Package manager for Unix-like operating systems

pkgsrc is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD. Since then it has evolved independently; in 1999, support for Solaris was added, followed by support for other operating systems.

BioLinux is a term used in a variety of projects involved in making access to bioinformatics software on a Linux platform easier using one or more of the following methods:

Ports collections are the sets of makefiles and patches provided by the BSD-based operating systems, FreeBSD, NetBSD, and OpenBSD, as a simple method of installing software or creating binary packages. They are usually the base of a package management system, with ports handling package creation and additional tools managing package removal, upgrade, and other tasks. In addition to the BSDs, a few Linux distributions have implemented similar infrastructure, including Gentoo's Portage, Arch's Arch Build System (ABS), CRUX's Ports and Void Linux's Templates.

<span class="mw-page-title-main">RPM Package Manager</span> Package management system

RPM Package Manager (RPM) is a free and open-source package management system. The name RPM refers to the .rpm file format and the package manager program itself. RPM was intended primarily for Linux distributions; the file format is the baseline package format of the Linux Standard Base.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.

An app store, also called an app marketplace or app catalog, is a type of digital distribution platform for computer software called applications, often in a mobile context. Apps provide a specific set of functions which, by definition, do not include the running of the computer itself. Complex software designed for use on a personal computer, for example, may have a related app designed for use on a mobile device. Today apps are normally designed to run on a specific operating system—such as the contemporary iOS, macOS, Windows, Linux or Android—but in the past mobile carriers had their own portals for apps and related media content.

A delta update is a software update that requires the user to download only those parts of the software's code that are new, or have been changed from their previous state, in contrast to having to download the entire program. The use of delta updates can save significant amounts of time and computing bandwidth. The name "delta" derives from the mathematical science use of the Greek letter delta, Δ or δ to denote change.

<span class="mw-page-title-main">ZeroTier</span> Software company based in California

ZeroTier, Inc. is a software company with a freemium business model based in Irvine, California. ZeroTier provides proprietary software, SDKs and commercial products and services to create and manage virtual software-defined networks. The company's flagship end-user product ZeroTier One is a client application that enables devices such as PCs, phones, servers and embedded devices to securely connect to peer-to-peer virtual networks.

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