LINUX.ORG.RU

Выпуск NixOS 24.05 «Uakari»

 ,

Выпуск NixOS 24.05 «Uakari»

0

4

Привет, ЛОР!

Как и предсказывали наши эксперты, в последний день весны состоялся очередной выпуск дистрибутива ОС Линукс NixOS 24.05, получивший кодовое имя «Uakari». NixOS отличается декларативным подходом к установке программ, позволяя описать на специальном языке конфигурации Nix желаемое состояние ОС, и обладает такими особенностями как атомарные обновления системы и воспроизводимость сборок.

Среди изменений в выпуске 24.05:

  • Добавлены 17777 новых, обновлены 16249 и удалены 9393 устаревших пакетов;
  • Над выпуском работали 2491 человек;
  • GNOME обновлён до версии 46, KDE – до версии 6.0 (5.27 LTS так же доступна для установки), MATE – до версии 1.28, Cinnamon – до версии 6.0;
  • Добавлена поддержка среды рабочего стола Lomiri (ранее Unity 8), использующая оконный композитор Mir;
  • По-умолчанию предлагается ядро Linux 6.6, но также доступны ядра начиная с версии 4.19.

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

★★★★★

Проверено: Zhbert ()
Последнее исправление: Zhbert (всего исправлений: 2)

$ tail -4 /etc/nixos/configuration.nix                                                                               
  # Before changing this value read the documentation for this option
  # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
  system.stateVersion = "21.11"; # Did you read the comment?
}

Вроде пару раз менял поначалу.

Puzan ★★★★★
()

Какой милый обезян на фото…

eyrell
()

Reject package management. Return to monke.

что-то не сходится

token_polyak ★★★★
()
Последнее исправление: token_polyak (всего исправлений: 1)

NixOS отличается декларативным подходом к установке программ,

Значит ли это, что там свой формат пакетов без скриптов внутри?

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

Можно сказать и так.

В nix нет пакетных репозиториев, нет бинарных пакетов, но и source based его назвать нельзя. Есть дерево с описанием процесса сборки пакетов (https://github.com/nixos/nixpkgs), есть ci, который все эти пакеты собирает. У каждого пакета есть derivation - некая хэшсумма от различных условий, в которых собирался пакет, и если в вашей инсталляции для конкретно взятого пакета derivation совпадает с тем, что есть в кеше ci - ставится бинарь, если не совпадает (или нет в кеше ci - бывает иногда) - собирается из исходников.

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

l0stparadise ★★★★★
()
Последнее исправление: l0stparadise (всего исправлений: 1)

Угадал автора по первому абзацу.

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

Всем пофиг. Работаем в штатном режиме. Было пару визгов с внедрением lix. Побухтят и успокоятся.

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

Это число в основном указывает на версии софта по дефолту, для которых нужна ручная миграция. Например, тот же postgresql.

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

Потому что кто-то добавил и поддерживает. NixOS очень демократична в плане набора софта: если ты хочешь что-то добавить и готов это поддерживать, то вперёд, тебе будут только рады. Достаточно один PR закинуть. Никаких добиановского турбоаутизма или федороубунтовой корпоратской гипершизофрении.

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

Один или два раза вначале менял, а потом перестал. Написано не трогать, я и не трогаю :)

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

Во, в release notes написано, что nextcloud сломается, если stateversion поднять, по этому надо вручную обновлять. А он у меня на сервере как раз стоит. Завтра буду обновлять.

Puzan ★★★★★
()
Ответ на: комментарий от ya-betmen

а там процесс идёт, собрали конституционный совет, теперь все ждут что будет (в т.ч. в одном из форков не исключают возможности вернуться). неадекваты вроде туда не попали, так что есть шанс что всё уляжется (хотя процедура собрания совета была «так себе»)

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

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

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

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

Да нет, не особо. В NixOS реально просто добавлять пакеты. Типа, я несколько штук поддерживаю, просто закидывая PR иногда. Если что-то сломалось в CI, меня пингуют.

Чтобы в Debian стать мейнтейнером чего-то, надо жопу порвать на британский флаг, прости собеседование с анальным досмотром и мазком из члена, а также проверкой целостности крайней плоти.

hateyoufeel ★★★★★
() автор топика

Я чота п...

декларативным подходом к установке программ, позволяя описать на специальном языке конфигурации Nix желаемое состояние ОС,

Посмотрел я на хабре про этот ваш Nix: https://habr.com/ru/companies/typeable/articles/550860/

И как-то сдаётся мне, что это этакий makefile. Где там декларативное описание и всё остальное? Просто перечисляются команды, прямо с мясом — параметры, пути, то да сё. В чём новизна-то?

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

Ну так а в чём цимес-то? Разве нельзя было в принципе всё то же самое сделать на тех же makefile-ах? Я вот какой-то существенной разницы не увидел: там набор целей, и там набор целей. И оно их выполняет.

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

И как-то сдаётся мне, что это этакий makefile. Где там декларативное описание и всё остальное? Просто перечисляются команды, прямо с мясом — параметры, пути, то да сё. В чём новизна-то?

