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

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

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

править

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

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

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

править

Следующие системы управления пакетами распространяют исходный код приложений. Либо пользователь должен знать, как компилировать такие пакеты, либо они поставляются со скриптом, автоматизирующим процесс компиляции. Например, в операционной системе 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 можно использовать для установки программного обеспечения непосредственно из исходного кода или для использования бинарных пакетов, предоставляемых несколькими независимыми поставщиками.

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

править
  • Менеджер пакетов 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 года.