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