1.2, Аноним (2), 21:57, 02/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Добавлено 12985 пакетов, удалено 14109 пакетов, обновлено 16768 пакетов
Капитально они там всё меняют.
>сокращённого консольного варианта - 660 МБ.
Какой-то он здоровый для консольного.
| |
|
2.6, Аноним (6), 23:06, 02/06/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
Для системы, у которой установленная версия будет занимать под терабайт, вполне нормально. У конкурентов для сравнения 1000 пакетов в пару гигов влезает в установленном виде (без некоторых огромных)
| |
|
3.8, scor (ok), 23:09, 02/06/2021 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Для системы, у которой установленная версия будет занимать под терабайт
Ну, это мягко говоря, не соответствует действительности.:)
| |
|
4.16, Аноним (16), 00:15, 03/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если не заниматься чисткой старых версий софта, то при обновлениях ось может и до терабайта вырасти. Nix вообще устроен так, что любой минимальный чих в зависимостях вызывает пересборку всего дочернего софта. Обновление bash'а, который используется как основное средство сборки, вызывает дублирование пакетов всего репозитория с новыми хэшами в именах.
| |
|
5.17, scor (ok), 00:38, 03/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Если не заниматься чисткой старых версий софта, то при обновлениях ось может
> и до терабайта вырасти. Nix вообще устроен так
Тут как бы это... Я как бы реально под ним работаю. Занимаюсь работой, а не чисткой софта, обновляюсь регулярно, террабайта физически на машине нет.:)
❯ df -h
Filesystem Size Used Avail Use% Mounted on
...
zroot/root/nixos 397G 129G 269G 33% /
...
| |
|
|
|
2.7, scor (ok), 23:07, 02/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>Добавлено 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
Даже и не знаю, что они имелли сказать такой статистикой.
> Какой-то он здоровый для консольного.
В лайвах/инсталляшках достаточно много фирмвары обычно занимают. Там же задача не ужаться, а загрузиться на любом утюге и смочь успешно установиться. Так что приходится всё барахло за собой таскать.
| |
|
3.15, Аноним (16), 00:07, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Предполагаю, что надо не по срезам master-ветки сравнивать, а смотреть разницу между ветками.
| |
|
4.34, scor (ok), 15:59, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Возможно. Но у меня всё равно не получилось вывести похожие цифры. В общем, не зная алгоритма подсчёта, видимо сложно будет что-то с чем-то сравнивать.
Просто мне значения показались сильно странными. Но оставлю это на совести авторов анонса.:)
| |
|
|
|
1.5, Аноним (5), 22:56, 02/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Systemd и двоичный кэш не нужны. Идея интересная, но всё портят эти два момента. Гуикс не альтернатива, т.к. там надо пердолиться с блобами + плохо документированный пастух вместо системы инициализации.
| |
|
2.9, scor (ok), 23:11, 02/06/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Systemd и двоичный кэш не нужны. Идея интересная, но всё портят эти
> два момента.
Кому как. Вот "+ 3,491 contributors" вполне подходит.:)
| |
2.12, Аноним (12), 23:38, 02/06/2021 [^] [^^] [^^^] [ответить]
| +4 +/– |
>> Systemd... не нужны
>> Плоходокументированный пастух вместо системы инициализации | |
|
3.18, Аноним (5), 00:47, 03/06/2021 [^] [^^] [^^^] [ответить]
| –2 +/– |
А ты туповат, да? Очевидно, что нужен дистр с openrc/sysvinit, а не блоатварь и недокументированный велосипед.
| |
|
|
5.36, Аноним (16), 13:04, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Там такого объёма функционала нет чтобы был нужен такой объём документации.
Sysvinit — это средство обеспечения работы последовательных терминалов (в т.ч. виртуальных консолей) и переключения ранлевелов (включая ответственные за загрузку и завершение системы), всё. Его документация — man-страницы init(8) и inittab(5).
OpenRC — хелпер для запуска и остановки ассоциированных с ранлевелами сервисов, замена километровым портянкам шелл-скриптов типичной ОС на sysvinit.
| |
|
|
|
2.14, Аноним (16), 00:03, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Systemd не нужен
Можно прикрутить Nix поверх дистрибутива без systemd, Alpine Linux, например.
Это, правда, не позволит использовать фичи дистрибутива по управлению системой, а лишь сделает доступным запускаемый пользователем прикладной софт.
> двоичный кэш не нужен
Его никто не заставляет использовать.
| |
|
3.37, Аноним (37), 17:10, 04/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> Systemd не нужен
> Можно прикрутить Nix поверх дистрибутива без systemd, Alpine Linux, например.
> Это, правда, не позволит использовать фичи дистрибутива по управлению системой, а лишь
> сделает доступным запускаемый пользователем прикладной софт.
А правильно ли я понимаю, что это получается при таком варианте можно использовать всю мощь возможностей установки разных версий софта и всё также останется возможность рулить устанавливаемыми версиями по хэшам как это задумано в никсе?
Я к тому чтобы например сделать основу другой неролинг дистрибутив, а жонглировать разными версиями только юзерософта, насколько это рабочий вариант?
| |
|
4.38, Аноним (16), 03:40, 06/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Можно использовать всю мощь Nix и nixpkgs, но вся мощь NixOS будет недоступна.
https://nixos.org/manual/nix/stable/
https://nixos.org/manual/nixos/stable/
Что касается возможности жонглировать разными версиями софта, то тут есть некоторые ограничения. Установленный nix'ом софт делается доступным с помощью т.н. профилей, содержащих наборы симлинков. Профиль может содержать только одну версию конкретной софтины, иначе в нём будут конфликты. Пользователю (а также системе и каждому из контейнеров, но это к NixOS) выделается по одному профилю, каждый из которых может иметь несколько поколений (generations) и между ними перекатываться (nix-env rollback). Чтобы запустить софтину старой версии, нужно откатить весь профиль. Это можно обойти игрой с переменными окружения, но штатными утилитами такое не поддерживается.
| |
|
5.48, Аноним (48), 14:51, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
> https://nixos.org/manual/nix/stable/
> https://nixos.org/manual/nixos/stable/
> Что касается возможности жонглировать разными версиями софта, то тут есть некоторые ограничения.
> Установленный nix'ом софт делается доступным с помощью т.н. профилей, содержащих наборы
> симлинков. Профиль может содержать только одну версию конкретной софтины, иначе в
> нём будут конфликты. Пользователю (а также системе и каждому из контейнеров,
> но это к NixOS) выделается по одному профилю, каждый из которых
> может иметь несколько поколений (generations) и между ними перекатываться (nix-env rollback).
> Чтобы запустить софтину старой версии, нужно откатить весь профиль. Это можно
> обойти игрой с переменными окружения, но штатными утилитами такое не поддерживается.
Это не очень весело, если так, потому как раньше в NixOS зазывали фразами типа: можно иметь несколько версий софта в одной системе, и никто не развеивал представления, что это не так всё просто и не на одном пользователе.
Откатывать весь профиль это дичь, лучше уж городить какое-то подобие инстансов.
Я не понимаю на кой надо было так делать, и что мешало сделать возможность запуска разных версий софтин с их версиями зависимостей при наличии инструмента с возможностью потенциальной линковки с идентификацией по хэшам?!
| |
|
4.40, scor (ok), 20:42, 06/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> А правильно ли я понимаю, что это получается при таком варианте можно
> использовать всю мощь возможностей установки разных версий софта и всё также
> останется возможность рулить устанавливаемыми версиями по хэшам как это задумано в
> никсе?
Правильно понимаешь. Nix можно использовать вне NixOS. Нужно иметь ввиду следующее:
1. всё дерево зависимостей будет вытянуто, вплоть до glibc; а это немало по объёму
2. не будет шаринга библиотек с системными; растраты по оперативке, хоть и не всегда большие
3. не все пакеты получится использовать "из коробки"; например, если что-то захочет конкретной версии API (i.e. nvidia-cuda), то придётся обеспечить "выравнивание" либо патчингом никсовых выражений, либо поменяв версии "хостовых" быблиотек/модулей
В остально всё работает как задумано. Что-то типа https://manpages.debian.org/unstable/nix-bin/nix-shell.1.en.html
Т.е. процедура:
1. ставишь nix (curl -L https://nixos.org/nix/install | sh); перед установкой чекни, что там в install
2. активируешь через source в .bashrc
3. юзаешь nix-shell -p bla-bla (документашка достаточно подробная)
> Я к тому чтобы например сделать основу другой неролинг дистрибутив, а жонглировать
> разными версиями только юзерософта, насколько это рабочий вариант?
NixOS не совсем роллинг. Там точно такие же релизы, ветки, и секурити патчи с бэкпортами.
| |
|
5.42, Аноним (16), 03:17, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> что там в install
Скачивание тарболла, распаковка и запуск из него ещё одного скрипта.
| |
5.47, Аноним (47), 14:45, 07/06/2021 [^] [^^] [^^^] [ответить] | +/– | К подобному я готов Это понятно и логично, если всё так как я представляю и с э... большой текст свёрнут, показать | |
|
6.49, scor (ok), 15:21, 07/06/2021 [^] [^^] [^^^] [ответить] | +/– | Да Я имел ввиду, что динамические библиотеки будут свои Ну например 10095 ... большой текст свёрнут, показать | |
|
7.50, Аноним (50), 06:57, 08/06/2021 [^] [^^] [^^^] [ответить] | +/– | Понял, и это хорошо и правильно Согласен, если общие либы в никсовой среде, тако... большой текст свёрнут, показать | |
|
|
|
|
|
|
1.10, scor (ok), 23:17, 02/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
По мне, так пожалуй самый удобный и безотказный дистр из тех, на которых приходилось работать. Да и со стороны мейнтенера выглядит и ощущается как максимально удобный и беспроблемный с полной автоматизацией рутинных процессов. В общем, "вкалывают роботы, человек аппрувит" во всей красе.
Долгих лет и процветания, как говорится.
| |
|
2.21, Dimcha (ok), 02:56, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Полностью с Вами согласен. Открыл для себя NixOS пару лет назад(перешел с Debian). Мне очень нравится концепция. Пока не подводил ни разу. А работа с контейнерами - просто сказка.
| |
|
3.25, n00by (ok), 09:01, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
Мне тоже очень нравится концепция, но имена вида f2b5...8a163-firefox-89.0.0
произвели необратимое криптопреобразование когнитивных шаблонов.
| |
|
|
5.32, n00by (ok), 15:00, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
И ведь не понятно, зачем они так сделали. Может в Хаскеле нужна какая хитрая монада, что бы разбирать строку с конца?
| |
|
6.44, Аноним (44), 05:38, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>И ведь не понятно, зачем они так сделали. Может в Хаскеле нужна какая хитрая монада, что бы разбирать строку с конца?
Вполне понятно зачем. Потоум что "/nix/store/<hash>-" имеет константную длину и эту часть пути очень легко отрезать.
| |
|
7.45, n00by (ok), 08:05, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>>И ведь не понятно, зачем они так сделали. Может в Хаскеле нужна какая хитрая монада, что бы разбирать строку с конца?
> Вполне понятно зачем. Потоум что "/nix/store/<hash>-" имеет константную длину и эту часть
> пути очень легко отрезать.
Подстроки "/nix/store/" и "<hash>" имеют константную длину и фрагмент пути между ними очень легко отрезать.
И Вы не первый, кому это не понятно -- вот что малость напрягает.
| |
|
|
|
|
3.39, Andrew (??), 10:38, 06/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
А как происходит процесс установки/обновления софта? Руками пишете новый т.н. деривейшн?
| |
|
4.41, scor (ok), 20:48, 06/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> А как происходит процесс установки/обновления софта? Руками пишете новый т.н. деривейшн?
Всё как и везде. Есть репозиторий ( https://github.com/NixOS/nixpkgs/ ) с мастер/транк/тестинг (называйте как хотите) и релизные бранчи, которые в основном только по секурити обновляют и мелкие бакпорты. Из этих бранчей получаются "каналы" (что-то типа имён репозиториев). Выбираешь на каком канале будешь жить (тестинг/стейбл). Можно миксовать с другими каналами с каким-то конкретным набором приложений. Что-то типа PPA в убунте. Точно также на свой страх и риск. Дальше всё просто.
nix-channel --update
nix-rebuild switch
Если что-то совсем разломалось, то при загрузке будет возможность выбрать предыдущий (рабочий) набор софта и загрузиться с этого состояния.
| |
|
5.43, Аноним (16), 03:22, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то типа PPA в убунте. Точно также на свой страх и риск.
Не также. В убунте PPA добавляются в систему и софт при установке из них выполняет установочные скрипты с привелегиями рута. Каналы nix же добавляются пользователями в любых количествах и сочетаниях и никак на работу системы не влияют (пока не будут добавлены рутом).
| |
|
6.46, scor (ok), 09:46, 07/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> Что-то типа PPA в убунте. Точно также на свой страх и риск.
> Не также.
Можно подумать, что есть разница от какого пользователя будет запущен майнер или агент бот-нета. Именно об этом "страхе и риске" и написано. И ничем принципиально это не отличается от PPA. Но это всё лирика. Воля ваша считать решение безопасным на основании того, что оно запущено "не от рута".:)
| |
|
|
|
|
|
1.11, ним (?), 23:37, 02/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Текст в новости - сплошная дезинформация.
> поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашний каталог)
В домашний каталог ничего не ставится, просто добавляются нужные пути из /nix/store в PATH пользователя.
> возможна одновременная установка нескольких версий одной программы
В PATH несколько версий программ не засунешь, так что УСТАНОВКА - нет. Возможность использовать нескольких версий одной программы (из того же nix-shell) - это да.
> пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя
В каталог пользователя ничего не ставится.
> Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты.
Пакеты ни в какие контейнеры не оформляются. Это не GoboLinux.
> Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов.
Снова какая-то чушь. Все зависимости конкретной софтины зашиты прям в бинарник по абсолютным путям, никаких определений зависимостей там нет.
https://nixos.org/guides/nix-pills/why-you-should-give-it-a-try.html#idm140737
https://nixos.org/guides/nix-pills/enter-environment.html#idm140737320678416
> Возможна как загрузка готовых бинарных пакетов из репозитория (при установке обновлений к бинарным пакетам загружаются только delta-изменения), так и сборка из исходных текстов со всеми зависимостями.
Нет никакого репозитория бинарных пакетов, есть кеш деривиаций. Никаких дельта-изменений тоже нет.
| |
|
2.26, n00by (ok), 09:06, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов.
> Снова какая-то чушь. Все зависимости конкретной софтины зашиты прям в бинарник по
> абсолютным путям, никаких определений зависимостей там нет.
Зависимости, которые "зашиты прям в бинарник", используются системным загрузчиком. А есть ещё зависимости, которые требуются что бы этот бинарник скомпоновать.
| |
|
1.13, макпыф (ok), 23:42, 02/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> glibc 2.32
А чего не 2.33 - она вроде уже ~полгода назад вышла, в убунте давно уже есть
| |
|
2.24, Аноним (-), 07:28, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
хаскелисты от него кончают радугой. Но и сам хаскель - такое себе
| |
|
3.31, алёща (?), 14:40, 03/06/2021 [^] [^^] [^^^] [ответить]
| +/– |
для программиста не знающего математики таковым окажеться не менее чем всё
| |
|
|
1.33, Аноним (33), 15:37, 03/06/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Один из самых стремных дистрибутивов для разработчиков из-за своей архитектуры расположения библиотек. Не ну конечно в доцкере можно разрабатывать но нафига тогда никсос если это можно делать хоть под убунтой.
| |
|
2.35, scor (ok), 16:02, 03/06/2021 [^] [^^] [^^^] [ответить]
| +2 +/– |
Все ваши библиотеки доступны по LD_LIBRARY_PATH. Где они находятся забота мейнтейнеров и дистрибутива. Мне важно, чтоб они были доступны, нужных версий и в нужном количестве.:)
| |
|
|