LINUX.ORG.RU

NixOS 19.09 «Loris»

 ,


0

3

9 октября на официальном сайте проекта было объявлено о релизе NixOS 19.09 под кодовым именем Loris.

NixOS — дистрибутив с уникальным подходом к управлению пакетами и конфигурацией системы. Дистрибутив построен на базе «функционально чистого» пакетного менеджера Nix и собственной системы конфигурации с использованием функционального DSL (Nix expression language), что позволяет декларативно описывать желаемое состояние системы.

Некоторые изменения:

  • Обновлено:
    • Nix 2.3.0 (изменения)
    • systemd: 239 -> 243
    • gcc: 7 -> 8
    • glibc: 2.27
    • linux: 4.19 LTS
    • openssl: 1.0 -> 1.1
    • plasma5: 5.14 -> 5.16
    • gnome3: 3.30 -> 3.32
  • В процессе установки теперь используется непривилегированный пользователь (ранее по умолчанию установщик использовал root)
  • Xfce обновился до версии 4.14. Данная ветка получила собственный модуль services.xserver.desktopManager.xfce4-14
  • Модуль gnome3 (services.gnome3) получил множество новых опций для более четкого контроля за списком устанавливаемых программ и сервисов.

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

>>> Подробности



Проверено: a1batross ()
Последнее исправление: Deleted (всего исправлений: 7)

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

Есть много древних вещей, поражающих своей, доказанной временем, ненужностью. Вон, великолепнейший, надёжнейший, безопаснейший язык — хаскель. Создали аж в 1987г., ЕМНИП. Ну и?

Да, прекрасный язык. Кстати, большинство пользователей NixOS - хаскелисты

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

Ну и документация хороша

Чем больше пользуюсь, тем больше убеждаюсь в том, что документации почти нет. Она покрывает только configuration.nix, а большая часть nixpkgs с огромной «стандартной библиотекой» требует додумывать, догадываться и читать код.

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

Она покрывает только configuration.nix

Ну не совсем. Хотя я не осилил сбоку пакета, наверное в силу старческого слабоумия и отсталости в плане всяких непонятных мне гитов. Тоже касается и собранных уже бинарников. Вроде все по инструкции, но хер там в результате. Особенно меня убило, что nix-index должен выполняться 5 минут, у меня он шел несколько часов, а потом я просто нажал Ctl-C — с помощью locate я нахожу любой файл, но толку ноль от этого знания.

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

возможность установки разных версиев ПО одновременно

gentoo

try harder

dummy ★★
()
Ответ на: ЛОЛШТО? =))) от anonymous

Вы вообще в курсе как дистровоч статистику собирает?

Походу я один из немногих на лоре, кто прочитал
https://distrowatch.com/dwres.php?resource=popularity

остальные тут базируются на своих фантазиях о том, как оно работает...

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

по статистике за последний месяц NixOS уже обгоняет Gentoo.

По какой статистике? Где она ведется и кем?

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

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

В статической линковке это имет смысл, т.к. программа будет пересобрана с патченой версий библиотеки

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

Ну это же статистика отдельно взятого ресурса, который некоторые вообще не знают. Разве это статистика? Это какой-то рейтинг посещения страниц. Совершенно понятно, что пользователь, зашедший на сайт будет прежде всего смотреть то, что в топе. Но значит ли это, что топовые дистрибутивы на самом деле в топе? Я бы назвал это рейтингом интереса. Голосование, кто что использует было бы ближе к реалиям, но и тут могут быть подводные камни. Я бы вообще не доверял никакой онлайн-статистике, тут могут быть другие механизмы, далекие от истины.

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

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

Не стоит подменять понятия. Хоть уиграйтесь в танки, танкистом не станете. Хоть уиграйтесь в снайпера, снайпером тоже.

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

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

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

А когда было иначе? Вы наверное думаете, что сегодня человек более свободный и раскрепощенный, чем 250 лет назад?

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

Хэши – один из способов обеспечить разделение библиотек по версиям, флагам, патчам, …. Оверхед действительно имеется (если бы нам было плевать на повторяемость, можно было бы пропатчить уже собранные бинари, запихнув им в RPATH новые пути вместо старых, но это очень ломучий и ненадежный способ). Так что лучше пересобрать с новыми версиями (а то вдруг изменилось API или ещё чего подобное произошло).

Статическая линковка тут вообще строго хуже почти по всем показателям (кроме мизерного ускорения загрузки приложения в рантайме за счет того, что все библиотеки рядом на диске, в одном файле), ибо

  1. размер бинарника сильно увеличится
  2. время сборки слегка увеличится из-за необходимости пихать куски библиотек внутрь бинарника
  3. воспроизводимость не улучшится, ибо пути (с зафиксированными хэшами) ко всем библиотекам и так запиханы в RPATH к бинарям.

Я так и не понял, понимаете ли вы принцип работы динамической линковки в Nix или нет. Если не понимаете, то могу объяснить.

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

