Я искал сравнение, но нашел не и не совсем хорошо сообщен достаточно, чтобы сделать это сам прямо сейчас.
Все они обеспечивают транзакционные обновления, но разные уровни включения.
Больше подробно сравнение между Nix и Guix дано Sander van der Burg, которого я не изучил подробно. Я предположил бы, что кто-то в Каноническом сделал анализ существующих решений. Существуют другие системы развертывания на основе изображений, как CoreOS, который мне сказали.
Так, как Мгновенная Ubuntu имеет отношение к Nix и Guix? Что такое существенные различия?
Недавно, я сделал оценку сам. Я - на самом деле участник Nix/NixOS и бывший исследователь, заинтересованный технологией развертывания.
Я попытался прикрепить меня к фактам как можно больше, но, вероятно, невозможно остаться полностью несмещенным. Суммировать мои результаты:
Оба подхода хранят пакеты в изоляции. Мгновенные приложения хранилищ и платформы в папках с помощью следующего соглашения о присвоении имен: /app/name/version.vendor
, тогда как Отклоняют использование /nix/store/hash-name-version
.
Соглашение о присвоении имен Nix более мощно, потому что оно использует префиксы хеша, которые получены из всех buildtime зависимостей. С Отклоняют Вас, может легко сделать различия между любым вариантом пакета и сохранить их друг рядом с другом. Любое изменение (например, другая процедура сборки, обновление библиотеки, обновление компилятора) приводит к новому созданию хеша, позволяющему сохранить любой возможный вариант друг рядом с другом.
Чтобы позволить пакету находить свои зависимости, Отклоните, связывает их статически с исполняемым файлом (например, путем изменения RPATH
из двоичного файла ELF) или путем обертывания их в сценарии, которые устанавливают соответствующие переменные среды (например. CLASSPATH
, PYTHONPATH
, PERL5LIB
, и т.д.).
Мгновенный составляет контейнеры, в которых исполняемые файлы могут найти свои зависимости в их общих местоположениях FHS, такой как /lib
и /bin
Однако Отклоните, также поддерживает контейнерный подход Snappy, но это используется только в очень редких случаях. Самые видные Отклоняют пакет с помощью контейнеризированного подхода, Пар в NixOS, потому что Пар является самим инструментом развертывания с конфликтующими свойствами.
Мгновенное Ядро Ubuntu использует так называемую схему выделения разделов "A/B", чтобы обновить (и откатывать) основная система. Это только поддерживает ограниченное количество версий (обычно два) в то время.
Напротив, NixOS (Отклонение - основывало дистрибутив Linux) сочиняет, основная система из Отклоняют пакеты в Отклонить хранилище также, и намного более мощно. Можно откатывать к любой предыдущей конфигурации, которая еще не была собрана "мусор". Кроме того, пакеты аналогичной системы среди поколений могут быть совместно использованы.
Оба инструмента поддерживают непривилегированные пользовательские установки. Однако Мгновенные хранилища все файлы в корневом каталоге пользователя. Если два пользователя, оказывается, устанавливают тот же пакет затем, они установлены дважды в системе.
Напротив, Отклоните пакеты, также позволяют обычным пользователям устанавливать пакеты в центральном, Отклоняют хранилище так, чтобы идентичные пакеты могли быть общими для пользователями. Частично из-за соглашения о присвоении имен (использующий хеширующий) это может быть сделано безопасным способом.
Мгновенный ограничивает поведение во время выполнения пакетов out-of-the-box, тогда как Отклоняют, не делает
Мгновенный, кажется, не помогает пользователям создать пакеты из исходного кода. Отклоните однако имеет DSL разрешение людям сделать это довольно легко и автоматически установить все buildtime зависимости (компиляторы, инструменты сборки, библиотеки и т.д.) при необходимости
Мгновенный едва поддерживает модуляризацию и повторное использование. В пакетах в качестве примера все зависимости библиотеки связываются, статически используя намного больше дискового пространства и RAM. Кроме того, документация, кажется, не предоставляет услуг кроме платформ. Однако платформы не предназначены для повторного использования согласно документации
С Отклоняют пакеты модульного исполнения, и безопасно руководящие зависимости являются некоторыми его основными характеристиками.
Полное сообщение в блоге может быть найдено здесь: http://sandervanderburg.blogspot.com/2015/04/an-evaluation-and-comparison-of-snappy.html
Надо надеяться, Вы находите интересным читать и возможно существуют некоторые вещи в нем, что Вы находите стоящими взглядов о.