LINUX.ORG.RU

В чём смысл Никсоси?

 , ,


0

3

Вчера решил потыкать палкой в Никсось. Вопросов в итоге больше, чем ответов.

1. Декларативный конфиг. Запихнули все настройки в один файл. В других линуксах это будет комплект файлов. Но потаенный смысл «декларативности» ускользает.

2. Вся движуха происходит в /nixos/ базовая иерархия линуксовых директорий практически не используется. В чем опять же, смысл? Устроить срач в одной отдельно взятой директории? Причем этот срач превосходит изначальный срач в других линуксах.

3. Не релевантность опыта использования Никсоси. Можно десятилетия сидеть в никсоси и не иметь опыта в линуксе. Всё, что происходит в никсоси - остается в никсоси.

4. Воспроизводимость системы. Непонятно зачем. Развернуть одинаковую систему на много компов одновременно? Это можно сделать и в других линуксах. И это не то, что надо делать постоянно.

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

Это всё сугубо мое личное мнение. Возможно, я сильно заблуждаюсь. Кто сможет раскрыть мне глаза?

ДОБАВЛЕНО: Еще один животрепещущий вопрос. Как в никсоси разруливаются зависимости? Существует ли разделение на обязательные и необязательные? И если да, то как это настроить?

И да, чехарда с именами разделов при загрузке - присутствует.

★★★★★

Последнее исправление: utanho (всего исправлений: 2)

Ответ на: комментарий от Werenter

«Да но нет».

Проблема есть, но появляется лишь на внешних бинарниках, не из пакетов конкретного дистрибьютива.

Я ловил это на коммерческом софте (который собирают на максимально старом glibc ради обратной совместимости со старым же RHEL) на SkypeForLinux, на средах разработки (например на базе eclipse).

Но так как в Никоси нет поддержки чужих бинарников совсем то все это там и не актуально.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Ну в обычных дистрах такое решается просто переменными окружения и компиляцией старой либц. А что в никсоси - не знаю. Им бы нужно что-то придумать для работы бинарников из интернета, и будет щчастье.

Werenter ★★★
()
Ответ на: комментарий от Werenter

и компиляцией старой либц

Скорее всего в Никоси вообще нет возможности чего-нибудь скомпилировать без развертывания отдельной внешней инфраструктуры ментейнера. Судя по описанному выше.

alex0x08 ★★★
()
Ответ на: комментарий от Werenter

libc то как раз подойдёт любая не слишком древняя

Да ведь обычно в этом и затык, что нужна слишком древняя. Или наоборот, у тебя в дистре слишком древняя. Но вообще принято всегда пересобирать софт при обновлении зависимостей. Именно на этом гента стоит. Сабж как я понимаю тоже, только нафига юзеру много версий библиотек одновременно, пока не вкурю. Чтобы жесткие диски не пустовали?

bread
()
Ответ на: комментарий от bread

Чтобы жесткие диски не пустовали?

Для такого выбор линукса в качестве ОС в принципе сомнительный, тут или винду с принципом «всё своё тащу с собой», либо какой-нибудь флетпак, где то же самое.

Но вообще принято всегда пересобирать софт при обновлении зависимостей

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

Werenter ★★★
()
Последнее исправление: Werenter (всего исправлений: 1)
Ответ на: комментарий от bread

Но вообще принято всегда пересобирать софт при обновлении зависимостей

Сам я впрочем так не делаю. Ставлю в слаку что хочу, авось как-то обойдется. Но так-то можно поиметь приключений даже при минорных апдейтах.

bread
()
Ответ на: комментарий от bread

Но так-то можно поиметь приключений даже при минорных апдейтах.

В основном это какой-нибудь буст будет(который вообще линковать динамически не стоит), подавляющее большинство либ пересборки не требуют.

Werenter ★★★
()
Ответ на: комментарий от bread

В релизных обновляют пачками, логично что там всё равно всё пересобирают. Поэтому проблемы можно считать нет - в роллингах обновляют постоянно, особо не заботясь о зависимостях(запускается и ладно), а в релизных пачкой всю систему(соответсвенно обновятся и зависимости, и прикладной софт).

Werenter ★★★
()
Ответ на: комментарий от alex0x08

Это решения IBM/SAP/Oracle и прочих больших вендоров, поставляются они в виде бинарного инсталлятора, с бинарными же библиотеками. Чаще всего даже инсталляторы публично не доступны.

Для таких штук всё равно нужен особый сертифицированный дистрибутив для которого есть поддержка этим софтом. Тем кому он позарез нужен страдают в любом случае, ещё и денег отваливают за свои страдания

Странно что за столько лет никто в Никоси не пробовал дружить такой коммерческий софт.

Всё там дружится, тот же стим отлично работает. Но он ставится из nixpkgs, да

Tsukasa
()
Ответ на: комментарий от alex0x08

Но так как в Никоси нет поддержки чужих бинарников совсем то все это там и не актуально.

Она есть, но только как часть системы, а не «скачал@запустил»

Tsukasa
()
Ответ на: комментарий от Tsukasa

То есть я просто прописываю это в конфиге и оно скачивает мне варю с сервера vnware и устанавливает?

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от alex0x08

