Представлен выпуск дистрибутива NixOS 19.09, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашнюю директорию), возможна одновременная установка нескольких версий одной программы. Размер полного установочного образа с KDE - 1.3 Гб, сокращённого консольного варианта - 560 Мб...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=51644
"Дистрибутив, основанный на пакетном менеджере" - ну, такое.. Этого маловато для Дистрибутива с большой буквы Д.Кстати в GuixSD тоже можно установить Nix, если хочется быстрого конверта пакетов* Nix -> Guix (для никса их побольше будет), но я пока ниасилил.
* - точнее, описаний пакетов, типа ебилдов.
> Кстати в GuixSD тоже можно установить Nix, если хочется быстрого конверта пакетов*
> Nix -> Guix (для никса их побольше будет), но я пока
> ниасилил.
> * - точнее, описаний пакетов, типа ебилдов.А можно подробнее?
> "Дистрибутив, основанный на пакетном менеджере" - ну, такое.. Этого маловатоТак надо было цитировать полнее, пройдя по ссылке. :)
Nix построен на идее, что чистые функции позволяют избежать ошибок, связанных с хранением состояния.
Проще говоря, по дизайну должны быть исключены ситуации "я установил пакеты a, b и c - у меня работает, а сосед наоборот c, b и a - у него не работает". Ну, или "я сделал urpmi --auto-orphans и моя любимая Розалинукс перестала грузиться".
> Этого маловато для Дистрибутива с большой буквы Д.Вообще-то, именно *этого* более чем достаточно для Дистрибутива ("чтоб покончить со всеми дистрибутивами").
Идея "дистрибутивов" зашла в тупик.
> Вообще-то, именно *этого* более чем достаточно для Дистрибутива ("чтоб покончить со всемиПридумываете всякую чушь, ...
> дистрибутивами").
> Идея "дистрибутивов" зашла в тупик....чушь и получается. Crap in, https://ru.wikipedia.org/wiki/GIGO crap out.
Никогда не удивлялись собственным выводам?...
>> Вообще-то, именно *этого* более чем достаточно для Дистрибутива ("чтоб покончить со всеми
> Придумываете всякую чушь, ...
>> дистрибутивами").Охохо. Это была историческая фраза с иронической изнанкой...
>> Идея "дистрибутивов" зашла в тупик.
> Никогда не удивлялись собственным выводам?...Вот ваши шутки, друг мой, без бутылки не оценить, бывает.
А мои выводы основаны на рассуждении, идущем от известных проблем дистрибутивов. Никс/гикс (крекс-фекс-пекс) по идее позволяет покончить с борьбой за зависимости при построении бинарных раздач и безальтернативностью конфигураций в них, а также получать модульные ПО-установки.
Реально у меня получается жутчайшая трата памяти на дисках. Но скорее всего, я просто не разобрался, как экономно делать мелкие доустановки.
Но сама идея в отношении бинарных установок здравая, -- собственно, самая здравая из всего, что видал за последние лет -адцать.
> "Дистрибутив, основанный на пакетном менеджере" - ну, такое.. Этого маловато для Дистрибутива
> с большой буквы Д.
> Кстати в GuixSD тоже можно установить Nix, если хочется быстрого конверта пакетов*У Вас каша в голове.
https://lists.gnu.org/archive/html/guix-devel/2019-09/msg002...
http://git.savannah.gnu.org/cgit/guix.git/commit/?id=348d8e4...Да, "они сами" наобманули наивных читателей своего мануала.
Беда, панимаишь, писатели того мануала были такие же наивыные и голубоглазые... Думали, что все поймут написанное правильно, однозначно и проч.> Nix -> Guix (для никса их побольше будет), но я пока
> ниасилил.Заметно.
> Заметно.А я и не разбирался с этой фичой, она мне (пока) не нужна. Определения нужных пакетов я пишу сам.
> У Вас каша в голове.
Так бывает, если полгода не открывать документацию =) Опять же, не было нужды.
>> Заметно.
> А я и не разбирался с этой фичой, она мне (пока) не
> нужна.Под кашей --
>> У Вас каша в голове.
-- я имел в виду, что вторая половина обозначенного выше
>>>>>в GuixSD тоже можно установить Nix, если хочется быстрого конверта пакетов
== чистая и абстрактная фантазия. Вы её транслируете, но не знаете, как оно работает / могло бы работать.
Примерно, как и авторы [мануала] Guix-а, к сожалению.
То есть они-то (не все! полтора примерно из них) _знают_, как то, что стёрли в том коммите из мануала работает и как это _правильно_ интерпретировать. А вот у "широкой публики" такие эскапады про совместимость рождают весьма причудливых химер (каша в голове - выше).Магия она такая.
Обсудим это в следующей новости про Guix, а не NixOS.
А то ведь модераторы могут решить, что это оффтопик, и нахрен все поудалять.
> "Дистрибутив, основанный на пакетном менеджере" - ну, такое.. Этого маловато для Дистрибутива
> с большой буквы Д.Это не так. http://nixos.org/~eelco/pubs/phd-thesis.pdf
И в данном случае, вполне себе с большой "Д".В разрезе Мировой Истории, науки инфлорматики и проч.
Другое дело, чего они там у себя в НиксОС-ах и проч. девопсиках понастроили с ... 2006-го?...
...и почему, понадобился камрад Кортез, в 2012-2014, раскрутивший ... эээ... спин-офф в GNU, чтобы NixOS опять появился в новостях [опенета]?
Так вот, именно про "спин-офф", для сравнения:~/ > guix package -A systemd
~/ > emacs-systemd-mode 1.6 out gnu/packages/emacs-xyz.scm:18568:2
~/ >- понятно? Отсюда и речь про букавку "Д" ;)
> ~/ > guix package -A systemd
> - понятно? Отсюда и речь про букавку "Д" ;)
> systemd
> "Д"Ну, ты, тонкий. :D Нельзя ж так... резко.
Вот это кстати вообще не понятно. Они используют systemd и не хотят от него отказываться. При этом сервисы рулятся из конфига и что невилирует преимущества простого ini, и в дистрибутиве используются костыли, чтобы это systemd работало. Казалось бы OpenRC - серебряная пуля: быстрее грузится, не требует костылей, однако разработчики так не хотят.
Слишком красногла3ить надо. С наскока ниасилл, глубоко копаться не охота (читай, нет инсталятора простого и некоторые программы (qt) без адовых костылей не взлетают). Но идея мне нравится. Жаль вендоры в другую сторону ведут нашего пингвина.
Ну, оно не для всех, точно - например, у гентушников вопросов будет раза в 2 меньше, чем у юзеров rpm/deb-based систем.> Жаль вендоры в другую сторону ведут нашего пингвина.
Вендоры типа красношляпых ведут его в адЪ!
больше всего база деб дистрибутивов. рпм дистры с уходом мандривы сильно сократились до оч небольшого числа. и все они тянутся от редхата/айбм. да и раньше основанных на дебиане дистров было больше.
Т.е. крому Гентушников и пользователей RPM / DEB никого нет?
> Т.е. крому Гентушников и пользователей RPM / DEB никого нет?Академики по функциональным камьпиютер-сайнсам и ядрёным физикам сюда не захаживают.
Ну, не знаю. Вы настоящее красногла3ие-то видели? Я скрасногла3ил вменяемую конфигурацию за один день. Потом просто по мере надобности добавляешь пакеты в конфиг и "обновляешься". Ничего там сложного нет, благо документация достойная. А уж на инсталлятор линуксоиду пенять вообще не пристало. Ну, потратишь на 10 минут больше времени, но это ж один раз делается. Понятно, что дистр не для домохозяек, но не сложнее Арча, как мне кажется.
Не нужно добавлять пакеты в конфиг и "обновляться", им можно пользоваться как обычным дистрибутивом с поправкой на то что настраивается он через одно место на содержимое которого выполняются самописные скрипты на башне в таком количестве что уж лучше сустемДЭ.
К сведению, оно основано на systemd и плотно использует его фичи, значительная часть которых доступна для кручения из конфига ОС напрямую.
https://nixos.org/nixos/options.html#systemd
Не более чем убунта или арч. Можешь даже sysvinit поставить, в nixpkgs он есть. Правда, для того, чтоб система им загрузилась, тебе придется самому писать все портянки для сервисов, но тебе ведь нетрудно?
> Правда, для того, чтоб система им загрузилась,
> тебе придется самому писать все портянки для сервисовинтересно, а куда внезапно старые портянки делись?
sysV же работал задолго до, там всё должно быть вылизано.
Да конфиг я бы осилил, но когда начал гуглить про установку QT-creator - то забил.
> когда начал гуглить про установку QT-creator - то забил.Э? Достаточно выполнить «nix-env -iA nixos.qtcreator» от пользователя, не?
Не знаете, нет ли где достойной видеоинструкции? Наглядно бы посмотреть процесс установки, а то с мануалом, боюсь, подводных камней нахватаю...
Без понятния. Однако, вы зря волнуетесь. Если будете ставить в виртуалку, ничего не сломаете. Установка там не сложнее, чем у Арча. Если вы более-менее опытный линуксоид, то вообще раз плюнуть.
https://nixos.org/nixos/manual/index.html#sec-installationТолько что глянул сайт и обнаружил, что есть графический инсталлятор:
https://nixos.org/nixos/download.htmlНе знал, что у них есть. Я-то ставил по старинке, с минимального образа.
Ан нет, там есть графическая оболочка, но нет графического инсталлятора. Ну что ж, придётся вам читать мануал. Впрочем, возни там немного: создать раздел, фс, смонтировать, скопировать конфиг, запустить инсталлятор, задать пароль рута.
Спасибо! Попробую как-нибудь на виртуальной машине поставить. Посмотрим, что из этого выйдет.
NixOS придумали Боги!
Весьма неторопливые боги.
> Весьма неторопливые боги.У них там на Олимпе, говорят, другие масштабы времени. Не суди по себе, смер... тный.
А в NixOS сколько версий glibc может сосуществовать? Если более одной, как разруливают плагины NSS?
Плагины разрулить не проблема, в отличие от ld-linux.so.
> в отличие от ld-linux.soС ELF interpreter никаких сложностей нет:
patchelf --set-interpreter myprog /a/b/c/lib64/ld-linux-x86-64.so.2
https://github.com/NixOS/patchelfА для каждого свой /etc/nsswitch.conf устроить гораздо сложнее..
У каждой свои. Это как докер, только без докера.
> А в NixOS сколько версий glibc может сосуществовать? Если более одной, как
> разруливают плагины NSS?В одном релизе -- собирается только одна, как и везде. Очевидно же.
Техгически "сосуществовать" может несколько, но все проблемы -- только твои. Нужно "просто" не хагружать в адресное пространство одного/каждого процесса несовместимые бинари/библиотеки/модули.
Справишься?
Так это будет уже неавтоматическое слотирование. Писать обёртки, которые будут разруливать работу с разными версиями общих библиотек. Как раз поэтому в генту слоты только вручную задаются. Мало поставить рядом два пакета, надо ещё заставить их не мешать друг другу.Самый подлый пример - это ядро. Одному пакету нужна одна версия ядра, другому - другая версия. И что твой волшебны
> А в NixOS сколько версий glibc может сосуществовать?Сколько угодно. Можно даже в довесок поставить ещё musl и uclibc — каждая программа будет использовать ту библиотеку, с которой слинкована.
[root@nixos:~]# ldd $(which $SHELL) | grep libc
libdl.so.2 => /nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27/lib/libdl.so.2 (0x00007f5a83862000)
libc.so.6 => /nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27/lib/libc.so.6 (0x00007f5a836ac000)
/nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27/lib/ld-linux-x86-64.so.2 => /nix/store/681354n3k44r8z90m35hm8945vsp95h1-glibc-2.27/lib64/ld-linux-x86-64.so.2 (0x00007f5a83936000)> как разруливают плагины NSS?
Через nscd, который включён в NixOS по умолчанию.
А как nscd это делает?
Я правильно понял, что patchelf на этапе сборки прописывает в бинарник нужный ld, а уже нужный ld возьмет нужную libc?
Насколько это юзабельно, если ставить с minimal образа до крысы? По сравнению с хубунтой.
>Прекращена поддержка Python 2А как же TorGhost (прозрачное Tor проксирование) запускать?
>>Прекращена поддержка Python 2
> А как же TorGhost (прозрачное Tor проксирование) запускать?Как обычно. Собрать/притащить из сторонних реп, например.
К чему такие вопросы?
>>>Прекращена поддержка Python 2
>> А как же TorGhost (прозрачное Tor проксирование) запускать?
> Как обычно. Собрать/притащить из сторонних реп, например....или из предыдущего релиза, со всеми зависимостями (и glibc в т.ч.)...
"докер без докера" и проч. первые шаги к ростовым резиновым изделиям....или портировать на python3. Доброволец?!
> К чему такие вопросы?
Баг с локализацией https://github.com/NixOS/nixpkgs/issues/37741 так и не пофиксили
Так ты пулреквест не прислал, вот и не пофиксили.
А сколько они мне за пулреквест заплатят?
А то как пожертвования и на Patrion-е собирать так они первые, а как баги чинить так "Шлити пул риквестыыыы"
А сколько ты им за дистрибутив заплатишь?
Кто пользовался, скажите пожалуйста:
-сколько занимает система, т.е. сколько весит после установки
сам / и сам этот /nix/store/ (который в хомяке), куда ставятся все эти хэшпакеты, голый, сам по себе?
(Если например xfce голый поставить и браузер, сколько это займёт?)-насколько толсты там сами пакеты?
Много просите :) Лучше документацию почитайте, там всё равно яснее написано, чем здешний Рабинович напоёт. Да такие же примерно пакеты, и система по размеру будет примерно такой же, как и Убунта с теми же пакетами. Никакой магии там нет. Только нужно учитывать, что все когда-либо поставленные версии пакетов остаются в системе (в /nix/store, только причём здесь хомяк, если это в корне ФС), даже если не используются прямо сейчас, поэтому дистр потихоньку толстеет после обновлений. Впрочем, там есть команда для удаления неиспользуемых пакетов, так что это даже не проблема, а мелкая деталь.
Можно в конфиге включить nix.gc.automatic = true.
Уж лучше вам смотреть на арч, ну или воид (шрифты можно взять основные из венды, и не качать монстр пакет который они сделали из гугл шрифтов).
У меня на домашней машине с вагоном софта /nix/store занимает ~20 ГБ. На впске с nginx и почтовиком - 1.7 ГБ. Это с тремя последними поколениями системы, если их удалить, то будет ещё меньше.
Благодарю за ответ, если можно разъясните пожалуйста!
>На впске с nginx и почтовиком - 1.7 ГБ.
>Это с тремя последними поколениями системы,
>если их удалить, то будет ещё меньше.Про три поколения системы, правильно ли я понимаю, что это все системные пакеты, и у вас что-то типа трёх срезов, чтобы была возможность откатится?
>У меня на домашней машине с вагоном софта /nix/store занимает ~20 ГБ.К сожалению (в том смысле, что скорее всего у меня NixOS не поместится), мой вагон софта умещается на 10 Гб партицию, корень со всем, кроме хомяка, и там 5.5, максимум 7 Гб занимает в БИНАРНЫХ дистрибутивах.
Но если у NixOS пакеты весят как убунтовский snap с его зависимостями, а если сами пакеты компактные (гораздо наглядней было бы три-четыре привести для примера, например firefox, audacious, qbittorrent), и это у вас гора разных версий виртуалбоксов, либреофиссов, вайнов и браузеров с потрохами, да ещё контейнеры, это другое дело.
воспроизводимые сборки пакетов у них уже есть?
> воспроизводимые сборки пакетов у них уже есть?Нет, только
"a reproducible build environment for the package"
--https://nixos.wiki/index.php?search=reproducible&go=Go
, а то, чего Вы там поминаете лишь иногда, изредка, после трудной и тяжёлой работы и борьбы с непреодолимыми обстоятельствами.◦ Milestone to be reached: making NixOS minimal ISO (and all dependencies) reproducible.
--https://duckduckgo.com/?q=nixos+site:reproducible-builds.org...Вы же понимаете разницу? Вы же понимаете, о чём говорите??
> ◦ Milestone to be reached: making NixOS minimal ISO (and all dependencies)
> reproducible.
> --https://duckduckgo.com/?q=nixos+site:reproducible-builds.org...спасибо за сайтик статистики
для NixOs
https://r13y.com/
1304 out of 1321 (98.71%) paths in the minimal installation image are reproducible!
Со стороны дистрибутива всё необходимое для воспроизводимости делается: каждый пакет собирается в песочнице, неявные зависимости исключены, все зависимости указываются однозначно. Проблема только с самими пакетами, которые при сборке делают невоспроизводимые вещи. Например, используют генератор случайных чисел. Или добавляют таймстемп сборки в результат. Питон до недавнего времени добавлял таймстемпы в файлы с байткодом, например. И ещё много причин. Для воспроизводимой сборки приходится эти пакеты патчить и объяснять их авторам, что так делать нехорошо. Это самое сложное.Алсо https://r13y.com - минимальный установочный образ ISO для NixOS сейчас воспроизводится на 98.71%. Из оставшихся семнадцати пакетов у половины проблема с таймстемпами, с другой половиной надо уже разбираться.
слышал, там доступ никсопакетов к сети хотят прибить к системд. Кто нибудь в курсе подробностей?Просто, на данный момент, nixpkgs можно без проблем установить что на девуан, что на войд
?С каким-нибудь флатпаком не перепутал?
возможно речь шла про это?
https://github.com/NixOS/nixpkgs/issues/69414
Wayland в нем так и не работает? Судя по новости изменений в этом направлении нет. Как и нормальной работы ОС для разработчиков. Все IDE что я пробовал, коммерческие и опенсорц из репозитория, не работают в сборку проекта от слова совсем! Я даже от разочарования установил VS Code, прочёл все хаки и рекомендации по специфике работы оного с дистрибутивом, но и там не получается толком работать! Оно же все глючит в основном из-за оригинальной системы расположения бинарей.Я понимаю что укуренные опятами авторы думали об своей уникальности, но другим то как пользоваться?
Для Вас делают Майкрософт Линакс. А это ребята пробуют идеи. Похоже, идеи работоспочобны. Что есть отл.P.S. Весь конфиг в один файл - забавно. Вероятн, разбираться в нём долго.
Есть разница между "установил и пользуешься" и "установил и трахаешься"
>Wayland в нем так и не работаетА он хоть где-нибудь полноценно работает?
Да в убунте, федоре.
> Да в убунте, федоре.О, человек из будущего или даже из параллельной вселенной
Как у вас там, в вашей реальности, кроме ПОЛНОЦЕННО работающего вяленого что ещё занятного есть? RMS'а не пытались сместить, всё так же у руля? Или ещё хуже и фемки и альтернативно одарённые победили? Может в мск уже радужные парады проводят, и чебурнета нет? Расскажите, как оно там у вас?!
А другие достоиинства есть у дистрибутива, кроме пакетного менджера, которому надо городить отдельный дистрибутив городить?
Упс, fix: "в пакете карп в пакете" получился
> А другие достоиинства есть у дистрибутива, кроме пакетного менджера, которому надо городить
> отдельный дистрибутивНет, конечно. Для Вас нет. Не напрягайтесь так стильно.
А для меня?
А что подразумевает дистрибутив кроме пакетного менеджера и инсталятора? Ну, можно ещё свою систему инициализации запилить. Как сделали авторы GuixSD, например.Сейчас многие просто обои меняют и уже называют дистрибутивом. NixOS же напротив на сегодняшний день самый оригинальный и непохожий на другие дистрибутивы.
> А что подразумевает дистрибутив кроме пакетного менеджера и инсталятора?Вот вы все спрашиваете, а ответа никто не знает.
Его не знает даже википедия (им надо, чтоб и винда была дистрибутивом --- поэтому там такоооооое написано....)Обычно из не очень чётко артикултированных требований к "продукту" вытекает некое сочетание инсталятора, пакетов и рекозитария. Причём взаимоувязанное сочетание (~интеграция), в случае _разных_ дистрибутивов дающее разные фуккции/возможности/"плюсы".
А ещё к дистрибутиву-репу прицепом идёт дистрибутив-сообщество -- со взаимодействиями белковых человеков, изменениями во Времени и проч. вообще непонятной Ф. (обновления, совместимость, фиксы, стабильность, поддержка, .... $кое-где-у-нас-порой[ карпаративный апстрим, продажи] .... итдтп).
Не очень общо? Вот, и каждое упоминание слова "дистрибутив" -- приводит к 1000-и-1 _разному_ его _не_пониманию среди читателей (и авторов, теж).
> Ну, можно ещё свою систему инициализации запилить. Как сделали авторы GuixSD, например.This! Я выше намекал именно на это, но меня предпочли закидать ссаными тряпками))
А когда нет своего инита, всегда может случиться systemd..
> А когда нет [U]своей позиции, принципов[/U], всегда может случиться systemd..Вот так. Онтопик -- про NixOS.
А я сравнивал, это не запрещено (но согласен, что уместнее будет в другой теме).
> А я сравнивал, это не запрещено (но согласен, что уместнее будет в
> другой теме).Да, брось. Ничего тут не запрещено... Почти.
(я про онтопики и проч -- не запрещаю что-то тебе, а [скажем] издеваюсь над модераторами)Guix - онтопик, как спин-офф сабжа и первый представитель нового-уникального _семейства_ дистрибутивов. Как Debian в теме про Ubuntu +-... [Или наоборот? я сам себя запутал, успех, асходимся.]
> Сейчас многие просто обои меняют и уже называют дистрибутивом. NixOS же напротив
> на сегодняшний день самый оригинальный и непохожий на другие дистрибутивы.Более того, в теории никсовый пакетным менеджер можно вкорячить в любой дистрибутив, вроде даже кто-то в дебиан впихивал, но как оно по факту работает, я не знаю.
> Например, в NixOS используется единый файл системной конфигурации (configuration.nix)О боже додумались, как я рад. Теперь ещё добавить бы единый формат файла настроек для проприетарщины, структурировать зависимости и описать их в отдельных переменных (с тем же расширением файла) и будет по удобству как виндовс (почти).
20 лет думали и таки додумали, теперь ещё 20 лет думать над структурированием и созданием стандарта гарантирующего единообразие и удобство в ОС.
> будет по удобству как виндовс (почти)Так виндус как раз неудобен. Там нельзя декларативно описать конфигом из чего должна состоять система (пакеты, настройки), и чтобы система делала всю админскую работу за тебя (удаляла или устанавливала пакеты, сервисы, настраивала ПО в соответствии с конфигом)