В процессе сборки пути к динамическим библиотекам (вида /nix/store/hash-libfoo/lib) намертво прошиваются в RPATH к бинарникам, таким образом этот бинарник всегда будет запускаться именно с этими версиями (в широком смысле) библиотек. Если мы соберем (и даже установим в профиль) другую версию (например, ту же библиотеку с другими патчами), то бинарник по-прежнему будет подгружать именно ту версию, которая была использована при его сборке.

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

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

так если исходники программы не изменились, но изменилось апи библиотеки, то пересборка никак не поможет. Я об этом в первом своём сообщении писал.

Я так и не понял, понимаете ли вы принцип работы динамической линковки в Nix или нет. Если не понимаете, то могу объяснить.

возможно, мне представляется, что там все работает как и везде. в бинарник суются полные пути до библиотек, где они лежат при линковке, а при старте, если их там нет, ld ищет их по путям заданным у него в конфиге

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

если их там нет

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

(Хотя ладно, я хитрю, libGL там нет, но это уже совсем другая история и совсем другие костыли, к сожалению)

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

Никс засунет туда

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

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

Ну а почему нельзя изначально сделать линки вместо /nix/run/current (или как там) в привычную /lib /lib64 /bin и т.д? Зачем они сделали свой срез дерева системы? Ну, да, есть какие-то конфигурации, их может быть много, но и линковали бы с ОБЩЕПРИНЯТЫМИ правилами FHS.

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

Не будет, в NixOS у него нет никаких путей по умолчанию.

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

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

нет, мы гарантируем, что библиотека libname.so будет искаться по пути /nix/store/hash-libname/libname.so

но мы не гарантируем, что хеш этой библиотеки будет верный. Наша программа может быть слинкована как с библиотекой /nix/store/hash1-libname/libname.so, так и с /nix/store/hash2-libname/libname.so и если версии библиотек одинаковы, то программа должна корректно работать в обоих случаях, но для смены библиотеки мы вынуждены пересобирать программу, если бы вместо хеша была бы версия библиотеки, то мы могли бы просто пересобирать библиотеку для всей системы штатным образом, а так получается нам надо выбирать: пересобрать мир ради патча в библиотеке, или закостылить и скопировать библиотеку из /nix/store/hash2-libname/ в /nix/store/hash1-libname/. При обновлении системы, если нам все ещё нужна библиотека с патчем, в первом случае мы ещё раз пересоберем мир, а во втором случае лишь снова скопируем библиотеку, если она обновлялась

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

Ну а почему нельзя изначально сделать линки вместо /nix/run/current (или как там) в привычную /lib /lib64 /bin и т.д? Зачем они сделали свой срез дерева системы? Ну, да, есть какие-то конфигурации, их может быть много, но и линковали бы с ОБЩЕПРИНЯТЫМИ правилами FHS.

В NixOS вообще нет /lib и /lib64, а в /bin живёт только /bin/sh для совместимости.

ОБЩЕПРИНЯТЫЕ правила FHS, к сожалению, не позволяют устанавливать разные версии одного и того же софта и имеют много других недостатков. Сама идея одного глобального окружения порочна. В идеале не должно остаться даже /etc, только /nix/store (а потом и его заменим на специализированную контентно-адресуемую файловую систему).

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

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

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

ОБЩЕПРИНЯТЫЕ правила FHS, к сожалению, не позволяют устанавливать разные версии одного и того же софта

/lib/hash1-libname/libname

/lib/hash2-libname/libname

/bin/hash-prog/prog

В NixOS вообще нет /lib и /lib64

вроде же что-то оставляли, чтобы systemd не удалять. или там только /usr?

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

но мы не гарантируем, что хеш этой библиотеки будет верный.

Гарантируем.

Наша программа может быть слинкована как с библиотекой /nix/store/hash1-libname/libname.so, так и с /nix/store/hash2-libname/libname.so и если версии библиотек одинаковы, то программа должна корректно работать в обоих случаях

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

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

вроде же что-то оставляли, чтобы systemd не удалять. или там только /usr?

Может я что-то не помню, но вроде никогда такого не было.

$ ls /lib    
ls: cannot access '/lib': No such file or directory
$ ls /lib64
ls: cannot access '/lib64': No such file or directory
$ ls /bin   
sh
$ ls /usr    
bin
$ ls /usr/bin
env

У меня весь «установленный» софт текущего профиля лежит в /run/current-system/sw, но это симлинк в /nix/store, как и /etc/. Всё состояние находится в /var и /home.

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

Компьютеры сделаны людьми, поэтому тоже ошибаются.

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

к сожалению

Действительно. Линк на sh в /bin слабое утешение. Что-то разработчики перекрутили. По мне, что они линкуют все подряд в /nix, с таким же успехом могли бы и в привычные каталоги. Ведь каждая реинкарнация после ребилда все равно смотрит в один каталог и его подкаталоги, просто все перелинковывается крест-накрест. А что будет если самому создать привычные каталоги и залинковать линки на линки? Будет работать с «сторонними» для NixOS приложениями?

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

