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
Quai
Docker Hub
-
-
-
-
Provide essential
base OS repositories (for example,
Ubuntu,
CentOS) that serve as the starting point for the majority of users.
-
-
-
GitHub Contain Registry
Programming languages
Golang
Java: Gradle, Maven, Ant
Maven
Gradle
Ant
SDKMan
NPM - Node Package Manager for JavaScript
Yarn
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
Windows
Chocolatey
Windows Package Manager - winget
Windows Store
macOS
Homebrew
Mac App Store
iOS App Store
Android
Google Play
Amazon Appstore
Binary packages
Unix-like
Linux
-
-
-
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.
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.
-
-
-
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.
-
-
-
-
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
.
-
-
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.
-
-
macOS (OS X)
-
-
Fink: A port of
dpkg, it is one of the earliest package managers for
OS X.
-
Joyent: Provides a repository of 10,000+ binary packages for
OS X based on
pkgsrc<ref>
</ref>
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
-
-
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
-
GetJar: An independent mobile phone app store founded in Lithuania in 2004
-
SlideME: Alternative app store for Android devices
-
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
-
-
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 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.
-
-
-
-
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
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.
-
-
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.
-
-
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.
-
-
-
-
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.
-
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
-
-
-
-
-
-
CPAN: a programming library and package manager for
Perl
-
-
-
-
Enthought Canopy: a package manager for Python scientific and analytic computing distribution and analysis environment
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
See also
References
External sites