Как делает Мгновенный, имеют отношение к Nix и Guix?

Я искал сравнение, но нашел не и не совсем хорошо сообщен достаточно, чтобы сделать это сам прямо сейчас.

Все они обеспечивают транзакционные обновления, но разные уровни включения.

  • Мгновенный статически компилирует в библиотеках для обеспечения нескольких версий двоичных зависимостей. Это объявляет обеспеченный (и необходимый?) сервисы как метаданные. Пакет обеспечивается как единственное изображение?
  • Отклоните соглашения с динамическим подключением для обеспечения нескольких версий двоичных зависимостей? Это объявляет обеспеченный и необходимые сервисы как метаданные. Пакет обеспечивается через репозиторий, имеющий дело с зависимостями.
  • Guix похож, Отклоняют, но интеграция функций GNU.

Больше подробно сравнение между Nix и Guix дано Sander van der Burg, которого я не изучил подробно. Я предположил бы, что кто-то в Каноническом сделал анализ существующих решений. Существуют другие системы развертывания на основе изображений, как CoreOS, который мне сказали.

Так, как Мгновенная Ubuntu имеет отношение к Nix и Guix? Что такое существенные различия?

21
задан 14 June 2016 в 20:31

1 ответ

Недавно, я сделал оценку сам. Я - на самом деле участник 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

Надо надеяться, Вы находите интересным читать и возможно существуют некоторые вещи в нем, что Вы находите стоящими взглядов о.

28
ответ дан 23 November 2019 в 01:43

Другие вопросы по тегам:

Похожие вопросы: