LINUX.ORG.RU

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

 , ,


0

3

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

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

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

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

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

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

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

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

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

★★★★★

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

За «реальным опытом» сходи поищи в своём любимом поисковике - компаний которые используют nixos предостаточно. Многие из них с радостью делятся этим самым опытом.

init_6 ★★★★★
()
Ответ на: комментарий от shell-script

поддерживать, например, изменения в файлике, который я положу в /etc/sysctl.d/ при раскатке проще, чем поддерживать описание этого файла на языком nix.

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

а) нет особой разницы, между

(service mpd-service-type
              (mpd-configuration
               (user "ugoday")
	       (group "users")
	       (music-directory "/var/lib/mpd/music")
	       (playlist-directory "/var/lib/mpd/playlists")
	       (db-file "/var/lib/mpd/database")
	       (state-file "/var/lib/mpd/state")
	       (sticker-file "/var/lib/mpd/sticker.sql")))

в секции описания сервисов и теми же самыми параметрами в /etc/mpd.conf

б) проще, когда всё в одном месте лежит и сразу видно, нежели если нужно ту же информацию раскидать по файловому древу.

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

А не опираться на тьюринг-полный язык. Когда такое нужно - это показатель недоработанности модели.

да, увы. долой тьюринг-полноту. но многие этого не поняли, а даже те, кто поняли, не всегда могут предложит вменяемую альтернативу во вменяемые сроки

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

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

А так у меня конфиги(шаблоны конфигов) тоже лежат в одном месте. В отдельном Гите, откуда их забирает ansible и раскладывает по фс, внося изменения по мере необходимости.

shell-script ★★★★★
()
Ответ на: комментарий от init_6

За «реальным опытом» сходи поищи в своём любимом поисковике - компаний которые используют nixos предостаточно.

Не ожидал, что вы так примитивно сольетесь. Так красиво расписывали и по полкам раскладывали.

Расскажите хотя бы о домашнем применении. Как вайн установить и вбокс/варю. Как там вообще с хомячковым софтом. Кодеки и прочее

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

А что неудобного в uuid?

1. Очень трудно воспроизвести по памяти.

2. Как работать с устройством, а не разделом?

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

За «реальным опытом» сходи поищи в своём любимом поисковике - компаний которые используют nixos предостаточно. Многие из них с радостью делятся этим самым опытом.

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

Смешно получается, самый активный в соседнем треде про Rust тоже оказывается по работе им не занимается. Самый активный и опытный по Никоси оказывается днем вендовый сисадмин.

Видимо надо вопрос про практику сразу задавать в следующий раз.

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

Многие вообще об этом помалкивают, ибо конкурентное преимущество

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

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

Я здесь не для того чтоб оправдывать чьи-то ожидания

Назвался груздём - полезай в кузовок.

Вы так топили за никсось, а вас даже аватарка тематическая. А как до дела дошло - сдулись.

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

долой тьюринг-полноту.

«Да но нет» ( люблю этот ответ, что поделать).

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

Поэтому работает 90/10 - 90% в декларативном стиле и еще 10% в виде вставок кода для сложных случаев.

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

Это другая реализация той же самой идеи. Главное различие — в никсе используется свой язык для описания системы, а в Guix пользуется обычным Guile. Я считаю, использование полноценного ЯП вместо выдумывания велосипеда по месту, более мощным и общим подходом. А поскольку у меня уже есть базовое знание лиспов и настроеный emacs, то в моём случае выбор был очевиден.

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

Я вот что заметил, основная масса адептов или вообще отмалчивается или по-быстрому слилась. Отвечать на вопросы по существу, это не хвалебные мантры распевать.

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

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

А как до дела дошло - сдулись.

До какого «дела»? Вся тема сплошной флуд и я вообще удивлён что её всё ещё не снесли. Да видимо не тот уже ЛОР… Вопросов по сабжу я не вижу. Я вижу желающих поиметь некий «реальный опыт» при этом самим ничего не предпринимая и троллей.

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

Железа потому что нету. Был бы дома или на работе свободный кластер с серверами, все было бы сильно проще.

А так получается что опыт есть но ненужный.

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

Я вижу желающих поиметь некий «реальный опыт» при этом самим ничего не предпринимая и троллей.

Вас ясно и недвусмысленно спросили, имеете ли опыт реальной эксплуатации никсоси. Вы начали вилять и съезжать с темы, изображая непонимание. Русский резко перестал быть вам родным?

Расскажите хотя бы о домашнем применении. Как вайн установить и вбокс/варю. Как там вообще с хомячковым софтом. Кодеки и прочее