но и линковали бы с ОБЩЕПРИНЯТЫМИ правилами FHS.

Симлинков больше получается, к тому же на самом деле и от /run/current-system и /etc/ нужно избавлятся, чтобы симлинков не осталось вовсе.

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

Будет работать с «сторонними» для NixOS приложениями?

Да, см. buildFHSUserEnv и steam-run (который я использую довольно часто, хотя в игрушки и не играю). Они именно что делают namespace chroot в FHS-подобное окружение, куда залинкованы файлики из /nix/store.

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

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

А как же тогда? Без run/current-system и /etc/? Должен же быть какой-то корень текущего окружения, может хоть и виртуальный?

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

Они именно что делают namespace chroot в FHS-подобное окружение, куда залинкованы файлики из /nix/store.

Это ужоссс... Если честно.

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

/lib/hash1-libname/libname

/lib/hash2-libname/libname

/bin/hash-prog/prog

Это уже не FHS, а какие-то странные фантазии. Никаких преимуществ перед /nix/store они не дают, зато добавляют кучу проблем.

вроде же что-то оставляли, чтобы systemd не удалять. или там только /usr?

$ ls /lib* /usr/lib*
ls: cannot access '/lib*': No such file or directory
ls: cannot access '/usr/lib*': No such file or directory

В /usr живёт только один симлинк /usr/bin/env, тоже для совместимости:

$ ls -lR /usr
/usr:
total 4
drwxr-xr-x 2 root root 4096 Oct 13 15:36 bin

/usr/bin:
total 4
lrwxrwxrwx 1 root root 66 Oct 13 15:36 env -> /nix/store/kx56d14p0qm2awn0qrqrv4rb8xdhvhpi-coreutils-8.31/bin/env
anonymous
()
Ответ на: комментарий от anonymous

Да, но зато когда нужно быренько «make this shit work» для всякого одноразового говна, довольно полезно.

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

Зачем? Достаточно менять всего один файлик при каждом обновлении: grub.cfg. Всё остальное можно сделать просто подстановками путей в /nix/store из этого дерева файликов, типа явно указать на init и kernel (которые в /nix/store) в grub.cfg, в них указать на библиотеки и системд-юниты, в них явно указать на пути к бинарникам и их конфигам. Оно уже на самом деле делается, но пока что ради совместимости оставлены симлинки.

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

Кстати, большинство пользователей NixOS - хаскелисты

Да. Вы знаете, это даже по логотипу заметно. Ляяямбдочки... =)))

Однако тут возникает вопрос «а почему не на Лиспе»? Ведь именно Лисп был первым среди языков ФП. И именно на нём уже написан великолепнейший редактор, по временам думающий что он является операционной системой...

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

почему не на Лиспе

Потому что Eelco знал на достаточном уровне только C++. А потом уже было поздно что-либо менять.

На почти-лиспе есть guix.

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

Что значит, «почти»? Scheme - один из диалектов Лиспа, как и Common Lisp.

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

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

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

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

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

Вот чёрт!

Потому что Eelco знал на достаточном уровне только C++.

Я что-то такое и подозревал...

А потом уже было поздно что-либо менять.

Да лаааааадно! При тотальной пересобираемости и повторяемости перехода на Лисп даже ни кто и не заметит!

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

И совершенно ахуевшая от них макака. Школитарии шутят.

Не понял. А чем лямбдочки-то не угодили?!?

Ну ведь круто же! Стильно, модно, молодёжно, бородато, педовато, так, последнее это не сюда... =)))

Лямбдочки это всем нужно!

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

О, чччёрт!

так если исходники программы не изменились, но изменилось апи библиотеки, то пересборка никак не поможет.

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

Нда-с. «Новому времени новые песни».

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

Как там Господь Моисею-то заявил?

«Других евреев у Меня для тебя нет», так кажется? Ну вот и другой, более объективной статистики тоже нет. Потому как здесь хоть UA смотрят из запроса браузера, а в остальных случаях такого рода голосовалок, вообще голяк и накрутки.

И да, здесь хоть так видно и это без учёта серверов, с которых вообще браузером не лазят никуда.

Так что, все сказки про «непопулярность», вместе со сказочниками сразу на хер. Статистика в данном случае и достаточно объективна и оспорить её не получается. Да и она (статистика) вот уже который год как довольно стабильна. Причины я уже озвучил.

Теперь, парни, вам с этим как-то жить... =)))

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

Да помилосердствуйте!

За мной такого вроде бы не было замечено.

Я же не про Вас лично! =) Простите великодушно, если был некорректен. =)

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

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

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

Ну и какие претензии к сказанному выше?

Походу я один из немногих на лоре, кто прочитал

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

Об этом всём уже было написано, Вы так и не поняли. Вы балбес? Скажите честно... =)))

anonymous
()

Сабж... Я то подумал правда что то появилось...
А это всё тот же Линух густо обрастающий свистелками и перделками...

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

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.