The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск дистрибутива NixOS 21.05, использующего пакетный менеджер Nix "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск дистрибутива NixOS 21.05, использующего пакетный менеджер Nix "  +/
Сообщение от opennews (??), 02-Июн-21, 21:56 
Представлен выпуск дистрибутива NixOS 21.05, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в  NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашний каталог), возможна одновременная установка нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа с KDE 1.4 ГБ, GNOME - 1.8 ГБ, сокращённого консольного варианта - 660 МБ...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55257

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. Скрыто модератором  –10 +/
Сообщение от Аноним (1), 02-Июн-21, 21:56 
Ответить | Правка | Наверх | Cообщить модератору

4. Скрыто модератором  +/
Сообщение от Аноним (4), 02-Июн-21, 22:06 
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (2), 02-Июн-21, 21:57 
>Добавлено 12985 пакетов, удалено 14109 пакетов, обновлено 16768 пакетов

Капитально они там всё меняют.


>сокращённого консольного варианта - 660 МБ.

Какой-то он здоровый для консольного.

Ответить | Правка | Наверх | Cообщить модератору

6. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  –1 +/
Сообщение от Аноним (6), 02-Июн-21, 23:06 
Для системы, у которой установленная версия будет занимать под терабайт, вполне нормально. У конкурентов для сравнения 1000 пакетов в пару гигов влезает в установленном виде (без некоторых огромных)
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +4 +/
Сообщение от scor (ok), 02-Июн-21, 23:09 
> Для системы, у которой установленная версия будет занимать под терабайт

Ну, это мягко говоря, не соответствует действительности.:)


Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +1 +/
Сообщение от Аноним (16), 03-Июн-21, 00:15 
Если не заниматься чисткой старых версий софта, то при обновлениях ось может и до терабайта вырасти. Nix вообще устроен так, что любой минимальный чих в зависимостях вызывает пересборку всего дочернего софта. Обновление bash'а, который используется как основное средство сборки, вызывает дублирование пакетов всего репозитория с новыми хэшами в именах.
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +1 +/
Сообщение от scor (ok), 03-Июн-21, 00:38 
> Если не заниматься чисткой старых версий софта, то при обновлениях ось может
> и до терабайта вырасти. Nix вообще устроен так

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

❯ df -h
Filesystem        Size  Used Avail Use% Mounted on
...
zroot/root/nixos  397G  129G  269G  33% /
...

Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +1 +/
Сообщение от scor (ok), 02-Июн-21, 23:07 
>>Добавлено 12985 пакетов, удалено 14109 пакетов, обновлено 16768 пакетов
> Капитально они там всё меняют.

Чёт даже хз, что это за цифры. По факту там всего коммитов за последние полгода:
❯ git log --since="6 month ago" --pretty=oneline --abbrev-commit | wc -l
25263

из них новый пакетов:
❯ git log --since="7 month ago" --pretty=oneline --abbrev-commit | grep 'init at' | wc -l
1878

Даже и не знаю, что они имелли сказать такой статистикой.

> Какой-то он здоровый для консольного.

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

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

15. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (16), 03-Июн-21, 00:07 
Предполагаю, что надо не по срезам master-ветки сравнивать, а смотреть разницу между ветками.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от scor (ok), 03-Июн-21, 15:59 
Возможно. Но у меня всё равно не получилось вывести похожие цифры. В общем, не зная алгоритма подсчёта, видимо сложно будет что-то с чем-то сравнивать.
Просто мне значения показались сильно странными. Но оставлю это на совести авторов анонса.:)
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  –4 +/
Сообщение от Аноним (5), 02-Июн-21, 22:56 
Systemd и двоичный кэш не нужны. Идея интересная, но всё портят эти два момента. Гуикс не альтернатива, т.к. там надо пердолиться с блобами + плохо документированный пастух вместо системы инициализации.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +1 +/
Сообщение от scor (ok), 02-Июн-21, 23:11 
> Systemd и двоичный кэш не нужны. Идея интересная, но всё портят эти
> два момента.