Тут тоже тишина. Вы вообще никсосью пользуетесь или вы нам тат излагали чистую теорию?

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

Думаю, простое упражнение позволит помочь проникнуться идеей Возмите врата князи ваша, и возмитеся врата вечная: и внидет Царь славы. Возьмите обычный дистрибутив и обновите его до следующей версии целиком или частично. Поймите, что вам не нравится и откатите на предыдущую версию. Повторите опыт с Guix. Сравните трудозатраты.

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

Вас ясно и недвусмысленно спросили, имеете ли опыт реальной эксплуатации никсоси.

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

Тут тоже тишина.

Пересказывать тебе базовые знания из wiki? Замечательно! Поспрашивай тут рядом возможно кто-то на это и пойдёт но я не из их числа. А на всё из самого первого сообщения вам уже несколько человек ответило.

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

Шатание версий - не мой случай. Очень редко приходилось откатывать пакеты, не говоря уже о системе.

Меня больше интересует стоимость владения. То есть простота использования

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

Я так понимаю, ест два варианта установки пакета: правка конфига (с этим разобрался) и ручная установка. Если ставлю руками, что происходит? Та же самая генерация системы с записью пакета в файл конфигурации или неи?

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

То есть простота использования

То, что знаешь использовать просто. А чего не знаешь — сложно.

P.S> Да, отдельно, Guix — дистрибутив от GNU, поэтому за поддержкой проблемного железа нужно обращаться к https://gitlab.com/nonguix/nonguix

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

Та же самая генерация системы с записью пакета в файл конфигурации или неи?

Программа установится точно так же, но файл конфигурации не изменится, т.к. он пишется человеческими руками. config.scm более не отображает 100% состояние системы.

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

Программа установится точно так же, но файл конфигурации не изменится, т.к. он пишется человеческими руками. config.scm более не отображает 100% состояние системы.

Это момент разве не делит всю концептуальность на ноль?

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

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

И конфиг в системе точно один или есть еще?

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

У меня есть локалхост который уважаемых господ конечно-же не устроит

Ну и зачем весь этот цирк был? Ты же сам сисадмин (хоть и на венде), прекрасно понимаешь и что и зачем я спрашивал.

И хватит уже превращать технический форум в «воровской малинник» : «ты сказал - я ответил», смешно выглядит. Понятно что ты никому ничего не должен и ничем не обязан, понятно что чего-то не знаешь - это нормально. Но прикидываться то зачем?

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

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

Почему используют FP, а не OOP? Вот когда ответишь, тогда мы поговорим о Nix. Он, конечно, говно, Guix явно был бы лучше, если бы не GNU и костыли и левые репы и… Вот только идея и попытка засчитаны.

Я же тебе в первом ответе закинул, что ты пока далёк, а вот оно как.

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

нет особой разницы, между в секции описания сервисов и теми же самыми параметрами в /etc/mpd.conf

Вообще-то есть один толстый момент. В интернете и в документации ты узнаешь, как настраивать /etc/mpd.conf, но вряд ли /etc/nix.сonf. А дополнительный перевод — это время.

Aceler ★★★★★
()

Смысл никсоси в нестандартном пердолинге с налетом илитарности. Идея хорошая, реализация на троечку. Приходится обмазываться костылями типа nixGL, steam-run, fakeElf итд

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

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

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

тьюринг-полнота вовсе не обязательная характеристика «нормального кода».

Обязательная.

В моем случае речь про разницу между чем-то декларативным вроде SQL, JSON, Yaml или XML/XSLT и полноценным языком вроде C/C++/Java,Python и так далее.

90/10 работает так: основа это например XML документ, в котором есть вставки кода на одном из полноценных языков. Либо ссылки на такой скрипт, лежащий снаружи.

Ярчайший пример: Apache Maven и скрипты для Webpack:

"scripts": {
  "build": "webpack --config prod.config.js"
}

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

Ну нет, это малореально и технически и практически. Преставь реализацию циклов в нотации XML например.

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

Я же тебе в первом ответе закинул, что ты пока далёк, а вот оно как

Пока я вижу лишь набигание нетакусиков. Один инит6 что-то более-менее по делу говорил, остальные только щеки надувают.

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

Ну нет, это малореально и технически и практически. Преставь реализацию циклов в нотации XML например.

Легко могу представить циклы в yaml, пользуюсь каждый день. Чем XML хуже?

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

Да не. Идея nix прекрасна. Один раз описать всю систему и далее вне зависимости от фаз Луны и положения Юпитера в Козероге иметь возможность это дело получить. Просто в реальных условиях сопровождение становится очень уж трудоёмким.

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

shell-script ★★★★★
()