Package manager Page

Package Manager



Return to Cloud Monk's Package Manager Book, Software Deployment, Software Distribution, Software Installation, Software Configuration

See github.com/AzureCloudMonk/ChocolateyPackageListBackup

Return to Cloud Monk's Development Mac Homebrew List and Development PC Chocolatey List, Package, Image, Artifact, CLIs, Command line security, Tab completion, Automation, DevOps Tools, Container Tools, K8S Tools, Programming Tools, Infrastructure as Code (IaC), CI-CD, Git-GitHub-GitOps, Scripting languages (Python scripting, Bash script, PowerShell), Configuration Management (Terraform-Ansible-Chef-Puppet), Package Managers (npm-nvm-yarn - pip-Anaconda - maven-gradle-sdkman-sbt - NuGet - go get - RubyGems - cargo -- apt-dnf-yum-rpm-snap - brew - choco-winget), Linux CLI Shells bash-ksh-tcsh-mksh-zsh, macOS CLI-iTerm2, Windows CLI / cmd.exe, Windows Terminal, cURL, REPLs, IDEs, Cloud IDEs


Cloud Monk's main knowledge and experience focus is on:


Kubernetes - K8S - Helm


* Helm: Kubernetes package manager
** https://helm.sh/docs/helm/helm_search

Quai


* Red Hat Quai Container Registery

Docker Hub


* Docker Hub - Docker Image Repository - Docker Hub repositories allow you share container images with your team, customers, or the Docker community at large. Docker images are pushed to Docker Hub through the docker push command. A single Docker Hub repository can hold many Docker images (stored as Docker tags).
** https://docs.docker.com/docker-hub/repos
** https://docs.docker.com/docker-hub/official_images
** Docker Official Images are a curated set of Docker repositories hosted on Docker Hub. They are designed to:
*** Provide essential base OS repositories (for example, Ubuntu, CentOS) that serve as the starting point for the majority of users.
*** Provide drop-in solutions for popular programming language runtimes, data stores, and other services, similar to what a Platform as a Service (PAAS) would offer.
*** Exemplify Dockerfile best practices and provide clear documentation to serve as a reference for other Dockerfile authors.
*** Ensure that Docker security updates are applied in a timely manner. This is particularly important as many Docker Official Images are some of the most popular on Docker Hub.

GitHub Contain Registry


* GitHub Container Repositories


----

Programming languages


Package managers for Programming languages

=Golang

=
* Golang
** go get
** Go (programming language)#Package system|Go: a multipurpose tool used, among others, for Go (programming language)|Go package management
*** https://golang.org/search?q=Azure+SDK - Search Golang

=Java: Gradle, Maven, Ant

=
* Java ecosystem - Java Virtual Machine (JVM) and Graal (GraalVM) - Java-Kotlin-Scala (best to use sbt) - Groovy

=Maven


* Apache Maven: a package manager and build tool for Java (programming language)|Java, Kotlin, Scala, Groovy and other JVM languages. https://central.maven.org
** https://search.maven.org/search?q=Azure%20SDK - Maven Search


Gradle


* Gradle: a build system and package manager for Java, Kotlin, Scala, Groovy programming language|Groovy and other JVM languages, and also C plus plus | C++. https://gradle.org
** https://plugins.gradle.org/search?term=Azure+SDK - Gradle Search


Ant


* Ant


SDKMan


sdkman.io - SDKman


=NPM - Node Package Manager for JavaScript

=
* npm (software)|npm: a programming library and package manager for Node.js, JavaScript and TypeScript. https://npmjs.com
** https://www.npmjs.com/search?q=Azure%20SDK - NPM Search

See also NVM

=Yarn

=
Yarn instead of NPM


=NuGet for C# .NET

=
* NuGet: A Microsoft-official free and open-source package manager for Windows, available as a plugin for Visual Studio, and extendable from the command-line. Used for C Sharp | C# dot NET | dot NET. https://nuget.org and https://api.nuget.org/v3/index.json
** https://www.nuget.org/packages?q=Azure+SDK - Nuget Search

=Python

=
* Python - pip - PyPi

Anaconda


* Anaconda (Python distribution)|Anaconda: a package manager for open data science platform of the Python (programming language)|Python and R (programming language)|R

pip


* pip (package manager) (pip): a package manager for Python (programming language)|Python and the Python Package Index (PyPI) Python programming library
** https://pypi.org/search/?q=Azure+SDK

=Rust Crates via Cargo

=
Rust Crates via Cargo - Rust Crates via Cargo


=RubyGems

=
* Ruby
RubyGems: a package manager and repository for Ruby (programming language)|Ruby
** https://rubygems.org/search?&query=Azure+SDK - RubyGems Search


----


Operating Systems


Package managers for Operating systems

=Linux

=
* Linux software installation - Linux package managers

RPM and yum for RedHat - Fedora - Rocky - CentOS


* RPM Package Manager (RPM): 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 (RHEL, and Yellow Dog Linux.

dpkg apt-get for Ubuntu - Debian


* dpkg: Originally used by Debian and now by Ubuntu (operating system)|Ubuntu. Uses the deb (file format)|.deb format and was the first to have a widely known dependency resolution tool, Advanced Packaging Tool|APT (apt-get). The ncurses-based front-end for APT, aptitude (software)|aptitude, is also a popular package manager for Debian-based systems.
** https://packages.debian.org/search?keywords=Azure+SDK - Debian Package Search

Snap App Store for Ubuntu - Debian and other Linux


* Snap - Snap Package Manager - Snap (package manager), Snappy (package manager), Snappy, Scapcraft, Snap Store


Pacman for Arch Linux


* Pacman (Arch Linux) (pacman): Used in Arch Linux, Frugalware and DeLi Linux. Its binary package format is a xz-compressed tar archive (file extension: .pkg.tar.xz) built using the makepkg utility (which comes bundled with pacman) and a specialized type of shell script called a PKGBUILD.


FreeBSD ports


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


=Windows

=
* Windows

Chocolatey


* Chocolatey (software package manager) | Chocolatey: Open-source decentralized package manager for Windows in the spirit of Yellow dog Updater Modified|Yum and Advanced Packaging Tool|apt-get. Usability wrapper for NuGet


Windows Package Manager - winget


Windows Package Manager winget - Windows Package Manager - winget - WPM


Windows Store

* Windows Store: Official app store for Metro-style apps on Windows NT and Windows Phone. As of Windows 10, it distributes video games, films and music as well.

=macOS=

* macOS

Homebrew

* Homebrew (package management software)|Homebrew: Package manager for OS X, based on Git (software)|Git

Mac App Store

* Mac App Store: Official digital distribution platform for OS X apps. Part of OS X 10.7 and available as an update for OS X 10.6.

iOS App Store

==
* iOS and iPad OS
** App Store (iOS)|App Store: Official app store for iOS apps

=Android

=
* Android

Google Play


* Google Play: Online app store developed by Google for Android (operating system)|Android devices that license the proprietary Google Application set

Amazon Appstore


* Amazon Appstore: Alternative app store from Amazon for Android devices


----

"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: wp>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


* apk-tools|apk-tools (apk): Alpine Package Keeper, the package manager for Alpine Linux.
* dpkg: Originally used by Debian and now by Ubuntu (operating system)|Ubuntu. Uses the deb (file format)|.deb format and was the first to have a widely known dependency resolution tool, Advanced Packaging Tool|APT. The ncurses-based front-end for APT, aptitude (software)|aptitude, is also a popular package manager for Debian-based systems.
* 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: .tbz2), 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.
* 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.

* Helm: Kubernetes package manager

* 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
* OpenPKG: Cross-platform package management system based on RPM Package Manager
* opkg: Fork of ipkg
* Pacman (Arch Linux)|pacman: Used in Arch Linux, Frugalware and DeLi Linux. Its binary package format is a xz-compressed tar archive (file extension: .pkg.tar.xz) 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: Used by Pardus (operating system)|Pardus
* 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
* 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
* Snappy (package manager)|Snappy: cross-distribution package manager, originally developed for Ubuntu (operating system)|Ubuntu.
* Steam (software)|Steam: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Valve Corporation|Valve. Used to shop for, download, install, update, uninstall and back up video games. Works on Windows NT, OS X and Linux.
* 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.

macOS (OS X)


* Mac App Store: Official digital distribution platform for OS X apps. Part of OS X 10.7 and available as an update for OS X 10.6.
* Homebrew (package management software)|Homebrew: Package manager for OS X, based on Git (software)|Git
* Fink: A port of dpkg, it is one of the earliest package managers for OS X.
* MacPorts: Formerly known as DarwinPorts, based on FreeBSD Ports (as is OS X itself)
* Joyent: Provides a repository of 10,000+ binary packages for OS X based on pkgsrc{{cite web
| url=http://pkgsrc.joyent.com/install-on-osx/
| title=Joyent Packages Documentation - Install On Mac OS X
| date=2016-06-04
| publisher=Joyent
| accessdate=2018-05-04}}

* Zero Install (0install): Cross-platform packaging and distributions software. Uses GnuPG and GTK+ on OS X.
* Steam (software)|Steam: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Valve Corporation|Valve. Used to shop for, download, install, update, uninstall and back up video games. Works on Windows NT, OS X and Linux.
* pkgutil package management tool included in MacOS

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,{{cite web|url=https://www.ixsystems.com/blog/pkgng-the-future-of-packages-on-freebsd-and-pc-bsd/|title=PKGNG – The future of packages on FreeBSD and PC-BSD|author= |date=30 August 2013 |website=www.ixsystems.com |publisher=iXsystems |accessdate=}} with support for binary packages

Solaris,illumos


* Image Packaging System (IPS, also known as "pkg(5)"): Used by Solaris (operating system)|Solaris, OpenSolaris and illumos Illumos#Current distributions|distributions like OpenIndiana and Illumos#Current distributions|OmniOS.
* pkgsrc: SmartOS, OS distribution of illumos from Joyent uses pkgsrc, that also can be bootstrapped to use on OpenIndiana.{{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}}
* OpenCSW: Community supported collection of packages in SysV (package format)|SysV format for SunOS 5.8-5.11 (Solaris 8-11)
* OpenPKG: Cross-platform package management system based on RPM Package Manager

=Mobile

=

Android


* Google Play: Online app store developed by Google for Android (operating system)|Android devices that license the proprietary Google Application set
* GetJar: An independent mobile phone app store founded in Lithuania in 2004
* Amazon Appstore: Alternative app store for Android devices
* SlideME: Alternative app store for Android devices
* 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{{cite web
| url=http://openattitude.com/2011/08/24/f-droid-the-android-app-store-for-freedom-beards/
| title=F-Droid, the Android app store for freedom beards.
| date=2011-08-24
| accessdate=2014-10-18}}
{{cite web
| url=http://www.framablog.org/index.php/post/2011/10/10/replicant-android-google
| title=Le projet Replicant ou Android totalement libre présenté par PaulK
| author=Alexis Kauffmann
| date=2011-10-10
| language=French
| accessdate=2014-10-18}}

* Uplay: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Ubisoft. Used to shop for, download, install and update video games. Works on Android (operating system)|Android, as well as PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U, iOS, Windows NT and Windows Phone.

iOS


* 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.
* Uplay: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Ubisoft. Used to shop for, download, install and update video games. Works on iOS, as well as PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U, Android (operating system)|Android, Windows NT and Windows Phone.

=Windows{{anchor|Microsoft_Windows}}

=
* Windows Store: Official app store for Metro-style apps on Windows NT and Windows Phone. As of Windows 10, it distributes video games, films and music as well.
* Windows Phone Store: Former official app store for Windows Phone. Now superseded by Windows Store.
* Xbox Live: A cross-platform video game distribution platform by Microsoft. Works on Windows NT, Windows Phone and Xbox. Initially called Games for Windows – Live on Windows 7 and earlier. On Windows 10, the distribution function is taken over by Windows Store.
* Cygwin: Free and open-source software repository for Windows NT. Provides many Linux tools and an installation tool with package manager.
* Ninite: Proprietary package manager for Windows NT
* NuGet: A Microsoft-official free and open-source package manager for Windows, available as a plugin for Visual Studio, and extendable from the command-line.
* Chocolatey (software package manager)|Chocolatey: Open-source decentralized package manager for 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 Windows version of the Arch Linux package manager.
* wpkg: Open-source package manager that handles Debian packages on Windows. Started as a clone of dpkg, and has many Advanced Packaging Tool|apt-get like features too.
* Zero Install (0install): Cross-platform packaging and distributions software. Uses .NET Framework on Windows NT.
* Steam (software)|Steam: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Valve Corporation|Valve. Used to shop for, download, install, update, uninstall and back up video games. Works on Windows NT, OS X and Linux.
* Uplay: A cross-platform video game distribution, licensing and social gameplay platform, developed and maintained by Ubisoft. Used to shop for, download, install and update video games. Works on Windows NT and Windows Phone, as well as PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U, iOS and Android (operating system)|Android.

=z/OS

=
* SMP/E

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

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

=macOS (OS X)

=
* fink, for OS X, derives partially from dpkg/apt and partially from ports.
* MacPorts, formerly called DarwinPorts, originated from the OpenDarwin project.
* Homebrew (package management software)|Homebrew, with close Git integration.

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 Portage (software)#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{{cite web
| url=https://github.com/ctuning/ck/wiki/Portable-workflows
| title=Portable and reproducible research workflows
| date=2017-03-27
| accessdate=2017-03-27}}


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.
* Software Distributor is the HP-UX package manager.

Application-level Dependency managers


* Anaconda (Python distribution)|Anaconda: a package manager for open data science platform of the Python (programming language)|Python and R (programming language)|R
* Bitnami: a library of installers or Software package (installation)|software packages for web applications
* Cabal (software)|Cabal: a programming library and package manager for Haskell (programming language)|Haskell
* Cargo (software)|Cargo: a package manager for Rust (programming language)|Rust
* CocoaPods: a dependency manager for Swift (programming language)|Swift and Objective-C Cocoa (API)|Cocoa projects.
* Composer (software)|Composer: a dependency Manager for PHP
* CPAN: a programming library and package manager for Perl
* CRAN (R programming language)|CRAN: a programming library and package manager for R (programming language)|R
* CTAN: a package manager for TeX
* EasyInstall: a package manager for Python (programming language)|Python and the Python Package Index|PyPI programming library which is part of the Setuptools packaging system
* elm-package: a package manager for Elm (programming language)|Elm
* Enthought Canopy: a package manager for Python scientific and analytic computing distribution and analysis environment
* Go (programming language)#Package system|Go: a multipurpose tool used, among others, for Go (programming language)|Go package management
* Gradle: a build system and package manager for Groovy programming language|Groovy and other JVM languages, and also C++
* Apache Ivy|Ivy: a package manager for Java (programming language)|Java, integrated into the Apache Ant|Ant build tool, also used by SBT (software)|sbt
* Leiningen (software)|Leiningen: a project automation tool for Clojure
* LuaRocks: a programming library and package manager for Lua (programming language)|Lua
* Apache Maven|Maven: a package manager and build tool for Java (programming language)|Java
* npm (software)|npm: a programming library and package manager for Node.js and JavaScript
* NuGet: the package manager for the Microsoft development platform including .NET Framework and Xamarin
* Perl Archive Toolkit|PAR::Repository and Perl package manager: binary package managers for Perl
* PHP Extension and Application Repository|PEAR: a programming library for PHP
* Pkg: a package manager for Julia (programming_language)|Julia
* pip (package manager)|pip: a package manager for Python (programming language)|Python and the Python Package Index|PyPI programming library
* Quicklisp: a package manager and repository for Common Lisp
* 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
* Yarn (software)|Yarn: a package manager for Node.js and JavaScript

See also


* Binary repository manager
* Package format
* Linux package formats

References


{{reflist}}

{{Package management systems}}

{{DEFAULTSORT:Software package management systems}}
Category:Computing-related lists
Category:Package management systems|
Category:Software distribution


External sites


* wp>Package manager


{{navbar_package_manager}}

{{navbar_choco}}


{{navbar_footer}}