Кому как. Вот "+ 3,491 contributors" вполне подходит.:)

Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +4 +/
Сообщение от Аноним (12), 02-Июн-21, 23:38 
>> Systemd... не нужны
>> Плоходокументированный пастух вместо системы инициализации
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

18. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  –2 +/
Сообщение от Аноним (5), 03-Июн-21, 00:47 
А ты туповат, да? Очевидно, что нужен дистр с openrc/sysvinit, а не блоатварь и недокументированный велосипед.
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +5 +/
Сообщение от Аноним (27), 03-Июн-21, 10:19 
> А ты туповат, да? Очевидно, что нужен дистр с openrc/sysvinit, а не блоатварь и недокументированный велосипед.

Не подскажете, где на openrc/sysvinit можно найти такой же объем документации, как тут https://www.freedesktop.org/software/systemd/man/systemd.ind... ?

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (16), 04-Июн-21, 13:04 
Там такого объёма функционала нет чтобы был нужен такой объём документации.

Sysvinit — это средство обеспечения работы последовательных терминалов (в т.ч. виртуальных консолей) и переключения ранлевелов (включая ответственные за загрузку и завершение системы), всё. Его документация — man-страницы init(8) и inittab(5).
OpenRC — хелпер для запуска и остановки ассоциированных с ранлевелами сервисов, замена километровым портянкам шелл-скриптов типичной ОС на sysvinit.

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (16), 03-Июн-21, 00:03 
> Systemd не нужен

Можно прикрутить Nix поверх дистрибутива без systemd, Alpine Linux, например.
Это, правда, не позволит использовать фичи дистрибутива по управлению системой, а лишь сделает доступным запускаемый пользователем прикладной софт.
> двоичный кэш не нужен

Его никто не заставляет использовать.

Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

37. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (37), 04-Июн-21, 17:10 
>> Systemd не нужен
> Можно прикрутить Nix поверх дистрибутива без systemd, Alpine Linux, например.
> Это, правда, не позволит использовать фичи дистрибутива по управлению системой, а лишь
> сделает доступным запускаемый пользователем прикладной софт.

А правильно ли я понимаю, что это получается при таком варианте можно использовать всю мощь возможностей установки разных версий софта и всё также останется возможность рулить устанавливаемыми версиями по хэшам как это задумано в никсе?

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

Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (16), 06-Июн-21, 03:40 
Можно использовать всю мощь Nix и nixpkgs, но вся мощь NixOS будет недоступна.
https://nixos.org/manual/nix/stable/
https://nixos.org/manual/nixos/stable/

Что касается возможности жонглировать разными версиями софта, то тут есть некоторые ограничения. Установленный nix'ом софт делается доступным с помощью т.н. профилей, содержащих наборы симлинков. Профиль может содержать только одну версию конкретной софтины, иначе в нём будут конфликты. Пользователю (а также системе и каждому из контейнеров, но это к NixOS) выделается по одному профилю, каждый из которых может иметь несколько поколений (generations) и между ними перекатываться (nix-env rollback). Чтобы запустить софтину старой версии, нужно откатить весь профиль. Это можно обойти игрой с переменными окружения, но штатными утилитами такое не поддерживается.

Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (48), 07-Июн-21, 14:51 
>[оверквотинг удален]
> https://nixos.org/manual/nix/stable/
> https://nixos.org/manual/nixos/stable/
> Что касается возможности жонглировать разными версиями софта, то тут есть некоторые ограничения.
> Установленный nix'ом софт делается доступным с помощью т.н. профилей, содержащих наборы
> симлинков. Профиль может содержать только одну версию конкретной софтины, иначе в
> нём будут конфликты. Пользователю (а также системе и каждому из контейнеров,
> но это к NixOS) выделается по одному профилю, каждый из которых
> может иметь несколько поколений (generations) и между ними перекатываться (nix-env rollback).
> Чтобы запустить софтину старой версии, нужно откатить весь профиль. Это можно
> обойти игрой с переменными окружения, но штатными утилитами такое не поддерживается.