Ты про упаковку пакетов прочитал, а не про дистр. Ясен хер что сборка пакетов будет выглядеть так примерно в любом дистре.

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

Ну я так понял, что просто речь идёт об уровне конфигурации повыше. Но принципиально будет так же: скажем, в топовом конфиге цель «поставить R» распадётся на подзадачи, которые с CRAN ставят свежий R, и, скажем, ряд пакетов к нему, и ещё RSTudio. В принципе, то же самое можно в makefile написать. Нет?

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

В принципе, то же самое можно в makefile написать. Нет?

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

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

Ну то есть я в целом правильно понял, что то же самое можно было бы и по старинке на GNU Make сделать, а может и просто на каком-то скриптовом языке реализовать. Просто тут уже заранее наклепали годного материала. Но это скорее заслуга не Nix, а энтузиастов, которые потратили время и силы.

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

то же самое можно было бы и по старинке на GNU Make сделать,

В теории. На практике, GNU Make настолько всрат, что проще вскрыться, поэтому никто не реализовал.

а может и просто на каком-то скриптовом языке реализовать.

Смотри GuixSD. Там тот же NixOS, только на Guile (который Lisp). Есть плюсы и минусы.

Но это скорее заслуга не Nix, а энтузиастов, которые потратили время и силы.

Это заслуга Nix, что он привлёк толпу народу, потому что на нём гораздо удобнее такие штуки делать. Плюс, эти энтузиасты и сборище разработчиков самого Nix – одни и те же люди, в основном. А вот на GNU Make никто такого не сделал почему-то. Наверное, у GNU Make нет таких заслуг.

Есть FreeBSD Ports и подобное из мира BSD, но там совсем не гнутый Make, нет сборок в песочнице, воспроизводимости, единой конфигурации и вообще нихрена нет.

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

Это заслуга Nix, что он привлёк толпу народу, потому что на нём гораздо удобнее такие штуки делать. А вот на GNU Make никто такого не сделал почему-то. Наверное, у GNU Make нет таких заслуг.

Ну этот аргумент — палка о двух концах, потому что можно сказать, что у других

вообще нихрена нет

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

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

ровно потому, что всех десять человек, кому это было нужно, собрал у огонька NixOS

Над выпуском работали 2491 человек;

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

Над выпуском работали 2491 человек;

Ну так неизвестно же, чем они там все занимались. Может, 11 писали «хелперы на никсе», а 2480 писали на двощах «ААААА НАСТАЛО ВРЕМЯ ПЕРЕУСТАНОВИТЬ НИКШОШ».

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

Ну так неизвестно же, чем они там все занимались. Может, 11 писали «хелперы на никсе», а 2480 писали на двощах «ААААА НАСТАЛО ВРЕМЯ ПЕРЕУСТАНОВИТЬ НИКШОШ».

Кому неизвестно? Мне известно, я среди этих 2491. Если тебе неизвестно, можешь посмотреть логи гита. Ну и

Добавлены 17777 новых, обновлены 16249 и удалены 9393 устаревших пакетов;

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

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

Кстати согласно repology, в NixOS пакетов больше чем в любом другом дистре люникса. Даже больше чем в рачевом AUR.

Ну тут ещё нужно посмотреть, на каких принципах происходит обособление пакета. Само их число не является однозначным индикатором. Можно сделать один пакет, скажем, IceWM, а можно icewm-bin, icewm-data, icewm-themes, icewm-themes-extra...

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

Ну тут ещё нужно посмотреть, на каких принципах происходит обособление пакета. Само их число не является однозначным индикатором. Можно сделать один пакет, скажем, IceWM, а можно icewm-bin, icewm-data, icewm-themes, icewm-themes-extra…

Ичо? Это верно для всех дистров, а пакетов один хрен больше. На самом деле, во многом за счёт тонн библиотек для разных язычков, никс очень популярен среди разработчиков.

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

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

Ичо? Это верно для всех дистров, а пакетов один хрен больше.

Ты не понял, что ли? Повторюсь: чем агрессивнее подход к дроблению пакетов, тем их будет больше при прочих равных. Так что если в никсе 96 тыщ пакетов, а в дебиане 35, то это ещё не значит автоматически, что в дебиане в три раза меньше софта.

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

Ты не понял, что ли?

А что тут не понимать? Твой тезис тут: «это можно сделать иначе» и следовательно «это не нужно». Проблема в том, что никто не сделал иначе. Если тебе не нужно, просто уходи из этого треда. Тебя тут всё равно никто не любит.

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

Я не про «сделать иначе». Ты говоришь, что-де никс крут, потому что там много пакетов, в разы больше чем где-либо. А я говорю, что при желании можно из одного и того же набора софта наплодить сколько угодно пакетов, так что эта цифра ни о чём в особенности не говорит.

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

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

Я не писал про разы. Просто больше.

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

В NixOS в среднем нет этого разделения на icewm, icewm-dev и icewm-data, за очень редкими случаями. Поэтому твоя логика тут не очень работает.

Как я уже написал выше, большое число вызвано в основном огромным количеством опакеченных библиотек для разработки. Тем не менее, софта всё равно больше чем в Debian или Ubuntu. Можешь сам слазать да проверить.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.