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

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.

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

Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian and Debian-based Linux distributions. APT simplifies the process of managing software on Unix-like computer systems by automating the retrieval, configuration and installation of software packages, either from precompiled files or by compiling source code.

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

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.

A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or repository managers. Package managers allow automatically installing and updating repositories, sometimes called "packages".

<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">SMPlayer</span> Graphical front-end for MPlayer and mpv

SMPlayer is a cross-platform graphical front-end for MPlayer and mpv and forks of Mplayer using GUI widgets offered by Qt. SMPlayer is free and open-source software subject to the terms of the GNU General Public License version 2 or later. SMplayer has been localized in more than 30 languages.

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