Это не очень весело, если так, потому как раньше в NixOS зазывали фразами типа: можно иметь несколько версий софта в одной системе, и никто не развеивал представления, что это не так всё просто и не на одном пользователе.

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


Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от scor (ok), 06-Июн-21, 20:42 
> А правильно ли я понимаю, что это получается при таком варианте можно
> использовать всю мощь возможностей установки разных версий софта и всё также
> останется возможность рулить устанавливаемыми версиями по хэшам как это задумано в
> никсе?

Правильно понимаешь. Nix можно использовать вне NixOS. Нужно иметь ввиду следующее:
1. всё дерево зависимостей будет вытянуто, вплоть до glibc; а это немало по объёму
2. не будет шаринга библиотек с системными; растраты по оперативке, хоть и не всегда большие
3. не все пакеты получится использовать "из коробки"; например, если что-то захочет конкретной версии API (i.e. nvidia-cuda), то придётся обеспечить "выравнивание" либо патчингом никсовых выражений, либо поменяв версии "хостовых" быблиотек/модулей

В остально всё работает как задумано. Что-то типа https://manpages.debian.org/unstable/nix-bin/nix-shell.1.en....

Т.е. процедура:
1. ставишь nix (curl -L https://nixos.org/nix/install | sh); перед установкой чекни, что там в install
2. активируешь через source в .bashrc
3. юзаешь nix-shell -p bla-bla (документашка достаточно подробная)


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

NixOS не совсем роллинг. Там точно такие же релизы, ветки, и секурити патчи с бэкпортами.

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

42. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (16), 07-Июн-21, 03:17 
> что там в install

Скачивание тарболла, распаковка и запуск из него ещё одного скрипта.

Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (47), 07-Июн-21, 14:45 
>> А правильно ли я понимаю, что это получается при таком варианте можно
>> использовать всю мощь возможностей установки разных версий софта и всё также
>> останется возможность рулить устанавливаемыми версиями по хэшам как это задумано в
>> никсе?
> Правильно понимаешь. Nix можно использовать вне NixOS. Нужно иметь ввиду следующее:
> 1. всё дерево зависимостей будет вытянуто, вплоть до glibc; а это немало
> по объёму

К подобному я готов.
> 2. не будет шаринга библиотек с системными;

Это понятно и логично, если всё так как я представляю и с этим тоже у меня нет проблем.
>растраты по оперативке, хоть и  не всегда большие

А вот тут интересует такой момент, насколько добавляется всякого висеть в фоне, если например юзаешь бзерософт из nix установленный например в стейбл дебиана, т.е. это что-то будет наподобие рантаймов снаповых или как? Или же софт закрыл и с ним потухло всё "окружение" все либы и зависимости выгрузились?! Как это работает?
> 3. не все пакеты получится использовать "из коробки"; например, если что-то захочет
> конкретной версии API (i.e. nvidia-cuda), то придётся обеспечить "выравнивание" либо патчингом
> никсовых выражений, либо поменяв версии "хостовых" быблиотек/модулей

Я тоже к подобному готов, если это примерно так, как я представляю себе.
> В остально всё работает как задумано. Что-то типа https://manpages.debian.org/unstable/nix-bin/nix-shell.1.en....
> Т.е. процедура:
> 1. ставишь nix (curl -L https://nixos.org/nix/install | sh); перед установкой чекни,
> что там в install
> 2. активируешь через source в .bashrc
> 3. юзаешь nix-shell -p bla-bla (документашка достаточно подробная)
>> Я к тому чтобы например сделать основу другой неролинг дистрибутив, а жонглировать
>> разными версиями только юзерософта, насколько это рабочий вариант?
> NixOS не совсем роллинг. Там точно такие же релизы, ветки, и секурити
> патчи с бэкпортами.

это я тоже примерно представляю, но для меня это всё-же ролинг, хоть и не чисто как рачик.

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

49. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от scor (ok), 07-Июн-21, 15:21 
>>растраты по оперативке, хоть и  не всегда большие
> Или же
> софт закрыл и с ним потухло всё "окружение" все либы и
> зависимости выгрузились?! Как это работает?

Да. Я имел ввиду, что динамические библиотеки будут свои. Ну например:
❯ ldd /nix/store/ws1z8as87vfh1f9a7n1vinpzdv2ac2i5-firefox-unwrapped-88.0.1/lib/firefox/firefox | awk '{print $1}'
linux-vdso.so.1
/nix/store/5aq52sjy6lvjymwjqcjplsx4c7fdcd35-pipewire-0.3.7-lib/lib/libpipewire-0.3.so
/nix/store/4ajl5vrsji2yjc2mf7xy0w296rixgbac-libXScrnSaver-1.2.3/lib/libXss.so
libpthread.so.0
libdl.so.2
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
/nix/store/0c7c96gikmzv87i7lv3vq5s1cmfjd6zf-glibc-2.31-74/lib/ld-linux-x86-64.so.2
libX11.so.6
libXext.so.6
libxcb.so.1
libXau.so.6
libXdmcp.so.6

Вот это вот всё будет загружено дополнительно в оперативку. Другие никсовые пакеты будут юзать уже загруженные библиотеки. Наверное можно извартиться и через LD_LIBRARY_PATH попытаться заюзать и хостовые, но результат не гарантирован и хз зачем такое вообще делать. Строить такого Франкенштайна чтобы что?:) В прод всё равно такое не потащишь, а на воркстейшене "и так пойдёт".:)
Опять же, я такие смеси не практикую. Просто знаю, что вариант рабочий, т.к. делал сборки бинарников из никсовых выражений джекнсинсом, который крутился под Дебианом. И у ребят под МакОсью nix-shell нормально работал, как альтернатива brew.
На моих локалхостах везде давно NixOS и этой проблемы там просто нет. Так что в этой ситуации я скорее "диванный эксперт", чем практик.

