package_manager

Package Manager

Kubernetes - K8S - Helm

Quai

Docker Hub

GitHub Contain Registry

Programming languages

Golang

Java: Gradle, Maven, Ant

Maven

Gradle

Ant

SDKMan

NPM - Node Package Manager for JavaScript

Yarn

Yarn instead of NPM

NuGet for C# .NET

Python

Anaconda

pip

Rust Crates via Cargo

RubyGems

Operating Systems

Linux

RPM and yum for RedHat - Fedora - Rocky - CentOS

dpkg apt-get for Ubuntu - Debian

Snap App Store for Ubuntu - Debian and other Linux

Pacman for Arch Linux

FreeBSD ports

FreeBSD ports - NetBSD's pkgsrc works on several Unix-like operating systems. Free Ports Collection

Windows

Chocolatey

Windows Package Manager - winget

Windows Store

macOS

Homebrew

Mac App Store

iOS App Store

Android

Google Play

Amazon Appstore


“A package manager or package management system is a collection of software tools that automate the process of installing, upgrading, configuring, and removing computer programs for a computer's operating system in a consistent manner.” Fair Use Source: Package manager


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

Binary packages

The following package management systems distribute apps in Binary (software) | binary package (package management system) | package form; i.e., all apps are Compiler | compiled and ready to be installed and use.

Unix-like

Linux

macOS (OS X)

BSD

  • dpkg: Used as part of Debian GNU/kFreeBSD
  • OpenPKG: Cross-platform package management system based on rpm (software) | rpm
  • TrueOS 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. TrueOS 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.
  • PKGNG: now standard; available in FreeBSD and PC-BSD since 9.1,<ref>

    </ref> with support for binary packages

Solaris,illumos

Mobile

Android

iOS

Windows{{anchor]] | [[Microsoft_Windows}}

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

macOS (OS X)

Hybrid systems

  • Nix package manager: Package manager that manages software in a purely functional programming | 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 (software) | Portage and Emerge | 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 (software) | Mono and XML specifications. Used by Paldo (operating system) | paldo and previously by ExTiX Linux.
  • MacPorts (for OS X)
  • NetBSD's pkgsrc works on several Unix-like operating systems.
  • Collective Knowledge (software) | 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<ref>

    </ref>

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.

  • 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.
  • Zero Install installs each package into its own directory and uses environment variables 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.

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 Dependency managers

See also

References

External sites

package_manager.txt · Last modified: 2025/02/01 06:37 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki