Список систем управления пакетами программного обеспечения

Ниже представлен список известных систем управления пакетами программного обеспечения, классифицированный сперва по формату пакета (двоичный, исходный код, гибридный), а затем по семейству операционных систем.

Бинарные пакеты

Следующие системы управления пакетами распространяют приложения в виде бинарных пакетов; т. е. все приложения скомпилированы, готовы к установке и использованию.

Unix-подобные системы

  • apk-tools (apk): Alpine Package Keeper, менеджер пакетов для Alpine Linux;
  • dpkg: Первоначально использовался в Debian, а теперь в Ubuntu. Использует формат .deb и является первым широко известным инструментом разрешения зависимостей, APT. Основанный на ncurses интерфейс для APT, aptitude, также является популярным менеджером пакетов для систем на базе Debian;
  • Entropy: Используется и создается для Sabayon Linux. Он работает с бинарными пакетами, которые представляют собой архивы tar, сжатые с помощью bzip2 (расширение файла:.tbz2 ), созданные с помощью самой Entropy, из бинарных файлов tbz2, созданных Portage: из ebuilds, тип специализированного сценария оболочки;
  • Flatpak: контейнерный/изолированный формат упаковки, ранее известный как xdg-app;
  • GNU Guix: используется системой GNU. Он основан на менеджере пакетов Nix с API-интерфейсами Guile Scheme и специализируется на предоставлении исключительно бесплатного программного обеспечения;
  • Homebrew: порт одноименного менеджера пакетов MacOS (см. Ниже), ранее называвшегося «Linuxbrew»;
  • ipkg: Вдохновленная dpkg, очень легкая система, предназначенная для систем Linux с ограниченным объемом памяти, таких как встроенные устройства и карманные компьютеры. Используется в webOS HP;
  • netpkg: Менеджер пакетов, используемый Zenwalk. Совместимость с инструментами управления пакетами Slackware;
  • Менеджер пакетов Nix: Nix — это мощный менеджер пакетов для Linux и других систем Unix, который делает управление пакетами надежным и воспроизводимым. Он обеспечивает атомарные обновления и откаты, параллельную установку нескольких версий пакета, многопользовательское управление пакетами и простую настройку сред сборки;
  • OpenPKG: кроссплатформенная система управления пакетами на основе RPM Package Manager;
  • opkg: ответвление упрощенного управления пакетами ipkg, предназначенное для использования на встроенных устройствах Linux;
  • Pacman: используется в Arch Linux, Frugalware и DeLi Linux. Его бинарный формат пакета представляет собой сжатый zstd tar архив (расширение файла: .pkg.tar.zst ), созданный с использованием утилиты makepkg (которая поставляется в комплекте с pacman) и специального типа сценария оболочки, называемого PKGBUILD;
  • PETget: используется Puppy Linux;
  • PISI: Pisi означает «Успешно установленные пакеты, как и предполагалось». Менеджер пакетов Pisi используется Pisi Linux.[1] Pardus раньше использовал Pisi, но в 2013 году перешел на APT; [2]
  • pkgsrc: кроссплатформенный менеджер пакетов с бинарными пакетами, предоставленными для Enterprise Linux, macOS и SmartOS компанией Joyent и другими поставщиками;
  • Менеджер пакетов RPM: создан Red Hat. RPM является стандартным базовым форматом упаковки Linux и основой ряда дополнительных инструментов, включая apt4rpm, up2date от Red Hat, urpmi от Mageia, ZYpp (zypper) от openSUSE, poldek от PLD Linux, DNF от Fedora и YUM, который используется Red Hat Enterprise Linux и Yellow Dog Linux;
  • slackpkg;
  • slapt-get: используется Slackware и работает с бинарным форматом пакета, который, по существу, представляет собой сжатый xz tar архив с расширением файла.txz;
  • Smart Package Manager: используется CCux Linux;
  • Snappy: кросс-дистрибутивный менеджер пакетов, платный на стороне сервера, изначально разработанный для Ubuntu;
  • Swaret;
  • Zero install (0install): Программное обеспечение для кроссплатформенной упаковки и распространения, доступное для Arch Linux, Debian, Knoppix, Mint, Ubuntu, Fedora, Gentoo, OpenSUSE, Red Hat и Slackware;
  • Zpkg: пакетный менеджер для операционных систем на базе Linux, позволяющий устанавливать пакеты из разных дистрибутивов, выполнять установку в основную систему, каталог /opt или для отдельного пользователя (без root).
  • Amazon Appstore: альтернативный магазин приложений для устройств Android;
  • Aptoide: приложение для установки мобильных приложений, работающих на операционной системе Android. В Aptoide нет единого и централизованного магазина; вместо этого каждый пользователь управляет своим магазином.
  • Cafe Bazaar: Альтернативный магазин приложений для Android.
  • F-Droid: магазин приложений, используемый в Replicant, целью которого является замена проприетарных компонентов Android бесплатными программными альтернативами;
  • GetJar: независимый магазин приложений для мобильных телефонов, основанный в Литве в 2004 году;
  • Google Play: Интернет магазин приложений, разработанный Google для устройств Android, которые лицензируют проприетарный набор приложений Google;
  • Huawei AppGallery: магазин приложений, разработанный Huawei для устройств Android и устройств HarmonyOS.
  • SlideME: Альтернативный магазин приложений для Android

macOS (ОС Х)

  • Mac App Store: официальная цифровая дистрибуционная платформа приложений для OS X. Часть операционной системы OS X 10.7, доступно как обновление для OS X 10.6;
  • Fink: порт dpkg, это один из первых менеджеров пакетов для macOS;
  • Homebrew: менеджер пакетов на основе интерфейса командной строки, известный своей простотой использования и расширяемостью.
  • MacPorts: ранее известный как DarwinPorts, основанный на портах FreeBSD (как и сама macOS);
  • Joyent: предоставляет репозиторий из более чем 10 000 бинарных пакетов для macOS, созданный на основе pkgsrc;[3]
  • Zero install (0install): Кроссплатформенная упаковка и дистрибутив программного обеспечения. Использует GnuPG и GTK+ на macOS;
  • Порты FreeBSD;
  • Порты OpenBSD : Инфраструктура для бинарных пакетов в OpenBSD;
  • pkgsrc: кроссплатформенный менеджер пакетов с обычными бинарными пакетами, предоставляемыми несколькими поставщиками для NetBSD, Linux и macOS;
  • dpkg: используется как часть Debian GNU/kFreeBSD;
  • OpenPKG: Кроссплатформенная система управления пакетами на базе rpm;
  • PC-BSD: до версии 8.2[4] включительно используются файлы с расширением имени файла .pbi (Push Button Installer), которые при двойном щелчке запускают мастер установки. Каждый PBI является автономным и использует дедуплицированные частные зависимости, чтобы избежать конфликтов версий. Система автоматической сборки отслеживает коллекцию портов FreeBSD и ежедневно создает новые PBI. PC-BSD также использует систему двоичных пакетов FreeBSD pkg; новые пакеты создаются примерно каждые две недели как из стабильной, так и из непрерывной ветви дерева портов FreeBSD.
  • App Store: официальный магазин приложений для iOS;
  • Cydia: Внешний интерфейс к порту APT. Поддерживается сообществом jailbreak.

z/ОС

Менеджеры пакетов исходного кода

Следующие системы управления пакетами распространяют исходный код приложений. Либо пользователь должен знать, как компилировать такие пакеты, либо они поставляются со скриптом, автоматизирующим процесс компиляции. Например, в операционной системе GoboLinux файл рецепта содержит информацию о том, как загрузить, распаковать, скомпилировать и установить пакет с помощью инструмента компиляции. В обоих случаях пользователь должен предоставить вычислительную мощность и время, необходимые для компиляции приложения, и несет юридическую ответственность за последствия компиляции пакета.

  • ABS используется Arch Linux для автоматизации сборки бинарных пакетов из исходного кода или даже других бинарных архивов с автоматической загрузкой и проверкой зависимостей;
  • apt-build используется дистрибутивами, использующими пакеты deb, что позволяет автоматически компилировать и устанавливать программное обеспечение в исходный репозиторий deb;
  • Sorcery — это программа управления пакетами Sourcemage GNU/Linux на основе bash, которая автоматически загружает программное обеспечение с исходного сайта, компилирует и устанавливает его на локальный компьютер;
  • Conan — это мультиплатформенный менеджер пакетов для C/C++ проектов.

macOS (ОС Х)

  • Fink для OS X частично основана на dpkg/apt и частично на портах;
  • MacPorts, ранее называвшиеся DarwinPorts, основано на проекте OpenDarwin;
  • Homebrew с тесной интеграцией с Git;
  • pkgsrc можно использовать для установки программного обеспечения непосредственно из исходного кода или для использования бинарных пакетов, предоставляемых несколькими независимыми поставщиками.

Windows

Гибридные системы

  • Менеджер пакетов Nix: менеджер пакетов, который управляет программным обеспечением чисто функциональным образом, включая многопользовательскую поддержку, атомарные обновления и откаты. Позволяет одновременно устанавливать несколько версий или вариантов программного обеспечения, поддерживает macOS и поддерживает кросс платформенное распространение на Linux;
  • Portage и emerge используются Gentoo Linux, Funtoo Linux и Sabayon Linux. Он вдохновлен системой портов BSD и использует текстовые «ebuild» для автоматической загрузки, настройки, сборки и обновления пакетов из исходного кода. Он имеет автоматическую проверку зависимостей и позволяет устанавливать несколько версий программного пакета в разные «слоты» в одной системе. Portage также использует «отметки использования», чтобы позволить пользователю полностью настроить сборку программного обеспечения в соответствии с потребностями своей платформы в автоматическом режиме. Хотя распространение и настройка исходного кода являются предпочтительным методом, некоторые более крупные пакеты, для компиляции которых на обычном настольном компьютере требуется много часов, также предлагаются в виде предварительно скомпилированных двоичных файлов для упрощения установки;
  • Upkg: Система управления пакетами и сборки на основе спецификаций Mono и XML. Используется paldo, ранее использовалась ExTiX Linux;
  • MacPorts (для OS X );
  • Pkgsrc NetBSD работает с несколькими Unix-подобными операционными системами, с обычными бинарными пакетами для macOS и Linux, предоставляемыми несколькими независимыми поставщиками;
  • Collective Knowledge Framework — это кроссплатформенная платформа пакетов и рабочих процессов с JSON API, которая может загружать бинарные пакеты или создавать их из исходных кодов для платформ Linux, Windows, MacOS и Android.[7]

Менеджеры метапакетов

Представленные ниже менеджеры пакетов унифицируют управление пакетами для нескольких или всех вариантов Linux, а иногда и Unix. Они также основаны на концепции файла рецепта.

  • AppImage (ранее klik и PortableLinuxApps) призван предоставить простой способ получения пакетов программного обеспечения без проблем с зависимостями, которые так распространены во многих других форматах пакетов для большинства основных дистрибутивов.
  • Autopackage использует файлы .package.
  • Zero Install устанавливает каждый пакет в свой собственный каталог и использует переменные среды, чтобы каждая программа могла найти свои библиотеки. Информация о пакетах и зависимостях загружается непосредственно со страниц авторов программного обеспечения в формате XML, аналогичном RSS -каналу.
  • PackageKit — это набор утилит и библиотек для создания приложений, которые могут управлять пакетами через несколько менеджеров пакетов, используя серверные части для вызова правильной программы.

Менеджеры игровых пакетов

Системы управления пакетами, предназначенные для разработки и распространения видеоигр.

  • Steam: кроссплатформенная платформа для распространения, лицензирования и социального игрового процесса, разработанная и поддерживаемая Valve. Используется для покупки, загрузки, установки, обновления, удаления и резервного копирования видеоигр. Работает в Windows NT, OS X и Linux;
  • Uplay: кроссплатформенная платформа для распространения, лицензирования и социального геймплея, разработанная и поддерживаемая Ubisoft. Используется для покупки, загрузки, установки и обновления видеоигр. Работает на Windows NT и Windows Phone, а также на PlayStation 3, PlayStation 4, Xbox 360, Xbox One, Wii U, iOS и Android.
  • Xbox Live: кроссплатформенная платформа для распространения видеоигр от Microsoft. Работает на Windows NT, Windows Phone и Xbox. Первоначально для Windows 7 и более ранних версий называлась Games for Windows — Live. В Windows 10 функцию распространения берет на себя Windows Store;

Проприетарные системы управления программным обеспечением

Сегодня операционные системы с проприетарным программным обеспечением широко используют самые разные системы управления пакетами, которые управляют установкой как проприетарных, так и бесплатных пакетов.

Менеджеры пакетов уровня приложений

  • Bitnami: библиотека установщиков или программных пакетов для веб-приложений;
  • Cargo: менеджер пакетов для Rust;
  • CocoaPods: менеджер зависимостей для проектов Swift и Objective-C Cocoa;
  • Composer: менеджер зависимостей для PHP;
  • Conda: менеджер пакетов для открытой платформы обработки данных Python и R;
  • CPAN: программная библиотека и менеджер пакетов для Perl;
  • CRAN: библиотека программирования и менеджер пакетов для R;
  • CTAN: менеджер пакетов для TeX;
  • Docker: Docker, система управления контейнерами, служит менеджером пакетов для развертывания контейнерных приложений;
  • EasyInstall: менеджер пакетов для Python и библиотеки программирования PyPI, которая является частью системы упаковки Setuptools;
  • Enthought Canopy: менеджер пакетов для среды распространения и анализа научных и аналитических вычислений Python;
  • Go: многоцелевой инструмент, используемый, среди прочего, для управления пакетами Go;
  • Gradle: система сборки и менеджер пакетов для Groovy и других языков JVM, а также C++;
  • Ivy: менеджер пакетов для Java, интегрированный в инструмент сборки Ant, также используемый sbt;
  • Leiningen: инструмент автоматизации проектов для Clojure;
  • LuaRocks: библиотека программирования и менеджер пакетов для Lua;
  • Maven: менеджер пакетов и инструмент сборки для Java;
  • npm: библиотека программирования и менеджер пакетов для Node.js и JavaScript;
  • NuGet: менеджер пакетов для платформы разработки Microsoft, включая .NET Framework и Xamarin;
  • OPAM менеджер пакетов и репозиторий для OCaml;
  • PAR::Repository and Perl package manager: менеджеры бинарных пакетов для Perl;
  • PEAR: программная библиотека для PHP;
  • pip: менеджер пакетов для Python и библиотеки программирования PyPI;
  • Pkg.jl: менеджер пакетов для Julia;
  • Quicklisp: менеджер пакетов и репозиторий для Common Lisp;
  • RubyGems: менеджер пакетов и репозиторий для Ruby;
  • sbt: инструмент сборки для Scala, использует Ivy для управления зависимостями;
  • Yarn: менеджер пакетов для Node.js и JavaScript.

См. также

Ссылки

  1. Pisi GNU/Linux - Özgürlük Şimdi Başladı. pisilinux.org. Дата обращения: 27 октября 2020. Архивировано 18 октября 2021 года.
  2. Pardus Tarihçe (тур.). Дата обращения: 27 октября 2020. Архивировано 21 февраля 2020 года.
  3. Joyent Packages Documentation - Install On Mac OS X. Joyent (4 июня 2016). Дата обращения: 4 мая 2018. Архивировано из оригинала 6 октября 2018 года.
  4. pbiDIR
  5. Joyent Packages Documentation - Install On Illumos (англ.). pkgsrc.joyent.com. Дата обращения: 26 февраля 2017. Архивировано 30 октября 2018 года.
  6. vcpkg: A C++ package manager for Windows, Linux and MacOS. Дата обращения: 29 августа 2022. Архивировано 23 января 2019 года.
  7. Portable and reproducible research workflows. GitHub (27 марта 2017). Дата обращения: 27 марта 2017. Архивировано 12 ноября 2020 года.