> это я тоже примерно представляю, но для меня это всё-же ролинг, хоть
> и не чисто как рачик.

Ну я тогда и не знаю, что же тогда "не роллинг".:) Вот недавно вышла NixOS 21.05, у меня в конфиге машин до сих пор

❯ grep stateVersion /etc/nixos/configuration.nix
  system.stateVersion = "20.09";

пока я руками не поменяю тут на 21.05 и не заменю системный "канал" с
❯ sudo nix-channel --list
nixos https://nixos.org/channels/nixos-20.09
unstable https://nixos.org/channels/nixos-unstable

на nixos-21.05, то так и буду жить на старом релизе и получать секурити-апдейты и бэкпорты, если таковые будут.

Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (50), 08-Июн-21, 06:57 
>>>растраты по оперативке, хоть и  не всегда большие
>> Или же
>> софт закрыл и с ним потухло всё "окружение" все либы и
>> зависимости выгрузились?! Как это работает?
> Да. Я имел ввиду, что динамические библиотеки будут свои.
> Вот это вот всё будет загружено дополнительно в оперативку. Другие никсовые пакеты
> будут юзать уже загруженные библиотеки.

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

Согласен, если общие либы в никсовой среде, такого вполне хватит.
> Строить такого Франкенштайна чтобы что?:) В прод всё
> равно такое не потащишь, а на воркстейшене "и так пойдёт".:)
> Опять же, я такие смеси не практикую. Просто знаю, что вариант рабочий,
> т.к. делал сборки бинарников из никсовых выражений джекнсинсом, который крутился под
> Дебианом. И у ребят под МакОсью nix-shell нормально работал, как альтернатива
> brew.
> На моих локалхостах везде давно NixOS и этой проблемы там просто нет.
> Так что в этой ситуации я скорее "диванный эксперт", чем практик.

Понял, принял!
Я сам не ставил NixOS, времени никогда не было подступаться к нему и разбираться что к чему, я в своё время наигрался уже во всякие ролинги и теперь, чем меньше шевелений для меня, тем лучше ;)
Но, проект интересный, по поводу того что интересен сам nix-менеджер, но на стабильном дистрибутиве, потому как знакомый девляпсер пробовал кататься одно время на NixOS, даже полностью переезжал на него с дебиана, но в конце концов у него какой-то факап вышел, который поправить было тяжеловато, плюс вылезли всякие для меня неприятные нюансы.
NixOS в чистом виде для меня намного более хлопотная система, судя по подводным камням о которых я слышал, однако на десктопе хотелось бы иметь возможность пользоваться через nix некоторым юзерософтом на стабильных релизных дистрах, потому как снапы и подобные для меня выглядят дичью какой-то наркоманской, а вот организация рулением, разными версиями софта в nix, выглядит самой здравой для меня, на данный момент.