Скорее всего в Никоси вообще нет возможности чего-нибудь скомпилировать без развертывания отдельной внешней инфраструктуры ментейнера.

Да, нужно установить аж целый nix (на NixOS он уже есть) и запустить аж одну команду

Tsukasa
()
Ответ на: комментарий от Tsukasa

Лично мне qemu достаточно

Мне искренне неинтересно, чего вам достаточно. Вопрос был про варю, которая проприетарь. Вя хотите сказать, что если я пропишу строчку в конфиге, то у меня всё чудесным образом заработает?

utanho ★★★★★
() автор топика
Ответ на: комментарий от Tsukasa

Вообще-то такие штуки запрещены:

  src = fetchurl {
    url = "https://download3.vmware.com/software/WKST-1700-LX/VMware-Workstation-Full-${version}-${build}.x86_64.bundle";
    sha256 = "sha256-kBTocGb1tg5i+dvWmOaPfPUHxrWcX8/obeKqRGR+mRA=";
  };

Те нельзя автоматически скачивать бинарный инсталлятор без подтверждения лицензии на сайте. Вендоры банят за такое.

Пару раз сработает с одного IP а дальше будет бан.

Еще VMWare умеет качать себе обновления, в том числе для модуля ядра. Очевидно что в случае Никоси это все работать не будет.

alex0x08 ★★★
()

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

Примерно оно так и есть. Главшая фишка их философии заключается в том, что можно использовать различное окружение для каждой серии зависимостей. Ведъ известная беда этого Linux, когда для сборки программы нужны специальные версии библиотек, которые через небольшой промежуток времени, иногда уже практически нельзя найти нигде. Но я думаю, что главной проблемой NIXOS заключается в том, что в нем нет нового универсального инструмента для управления окружениями зависимостей. Я ожидал увидеть, нечто похожее на менеджер пакетов при apt-get, только гибкого управления, cтарыми ENV в одном семантическом реальном пространстве, позволяющим на «лету» собирать и запускать код любой давности в отдельных контейнерах. Да, там присутствует данная возможность, но это извращенная форма садизма с отдельной логикой, ее, разумеется можно использовать, но сколько нужно убить на это время... полностью переучивая себя.

nager
()
Ответ на: комментарий от alex0x08

Те нельзя автоматически скачивать бинарный инсталлятор без подтверждения лицензии на сайте. Вендоры банят за такое.

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

Очевидно что в случае Никоси это все работать не будет.

И не должно, иначе какой смысл?

Tsukasa
()
Ответ на: комментарий от Tsukasa

иначе какой смысл?

Отпадает целый класс использования под названием «преднастроенная виртуалка для демонстрации», что используют наверное все крупные вендоры вообще - вам дают готовую виртуалку с развернутым и настроенным коммерческим софтом.

Понимаю что вам это «неблизко по духу», но жизнь она вот такая.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Отпадает целый класс использования под названием «преднастроенная виртуалка для демонстрации», что используют наверное все крупные вендоры вообще - вам дают готовую виртуалку с развернутым и настроенным коммерческим софтом

Каким боком автоматическое самообновление софта виртуализации имеет отношение к «преднастроенная виртуалка для демонстрации»?

Tsukasa
()
Ответ на: комментарий от Tsukasa

Понятия не имею и знать не хочу, но видимо на этом участие в споре стоит заканчивать. Думаю и так всем кому было надо поняли и что такое Никсось и какие у нее ограничения.

Для моей реальной работы она точно неприменима, а для удовольствий существуют женщины.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Понятия не имею и знать не хочу, но видимо на этом участие в споре стоит заканчивать. Думаю и так всем кому было надо поняли и что такое Никсось и какие у нее ограничения.

Чтобы действительно что-то понять, нужно этим основательно попользоваться. Просто читая что-то про NixOS невозможно понять всей сути и преимуществ которые даёт эта система, то и дело всплывают «снапшоты», «слои» и прочие заблуждения. Я тоже думал что ну точно что-то не получится сделать в NixOS, но каждый раз оказывалось что это не так. Более того, те вещи которые я бы ни за что не стал бы делать в условном дебиане, в NixOS я знаю что могу слепить любую безумную идею и сделать к ней удобненький интерфейс, при этом оно не будет ощущаться как дикие костыли

Tsukasa
()
Ответ на: комментарий от Tsukasa

Не пробовал, но если есть, значит должно

И не должно, иначе какой смысл?

Это всё про варю, если что.

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от Tsukasa

Для неумеющих читать уточню - вмваря сама себя обновить не сможет, обновления только через nix

Сильно сомневаюсь, что она сможет себя установить. А обновление - её штатная возможность.

utanho ★★★★★
() автор топика
Ответ на: комментарий от alex0x08

Я вот много лет был «архитектором ПО», те моей прямой должностной обязанностью было проектирование сложных ИТ-систем

Сделал мой вечер, ржать буду пока не усну, спасибо!

kardapoltsev ★★★★★
()
Ответ на: комментарий от utanho

Снапшоты

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

Так же возможно в ретроперспективе вычислить из чего конкретная сборка была получена (до коммитов).

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

dvetutnev
()
12 октября 2023 г.