>> это я тоже примерно представляю, но для меня это всё-же ролинг, хоть
>> и не чисто как рачик.
> Ну я тогда и не знаю, что же тогда "не роллинг".:) Вот
> недавно вышла NixOS 21.05, у меня в конфиге машин до сих
> пор...

Ну, это не я придумал все эти чудоопределения: "ролинг, чистый ролинг, полу-ролинг" ;)
Так-то я считаю, что если нет чистой релизной модели с чёткими постоянными критериями, что должно входить в релиз, чтобы он состоялся, и не имеет чётких критериев выхода, а релизится от погоды на марсе, то значит это уже что-то из ролинговой степи ;)

Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +2 +/
Сообщение от Аноним (22), 03-Июн-21, 03:01 
Ты из какой норы вылез?
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

10. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +4 +/
Сообщение от scor (ok), 02-Июн-21, 23:17 
По мне, так пожалуй самый удобный и безотказный дистр из тех, на которых приходилось работать. Да и со стороны мейнтенера выглядит и ощущается как максимально удобный и беспроблемный с полной автоматизацией рутинных процессов. В общем, "вкалывают роботы, человек аппрувит" во всей красе.
Долгих лет и процветания, как говорится.
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Dimcha (ok), 03-Июн-21, 02:56 
Полностью с Вами согласен. Открыл для себя NixOS пару лет назад(перешел с Debian). Мне очень нравится концепция. Пока не подводил ни разу. А работа с контейнерами - просто сказка.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от n00by (ok), 03-Июн-21, 09:01 
Мне тоже очень нравится концепция, но имена вида f2b5...8a163-firefox-89.0.0
произвели необратимое криптопреобразование когнитивных шаблонов.
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Anon2 (?), 03-Июн-21, 13:50 
Для серфинга по ФС в NNN это боль.
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от n00by (ok), 03-Июн-21, 15:00 
И ведь не понятно, зачем они так сделали. Может в Хаскеле нужна какая хитрая монада, что бы разбирать строку с конца?
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (44), 07-Июн-21, 05:38 
>И ведь не понятно, зачем они так сделали. Может в Хаскеле нужна какая хитрая монада, что бы разбирать строку с конца?

Вполне понятно зачем. Потоум что "/nix/store/<hash>-" имеет константную длину и эту часть пути очень легко отрезать.

Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от n00by (ok), 07-Июн-21, 08:05 
>>И ведь не понятно, зачем они так сделали. Может в Хаскеле нужна какая хитрая монада, что бы разбирать строку с конца?
> Вполне понятно зачем. Потоум что "/nix/store/<hash>-" имеет константную длину и эту часть
> пути очень легко отрезать.

Подстроки "/nix/store/" и "<hash>" имеют константную длину и фрагмент пути между ними очень легко отрезать.

И Вы не первый, кому это не понятно -- вот что малость напрягает.

Ответить | Правка | Наверх | Cообщить модератору

39. "Cool"  +/
Сообщение от Andrewemail (??), 06-Июн-21, 10:38 
А как происходит процесс установки/обновления софта? Руками пишете новый т.н. деривейшн?
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

41. "Cool"  +/
Сообщение от scor (ok), 06-Июн-21, 20:48 
> А как происходит процесс установки/обновления софта? Руками пишете новый т.н. деривейшн?

Всё как и везде. Есть репозиторий ( https://github.com/NixOS/nixpkgs/ ) с мастер/транк/тестинг (называйте как хотите) и релизные бранчи, которые в основном только по секурити обновляют и мелкие бакпорты. Из этих бранчей получаются "каналы" (что-то типа имён репозиториев). Выбираешь на каком канале будешь жить (тестинг/стейбл). Можно миксовать с другими каналами с каким-то конкретным набором приложений. Что-то типа PPA в убунте. Точно также на свой страх и риск. Дальше всё просто.

nix-channel --update
nix-rebuild switch

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

Ответить | Правка | Наверх | Cообщить модератору

43. "Cool"  +/
Сообщение от Аноним (16), 07-Июн-21, 03:22 
> Что-то типа PPA в убунте. Точно также на свой страх и риск.

Не также. В убунте PPA добавляются в систему и софт при установке из них выполняет установочные скрипты с привелегиями рута. Каналы nix же добавляются пользователями в любых количествах и сочетаниях и никак на работу системы не влияют (пока не будут добавлены рутом).

Ответить | Правка | Наверх | Cообщить модератору

46. "Cool"  +/
Сообщение от scor (ok), 07-Июн-21, 09:46 
>> Что-то типа PPA в убунте. Точно также на свой страх и риск.
> Не также.

Можно подумать, что есть разница от какого пользователя будет запущен майнер или агент бот-нета. Именно об этом "страхе и риске" и написано. И ничем принципиально это не отличается от PPA. Но это всё лирика. Воля ваша считать решение безопасным на основании того, что оно запущено "не от рута".:)

Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +5 +/
Сообщение от ним (?), 02-Июн-21, 23:37 
Текст в новости - сплошная дезинформация.

> поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашний каталог)

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

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

В PATH несколько версий программ не засунешь, так что УСТАНОВКА - нет. Возможность использовать нескольких версий одной программы (из того же nix-shell) - это да.

> пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя

В каталог пользователя ничего не ставится.

> Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты.

Пакеты ни в какие контейнеры не оформляются. Это не GoboLinux.

> Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов.

Снова какая-то чушь. Все зависимости конкретной софтины зашиты прям в бинарник по абсолютным путям, никаких определений зависимостей там нет.
https://nixos.org/guides/nix-pills/why-you-should-give-it-a-...
https://nixos.org/guides/nix-pills/enter-environment.html#id...

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

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

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от n00by (ok), 03-Июн-21, 09:06 
>> Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов.
> Снова какая-то чушь. Все зависимости конкретной софтины зашиты прям в бинарник по
> абсолютным путям, никаких определений зависимостей там нет.

Зависимости, которые "зашиты прям в бинарник", используются системным загрузчиком. А есть ещё зависимости, которые требуются что бы этот бинарник скомпоновать.

Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от макпыф (ok), 02-Июн-21, 23:42 
> glibc 2.32

А чего не 2.33 - она вроде уже ~полгода назад вышла, в убунте давно уже есть

Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  –5 +/
Сообщение от Аноним (19), 03-Июн-21, 00:59 
Пожалуй, самый бессмысленный и бесполезный дистрибутив.
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (5), 03-Июн-21, 02:13 
Удваиваю.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +1 +/
Сообщение от Аноним (22), 03-Июн-21, 03:02 
Да, обои неочень!
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

24. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (-), 03-Июн-21, 07:28 
хаскелисты от него кончают радугой. Но и сам хаскель - такое себе
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

31. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от алёща (?), 03-Июн-21, 14:40 
для программиста не знающего математики таковым окажеться не менее чем всё
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +1 +/
Сообщение от Нанобот (ok), 03-Июн-21, 10:24 
Впрочем, как и твой комментарий
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

33. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +/
Сообщение от Аноним (33), 03-Июн-21, 15:37 
Один из самых стремных дистрибутивов для разработчиков из-за своей архитектуры расположения библиотек. Не ну конечно в доцкере можно разрабатывать но нафига тогда никсос если это можно делать хоть под убунтой.
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск дистрибутива NixOS 21.05, использующего пакетный мене..."  +2 +/
Сообщение от scor (ok), 03-Июн-21, 16:02 
Все ваши библиотеки доступны по LD_LIBRARY_PATH. Где они находятся забота мейнтейнеров и дистрибутива. Мне важно, чтоб они были доступны, нужных версий и в нужном количестве.:)
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру