The OpenNET Project / Index page

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

Выпуск дистрибутива NixOS 22.05, использующего пакетный менеджер Nix

31.05.2022 08:10

Состоялся выпуск дистрибутива NixOS 22.05, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS вся настройка системы происходит посредством единого файла системной конфигурации (configuration.nix), предоставляется возможность быстрого отката системы на предыдущую версию конфигурации, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями, есть возможность одновременного использования нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа с KDE 1.7 ГБ, GNOME - 2.2 ГБ, сокращённого консольного варианта - 820 МБ.

Основные новшества:

  • Для упрощения установки дистрибутива предложен графический инсталлятор, основанный на фреймворке Calamares, который используется для создания инсталляторов в таких проектах, как Manjaro, Sabayon, Chakra, NetRunner, KaOS, OpenMandriva и KDE neon. Новый инсталлятор по умолчанию поставляется в iso-образах с GNOME и KDE.
  • Добавлено 9345 пакетов, удалено 5874 пакетов, обновлено 10666 пакетов. Обновлены версии пакетов, в том числе GNOME 42, systemd 250, PHP 8.1, Pulseaudio 15, PostgreSQL 14.
  • Добавлено более 89 новых сервисов, среди которых aesmd (Intel SGX Architectural Enclave Service Manager), rootless Docker (для запуска Docker без прав root), matrix-conduit (matrix-сервер), apfs (Apple File System), FRRouting (реализация протоколов маршрутизации), snowflake-proxy (прокси для обхода цензурирования трафика), pgadmin4 (GUI для управления PostgreSQL), moosefs (распределённая ФС), nbd (Network Block Device) Удалено 27 сервисов, в основном с устаревшими ветками программ или завязанных на Python2.
  • Пакетный менеджер Nix обновлён до версии 2.8, в котором предложена поддержка отдельно активируемых экспериментальных возможностей (flake). Например, добавлена экспериментальная команда "nix fmt" для подключения обработчиков форматирования вывода и экспериментальный режим "impure" для генерации отличающихся при каждой сборке целевых путей к содержимому. Для различных опций предоставлена поддержка загрузки содержимого из входного потока (например, "--file -").
  • Пакет с браузером Firefox для архитектуры x86_64 собран с оптимизациями на основе результатов профилирования кода (PGO) для повышения производительности.
  • Добавлен обработчик security.acme.defaults для упрощения настройки получения TLS-сертификатов.

При использовании Nix результат сборки пакетов хранится в отдельной поддиректории в /nix/store. Например, после сборки пакет firefox может записываться в /nix/store/1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4-firefox-100.0.1/, где "1onlv2pc3ez4n5nskg6ew7twcfd0c5cecec5d4" является хешем всех его зависимостей и инструкций сборки. Под установкой пакета подразумевается его сборка или скачивание уже собранного (при условии, что он был уже собран на Hydra - сервисе сборки проекта NixOS), а также формирование директории с символическими ссылками на все пакеты в профиле системы или пользователя, с последующим добавлении этой директории в список PATH. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix. Коллекция пакетов представлена в специальном репозитории Nixpkgs.

  1. Главная ссылка к новости (https://nixos.org/blog/announc...)
  2. OpenNews: Выпуск дистрибутива NixOS 21.11, использующего пакетный менеджер Nix
  3. OpenNews: В NixOS обеспечена поддержка повторяемых сборок для iso-образа
  4. OpenNews: Выпуск системы инициализации GNU Shepherd 0.9
  5. OpenNews: Выпуск GNU Mes 0.23, инструментария для самодостаточной сборки дистрибутивов
  6. OpenNews: Доступен пакетный менеджер GNU Guix 1.3 и дистрибутив на его основе
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/57277-nixos
Ключевые слова: nixos, nix
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (120) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, dullish (ok), 09:19, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –19 +/
    Линь с реестром? Прикольно...
     
     
  • 2.5, hefenud (ok), 09:28, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    При чем тут реестр, чувак?
    Фишка NixOS в том, что у тебя есть единый конфигурационный файл, не реестр в бинарном виде, а один файл из которого ты получаешь на другом компе полную копию системы фактически одной командой(ну чуть больше)

    Для десктопа вообще идеально. Для серверов проблематично в сопровождении и главное в случае если с автором что-то случается, то непонятно кто это сможет еще поддерживать.

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

     
     
  • 3.8, Fracta1L (ok), 09:41, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    > ты получаешь на другом компе полную копию системы фактически одной командой(ну чуть больше)

    Т.е. они изобрели максимально кpacноглазый rsync. Крутотень 😄

     
     
  • 4.10, Аноним (10), 10:00, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Они зашли несколько дальше, получив воспроизводимую систему с верификацией пакетов.
     
     
  • 5.15, Аноним (15), 11:02, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В едином конфигурационном файле и версии пакетов прописываются?
     
     
  • 6.19, рус1110шфашист1110ш (?), 11:14, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Версии в локфайле.
     
     
  • 7.36, ананоша (?), 14:49, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для flakes. Для channel-ов то, что в снепшоте nixpkgs репы
     
  • 5.22, Fracta1L (ok), 12:00, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Идеальная система для десктопа это которая воспроизводимая с верификацией пакетов, я правильно понял?
     
     
  • 6.50, Аноним (10), 17:57, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Десктопы бывают разные, сервера тоже.

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

    Десктопы бывают одноразовые - ноутбуки выездных работников это расходник. Полный бэк системы стоит сильно дороже, чем юзера документы + конфиг.

    Так что если тебе не нужно - не нужно только тебе.

     
  • 4.94, Аноним (94), 11:04, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скорее максимально кpacноглазый и ненужный docker
     
  • 3.27, ip1982 (ok), 12:51, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Для десктопа вообще идеально. Для серверов проблематично

    Идеально как раз для серверов: https://git.pashev.ru/nixsap/about/

     
     
  • 4.37, hefenud (ok), 15:02, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Понимаешь, какое дело, это будет прекрасно, пока ты живой. А вот кирпич прилетел и за тобой надо кому-то принять сервера. А у тебя там NixOS. И все, млять! Крындец

    Это я так году в 2008 или 2009 нарвался на контору в которой на серверах прежний админ держал Gentoo и Слоулярис. Ну да, все работало, потому что ему было по приколу. А после него это поддерживать это была жесть. Вот и с NixOS так же. Пока это твой личный сервер все классно и тебе радостно, а внедрять такое где-то — очень плохая идея

     
     
  • 5.44, ананоша (?), 16:07, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как и с языками программирования. На голанге/расте/етс раньше тоже мало писателей было, но это не означало, что языки не подходят для написания утилит. Вопрос в количестве людей, владеющих инструментом
     
  • 5.78, Anonim (??), 21:36, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это я так году в 2008 или 2009 нарвался на контору в которой на серверах прежний админ держал Gentoo и Слоулярис. Ну да, все работало, потому что ему было по приколу. А после него это поддерживать это была жесть.

    А не надо врать на собеседовании, что знаешь как работать с Gentoo и Solaris.

    Если же ты "быстробучаемый, готов к ненормированному дню", то есть документация по операционной системе, и (о ужас!) ещё книги можно почитать... Удивительно, правда?

     
  • 5.83, Аноним (83), 01:20, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    То, что NixOS в качестве сервера в проде кто-то может поставить, это я верю, чуд... большой текст свёрнут, показать
     
     
  • 6.100, Анонин (?), 15:59, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://blog.flyingcircus.io/2015/11/09/announcing-our-new-nixos-based-platfor

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

     
  • 6.126, Аноним (126), 21:25, 03/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу ничего ужасного в Gentoo. Везде есть свои плюсы и минусы. У RedHat, например, тоже своего идиотизма хватает.
    С Solaris — это ещё более интересная тема. Как правило, эта операционная система устанавливается на оборудовании для специализированных решений. Её можно любить, можно ненавидеть, но если она где-то установлена — значит, на это были свои причины.  
    Не забываем, что выбор любого ПО соответствует своей задаче. Если у предыдущего админа всё работало — выбор был сделан верно.

    Поэтому разговоры о "СЕБЕ удобнее" — это от лукавого. Есть задача, есть решение.

    Не бывает плохих операционных систем, бывают плохие системные администраторы.

     
  • 3.38, Гыгыгы (?), 15:03, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >не реестр в бинарном виде, а один файл

    Текстовый реестр. Суть от этого не поменялась.

     
     
  • 4.43, hefenud (ok), 16:04, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты можешь взять реестр и из него одной командой поставить обратно винду со всем ПО?
    Да ты — фокусник и сказочник
     
     
  • 5.52, Гыгыгы (?), 18:24, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Если написать для этого спецсофт — то да.

    От того, что с помощью реестра можно делать копию системы, он не перестаёт быть реестром.

     
     
  • 6.92, Аноним (-), 10:12, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кто будет пердолится со спец. софтом на маздае? Ты что-ли?
     
     
  • 7.102, Гыгыгы (?), 18:33, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Твоя вонь как-то обнулила мой аргумент? Я тебя огорчу, но нет, суть осталась прежней.
     
  • 6.96, Аноним (96), 12:41, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ссылки он из астрала брать будет, этот спецсофт? Или в яндексе искать? Или там будет база данных по 500000 скринсейверам и 700000 чистилкам реестра и вот этому всему? И сам нажимать Далее Далее Да Нет Не-уверен? И кряки сам качать с кейгенами? :)

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

     
     
  • 7.103, Гыгыгы (?), 18:35, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как это поменяло мой тезис? Вы вообще логику умеете?
     
  • 6.97, a_kusb (ok), 12:47, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, это и правда похоже на реестр потому что все настройки в одном месте. Но суть была другой.
     
     
  • 7.105, Гыгыгы (?), 18:36, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так это он и есть. И уязвимость та же: в случае сбоя ФС и потери файла у вас теряются все настройки.
     
     
  • 8.110, a_kusb (ok), 17:58, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Что немного дико, файлы это же абстракция, только и всего ... текст свёрнут, показать
     
     
  • 9.116, Гыгыгы (?), 20:17, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вся мнимая или, как принято говорить, виртуальная реальность 8212 абстракци... текст свёрнут, показать
     
  • 8.120, Аноним (120), 23:34, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего плохого не происходит Пересобираешь образ из гита, подтягиваешь данные и... текст свёрнут, показать
     
  • 4.95, Аноним (94), 11:06, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно, особенно если учесть, что виндовый реестр вырос таким из SYSTEM.INI
     
  • 4.111, Аноним (120), 19:55, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Текстовый реестр. Суть от этого не поменялась.

    Это исходный код на языке Nix, позволяющий собрать доменно-специфичный дистрибутив GNU/Linux. А ты — балабол и тролль.

     
     
  • 5.117, Гыгыгы (?), 20:20, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Это исходный код на языке Nix, позволяющий собрать доменно-специфичный дистрибутив GNU/Linux.

    Про это в новости ни слова. Вот что в новости есть:

    >в  NixOS вся настройка системы происходит посредством единого файла системной конфигурации (configuration.nix)

    Это и есть реестр.

    > А ты — балабол и тролль.

    Да не, это ты — клован, не умеющий читать комментарии и видеть нить обсуждения. Можешь подправить новость, если она не верна,но какие претензии ко мне? Я комментирую то, что увидел.

     
     
  • 6.121, Аноня (?), 00:59, 03/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Данная им тебе характеристика не далека от истины
     
     
  • 7.125, Гыгыгы (?), 18:38, 03/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Данная им тебе характеристика не далека от истины

    А ты что такое, чтобы вердикты выносить? Мамку свою повоспитывай. Я же без твоего «мнения» обойдусь.

     

  • 1.2, Аноним (2), 09:23, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А как там с потреблением памяти?
     
  • 1.3, Аноним (3), 09:23, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вроде и норм, но на деле получается солянка из nix конфига и строк отсутствующих в nix оригинальных конфигов.
     
     
  • 2.28, ip1982 (ok), 13:04, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это зависит не от инструмента, а от человека => https://git.pashev.ru/nixsap/about/
     

  • 1.4, Арчевод (?), 09:27, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Лучше Арча всё равно ничего не придумали.
     
     
  • 2.23, EuPhobos (ok), 12:01, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Запятую после "Арча" пропустил.. А лучше точку и остальное сотри.
     
     
  • 3.35, Аноним (35), 14:46, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Но почему? Исходное сообщение вполне грамотное. Я вообще замечаю, что сейчас народ злоупотребляет запятыми.
     
     
  • 4.84, Привет Иван иванычу (?), 01:29, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тут вот какое дело, если вы были не в курсе, то, если вспомнить школьный курс по... большой текст свёрнут, показать
     
  • 4.122, EuPhobos (ok), 06:40, 03/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Но почему? Исходное сообщение вполне грамотное. Я вообще замечаю, что сейчас народ
    > злоупотребляет запятыми.

    грамотность тут ни при чём. Главное смысл, аля: "казнить нельзя помиловать"

     

  • 1.6, Аноним (96), 09:30, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Как-то хотел поставить в VirtualBox, так он не поставился, упал на сборке модуля для VirtualBox... неглобально и ненадёжно.
     
     
  • 2.30, Аноним (30), 14:27, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    эксгибиционист чтоле ?  есть же https://nixos.org/download.html#nixos-virtualbox
     

  • 1.7, Аноним (7), 09:39, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Хороший, годный дистрибутив. Совмещает compiletime-настраиваемость генты со всеми плюсами binary-based дистров (пока не меняешь compiletime-опции и не патчишь пакеты, скачиваются уже собранные). Ну и всю систему можно описать на едином DSL, от fstab до... i3wm, от настроек GRUB до... фиксированного списка расширений для Chromium — единый DSL вместо каждый раз нового синтаксиса для разных программ. А с Impermanence появляется возможность явного указания списка папок, хранящего стейт; никакие другие файлы/папки не переживут перезагрузку. Таким образом при рестарте словно бы загружаешься в свежеустановленную систему. Остальные дистры после NixOS воспринимаются просто как какая-то неконтролируемая непредсказуемая мутабельная фигня. Ну кроме Guix, разумеется.
     
     
  • 2.9, Аноним (35), 09:56, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ok, тебе удалось продать мне NixOS. Поставлю на следующем ноутбуке.
     
     
  • 3.13, Попандопала (?), 10:44, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Намекаете на уникальность Calculate, Sabayon, Slackware, FreeBSD?
     
  • 2.14, Аноним (14), 10:50, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ну-ка скажи, как в никсось openrc вкорячить.
     
     
  • 3.32, ананоша (?), 14:39, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Теоретически ты можешь это сделать, но тебе придётся переписать почти всю ось, и заодно stage2.nix
     
  • 3.46, Аноним (-), 17:19, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не нужно, есть systemd
     
  • 3.53, Аноним (53), 18:34, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Элементарно. Пишешь модули для поддержки openrc. Можешь как flake оформить, а можешь прямо в мейнстрим вмержить.
     
  • 2.16, Аноним (16), 11:04, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Совмещает compiletime-настраиваемость генты

    Не вовмещает. Пересборка из исходников не заложена как функция в nixos. Приходится изощряться. Опций пересборки как в gentoo нет.

     
     
  • 3.82, Я (??), 00:28, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    NixOS собирается из исходников ровно так же как и Gentoo Nix позволяет не перес... большой текст свёрнут, показать
     
     
  • 4.89, Аноним (89), 09:56, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо, был не прав. А как флаги компиляции указать для нативной? Где их прописать?
     
     
  • 5.90, Аноним (89), 10:05, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Плохая у nixos документация. Почему я должен читать это в исходнике?
    https://github.com/NixOS/nixpkgs/blob/master/lib/systems/architectures.nix
    На сайте нет ни слова о пересборке системы. Опции для gcc не ищутся на сайте. Почему я должен натыкаться на них на неофициальной вики? Сколько ещё опций не задокументированы? А если я захочу оптимизировать rust, go и тд, почему здесь только для gcc?
     
     
  • 6.98, Я (??), 14:16, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Плохая у nixos документация. Почему я должен читать это в исходнике?
    > https://github.com/NixOS/nixpkgs/blob/master/lib/systems/architectures.nix
    > На сайте нет ни слова о пересборке системы. Опции для gcc не ищутся на сайте.
    > Почему я должен натыкаться на них на неофициальной
    > вики? Сколько ещё опций не задокументированы?

    Никто не написал. Можете pull-request отправить или завести баг в https://github.com/NixOS/nixpkgs/issues, чтобы кто-нибудь помог написать.

    https://nixos.wiki/wiki/Build_flags - хорошее интро.

    > А если я захочу оптимизировать  rust, go и тд, почему здесь только для gcc?

    Хороший вопрос. Я бы посмотрел в исходник соответствующих билдеров.

     
  • 6.112, Аноним (120), 20:00, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему я должен читать это в исходнике?

    Потому, что есть более приоритетные задачи и ими занимаются в первую очередь. Напоминаю, что это всё ещё опенсорс и тебе никто ничего не должен. Эффективным решением в данном случае было бы — раз уж ты разобрался — дополнить документацию. Но вместо этого ты выбрал жаловаться на опеннете.

     
  • 2.17, Аноним (16), 11:06, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Остальные дистры после NixOS воспринимаются просто как какая-то неконтролируемая непредсказуемая мутабельная фигня.

    У меня наоборот сложилось мнение, после того как видел в логе ошибки при генерации nix'ом конфигов. За тебя решили что там nix генерирует из своего конфига. Это вопрос доверия и компетентности ментейнеров nix.

     
     
  • 3.21, рус1110шфашист1110ш (?), 11:22, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Уж точно компетентнее современного арча.

     
  • 3.31, ананоша (?), 14:36, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если ты не доверяешь, можешь написать все необходимые модули самостоятельно
     
  • 3.68, Аноним (120), 20:08, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если ты не LFS на локалхост ставишь, вопрос доверия и компетентности не снимается в любом случае. Сказать-то что хотел?
     
  • 2.33, Аноним (30), 14:40, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    а если сравнивать с Guix ?
     
     
  • 3.39, ананоша (?), 15:10, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Можно и на гуйх, если фанат лиспа)
     
  • 3.42, pashev.ru (?), 16:01, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Guix - это фронтенд к Никсу.
     
  • 2.45, Аноним (45), 17:03, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу нишу NixOS. Не понимаю смысла существования сабжа. Я, конечно, тыкал все это... но восторга не разделаю. Слишком сложно и не особо нужно.
     
     
  • 3.54, Аноним (53), 18:36, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Слишком сложно

    IT вообще не для слабых умом так-то.

     
     
  • 4.104, Аноним (104), 18:35, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    М'аик?
     
  • 2.69, Аноним (69), 20:26, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не дистрибутив, а тестовый полигон:
    * Костыльная реализация, помойка из симлинков и патчинг всего и вся, чтобы хоть как-то заработало.
    * Cопровождение "пакетов" организовано ужасно, качество - ниже всяких ожиданий. Не предсказуема ни сборка, ни работоспособность программ из официального репозитория.
    * "Единый" DSL-конфиг существенно меняется от обновления к обновлению. Потому что это никакой не DSL, а тонна мутабельного кода на доморощенном языке сваленного в кучу вместо пакетов и настроек.
    * Безумное потребление оперативной памяти при "обновлениях".

    Все "преимущества" NixOS (иммутабельность, слепки корня, глобальная конфигурация) можно реализовать в любом дистрибутиве на коленке, куда меньшим количеством костылей, проще в сопровождении, понятнее и удобнее в использовании.

     
     
  • 3.74, Аноня (?), 20:45, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Все "преимущества" NixOS (иммутабельность, слепки корня, глобальная конфигурация) можно реализовать в любом дистрибутиве на коленке, куда меньшим количеством костылей, проще в сопровождении, понятнее и удобнее в использовании.

    Но делать это я конечно же не буду

     
  • 3.106, Аноним (104), 18:39, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Костыльная реализация, помойка из симлинков и патчинг всего и вся, чтобы хоть как-то заработало.

    LFS напомнили.

     

  • 1.11, Аноним (11), 10:32, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Боженьки, что творится. Что же там в установке упрощать-то? Сделать разметку диска и выполнить 1 команду нужно было
     
     
  • 2.18, Аноним (96), 11:12, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    теперь можно выполнить полкоманды
     

  • 1.24, Robin Hood (?), 12:04, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Каковы минимальные требования? На (уж простите) 4 пне пойдет?
     
     
  • 2.40, Аноним (40), 15:12, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Nix очень жруч на оперативку при работе, при сборке NixOS легко может отъесть 2ГБ.
     
     
  • 3.108, Дворник (??), 14:43, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, пересборка и правда память кушает, но не сказал бы, что это серьёзная проблема.
    На витруалке самой дешёвой с 512 мегами памяти оно чуть медленно летает, если, конечно, не забыть предварительно включить своп.
     
     
  • 4.113, Аноним (120), 20:05, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пользуюсь на весьма широком спектре оборудования, от серверов с полутерабайтом рам до ультрадешёвых трэш-впс со 128 мегабайтами без свопа. Куда смотреть и что делать, чтобы увидеть тормоза? Ядро и прикладной софт собираю из тех же самых исходников, что и все.
     

  • 1.34, ананоша (?), 14:45, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Для тех, кто не понимает, представьте что вся система генерится из Dockerfile, написанном на более гибком DSL/языке.
    Для тех, кто хочет войти в nixos, приготовьтесь к серьезном ломке мышления)
     
  • 1.41, 45b5ea4 (ok), 15:47, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а он полностью рабочий уже?
    Вроде как он не совсем юзабельный был.

    Для обычного пользователя как?
    Всё работать будет?
    Не имею ввиду игры, конечно.

     
     
  • 2.55, Аноним (53), 18:38, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пользуюсь уже три года. Везде, от локалхостов до прода на сотнях серверов в нескольких ДЦ. Но ты прав, если не осилил Nix, он вообще неюзабельный.
     
     
  • 3.86, 45b5ea4 (ok), 04:34, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я его не юзал.
     
     
  • 4.114, Аноним (120), 20:06, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мог не говорить, это было ясно изначально.
     
  • 3.87, Аноним (30), 08:10, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    nix это что, язык программирования такой ?
     
     
  • 4.88, Анонин (?), 09:44, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В том числе, да.
     

  • 1.47, Аноним (47), 17:27, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня один вопрос, а что там с обновлением между версиями? То есть допустим есть у пользователя этот прекрасный единый Конфиг, то как он натягивается на новый выпуск с кучей изменённых пакетов?
     
     
  • 2.48, Аноним (48), 17:40, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Складывает в общий каталог /nix, делает симлинки на новые версии, все. Получается вроде дерева системы, отсюда и воспроизводимость и возможность откатиться на прежнее состояние. может я ошибаюсь, пусть эксперты поправят.
     
     
  • 3.56, Аноним (56), 18:50, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот выпустили новую версию программы, у которой нарушена совместимость с предыдущими версиями в конфигах. Версии в едином конфиге не зафиксированы? Если собрать всё вместе, то конфиг от старой к новой версии не подойдёт? Или это как-то обходится?
     
     
  • 4.59, ананоша (?), 19:27, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зависит от того, что понимается под программой. Модули в никсос (часть репы nixpkgs) настраивают в основном системный софт: грубо /etc. Для /home и дотфайлов есть отдельный проект от сообщества - home-manager. Когда в nixpkgs обновляют версию какого-то пакета, для него правится соответствующий ему nix-файл, в котором описывается как генерится конфигурация этого пакета. Когда ты обновляешься, ты выкачиваешь определённый снапшот репы nixpkgs с этими "nix-инструкциями" для всех пакетов. Запускаешь ребилд системы и если твоя старая конфигурация конфликтует, у тя просто ребилд не сработает и у тя система не обновится, пока ты не пофиксишь брейкинг ченджес. То же самое для home-manager и /home, если оно нужно
     
     
  • 5.77, Аноним (56), 21:33, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за пояснения.
    home-manager наверное нужен на многопользовательской системе, где у каждого пользователя могут быть свои настройки программ
     
     
  • 6.115, Аноним (120), 20:14, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не только. Удобно ещё по разным системам раскатывать своё рабочее окружение и организованно его везде обновлять. У меня, например, есть десктоп, два лаптопа от разных заказчиков и шелл-аккаунт на одном коммунальном сервере в интернете. Везде у моего юзера одинаковые настройки, версии софта, конфиги итп, хотя на десктопе NixOS, на сервере Убунта, а на лаптопах и вовсе макось без рута. Связка из Nix + home-manager позволяет практически не зависеть от хост-системы и её настроек. Это, наверное, самый популярный вариант использования Nix.
     
  • 4.61, Аноним (48), 19:42, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Приведи пример. В никсос обычно настройки софта оборачивают в никс выражения, типа option = true, если что то поменяется, скорее всего выплюнет в вывод, мол эта функция больше не используется - поменяйте на это, я так думаю. Версии не зафиксированы, но с flakes вроде как можно зафиксировать сам срез nixpkgs.
     
     
  • 5.79, Аноним (56), 21:48, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я имел ввиду что-то типа ситуации, когда в старой версии программы нужно в конфигурационном файле указывать, например, optionOld = true, а в новой версии - optionNew = true. Получается, что у Никса есть алгоритм преобразования "единого конфига" в набор конкретных файлов для конечных программ? Получается вроде "компилятора", который выкидывает ошибки, если встречает незнакомые опции конфигов?
    Насчёт фиксации "зафиксировать сам срез nixpkgs.". А как там указывается версия среза? Что на вроде как Арче есть arch rollback machine (там указывается дата, на которую фиксируются пакеты)? Или там нечто вроде версии самого "основополагающего пакета", который тянет за собой автоматом нужные версии других пакетов? :-)
     
     
  • 6.81, Аноня (?), 23:20, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Nixpkgs это просто набор файлов с конфигурациями. В этих конфигурациях прописываются конкретные версии. Например, в ssh.nix: { name = "ssh"; version = "8.3.1"; src = "https://somewhere.com/ssh-${version}.tar.gz"; ... }.
    Срез nixpkgs это просто определенный коммит репы, в котором захардкожены эти версии.
     

  • 1.49, Аноним (48), 17:53, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как там вообще софт упаковывать? Ну то есть, если я правильно понимаю - создаешь каталог, в нем shell.nix с описанием пакета, собираем, устанавливаем, и тут он появится в профиле пользователя, так? а как сделать чтобы пакет устанавливался в системный профиль?

    а что с flakes? оно готово? а то оно вроде как в экспериментальных с версии 2.4. смысл есть начинать с flakes?

     
     
  • 2.60, ананоша (?), 19:38, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Под упаковкой понимается использование чего-то чего нет в nixpkgs? Для этого предпочтительно создавать overlay, который внедрится в сборочный процесс. И для установки в систему просто добавить в environment.systemPackages = [pkgs.mycoolpkg]
    Что касается флейков, то все уже переехали на них по ощущениям, сомневаюсь что по ним будет откат, так что да, лучше начинать уже с них
     
     
  • 3.65, Аноним (48), 19:57, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я имел ввиду софт недоступный в nixpkgs. Я правильно понял, нужно создать директорию(overlay) где будут храниться собственные пакеты(настроенные на сборку с помощью flakes), затем в системный конфиг указываю на этот overlay, и тогда никс будет каждый раз собирать мои пакеты, а в случае если версия не менялась оставлять старую версию? ядро тоже можно собирать как обчный пакет?
     
     
  • 4.70, Аноним (120), 20:28, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я правильно понял, нужно создать директорию(overlay) где будут храниться собственные пакеты(настроенные на сборку с помощью flakes), затем в системный конфиг указываю на этот overlay, и тогда

    В общих чертах так. А в деталях разберёшься сам, когда начнёшь пользоваться.

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

    Почти так. Nix отслеживает версию и параметры сборки твоего софта + версии и параметры сборки всех зависимостей, любое изменение в этой цепочке, ожидаемо, приведёт к пересборке всех изменившихся частей.

    > ядро тоже можно собирать как обчный пакет?

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

     
     
  • 5.75, Аноним (48), 20:54, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я понял, спасибо отписавшимся.

    Про ядро можно уточнить, если ядро будет со своим конфигом, будет ли никс при смене версии запускать мне menuconfig, вообще можно добиться такого поведения?

     
     
  • 6.118, Аноним (120), 20:20, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сборка не предполагает никакого интерактивного процесса, она герметична и избавлена от сайд-эффектов насколько это возможно. Для того, что ты хочешь есть удобные инструменты, позволяющие получить шелл внутри герметичного окружения для дальнейших экспериментов. В этом шелле можно запустить menuconfig и потом использовать финальный .config для сборки ядра «в прод».
     
  • 2.62, ананоша (?), 19:44, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А shell.nix описывает не упаковку софта, а скорее какое-то временное окружение которое тебе надо в этой директории. Например в директории проекта тебе нужна нода, монга и ещё что-то, все это описываешь и для работы над этим проектом у тебя временно ставится весь этот софт либо явно через запуск nix-shell ..., либо через direnv какой-нибудь.
     
     
  • 3.66, Аноним (48), 19:58, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    да, тут я немного запутался, я имел ввиду flakes и default.nix. хотя я и тут не уверен, но мысль надеюсь понятна
     
  • 3.73, Аноним (120), 20:41, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для проектов рекомендую https://github.com/numtide/devshell.
     

  • 1.51, Аноним (51), 18:10, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В никсосе есть возможность для блэклиста опред. файлов/директорий? Я обычно добавляю в блэклист эти директории /usr/share/{backgrounds,doc,gtk-doc,licenses}, ну там ещё по мелочи.

    Стандартный профиль всё ещё bloat? (помню когда-то ставил никсос, там в стандартной поставке был nano и ещё куча ненужных пакетов(точно не вспомню))

    Возможно попробую на него снова перейти, т.к. хуже FHS ничего нет.

     
     
  • 2.64, ананоша (?), 19:49, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот здесь список пакетов:
    https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/system-path.

    Nano входит в список default, а не required, т.е. можно можно убрать, если хочется

     
     
  • 3.67, Аноним (48), 20:04, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    как это делается(убрать)?
     
     
  • 4.71, Аноним (120), 20:30, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Переопределением списка пакетов по умолчанию.
     
  • 4.76, Аноня (?), 21:07, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    environment.defaultPackages = [];
    Возможно mkForce нужен. Я сейчас сходу чет не скажу, переопределит оно весь дефолтный лист, или будет пытаться примержить к нему
     
  • 2.109, Дворник (??), 14:47, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там оно, хехе, несколько не так всё:
    $ find /usr
    /usr
    /usr/bin
    /usr/bin/env


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

     

  • 1.58, Аноним (-), 19:17, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1. Обычный десктопный NixOS сколько занимает места на диске?

    2. При стандартном месячном обновлении сколько трафика съедает? Гигабайт?

     
     
  • 2.72, Аноним (120), 20:37, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 1. Обычный десктопный NixOS сколько занимает места на диске?

    Зависит от того какой софт ты ставишь, сколько предыдущих поколений системы ты хранишь, как сильно изменился набор софта между поколениями, как часто ты запускаешь 'nix-collect-garbage', оптимизируешь ли ты '/nix/store' и так далее.

    > 2. При стандартном месячном обновлении сколько трафика съедает? Гигабайт?

    См. выше.

     
     
  • 3.91, Аноним (-), 10:09, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хитро ты так вывернулся. Читал, что NixOS и GUIX имеют конские размеры и это отпугивает.

    P.S.
    Когда-то хотел перейти на Генту, после того как один гентушник сказал, что "ежемесячно он выкачиват гигабайта сырцов, а то и больше", я расхотел переходить на Генту.

     
     
  • 4.119, Аноним (120), 20:26, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну какие вводные, такой и ответ Я ж не знаю, что ты там мутишь и что для тебя ... большой текст свёрнут, показать
     
     
  • 5.123, Аноним (-), 13:25, 03/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >У тебя что, не анлим? Сборочный агрегат таки выкачивает по гигабайту при апдейтах, да

    Анлим. Дело не в этом. Юниксовое воспитание привило мне культуру при котором маленькие сишные программы это тру.

    >у меня там хватает блобов в виде телеграмов, тимсов и прочей нечисти.

    Я брезгую пихать на свой Desktop ФСБ-шный телеграмм.

     
     
  • 6.127, Аноним (120), 04:31, 05/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для бесед на темы идеологии и шапочек из фольги тебе придётся кого-то другого поискать.
     
  • 5.124, scor (ok), 14:52, 03/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > на машине, которая собирает для сети из ~400 серверов:

    Можно поинтересоваться немного?:)
    - Чистую NixOS юзаете или только Nix как пакетный менеджер?
    - Чем деплоитесь, если не секрет? NixOps, Terraform, с тимплейтов, другое что-то, или своё написали?

     
     
  • 6.128, Аноним (120), 04:44, 05/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > - Чистую NixOS юзаете или только Nix как пакетный менеджер?

    На хостах и AWS только NixOS, в виртуальных окружениях NixOS и Ubuntu.

    > - Чем деплоитесь, если не секрет? NixOps, Terraform, с тимплейтов, другое что-то, или своё написали?

    Раньше был NixOps, сейчас flake+systemd юнит. AWS весь на Terraform. Своего обвяза совсем немного.

     
  • 2.99, Я (??), 14:45, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > 1. Обычный десктопный NixOS сколько занимает места на диске?

    У меня 16GB (с wine, ghc, rust, qt). В 10-20 GB должен вписаться без проблем.

    > 2. При стандартном месячном обновлении сколько трафика съедает? Гигабайт?

    Хороший вопрос. Думаю, от канала зависит (unstable или release-22.05). Обычно большие изменения (типа обновления gcc или glibc) заливаются раз в пару недель в unstable. В release попадают чаще только security updates (и ядра с браузерами).

    Я бы сказал, что большие обновления качают почти всю систему целиком. Так что 1-2 GB в неделю (или в месяц, если обновляться реже).

     

  • 1.85, Аноним (85), 04:28, 01/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Прикольная хрень, если поиграться неженатику-энтузиасту дома (виртуалка все стерпит). Нет, интересно как идея и все такое, пробовал, что-то из их фич наверняка войдет в мейнстрим. Но внедрять на работе,  как тут один писал - безумие, слишком сырое и специфичное. Есть отраслевые стандарты, не надо выделываться, за глупый риск можно потерять работу и серьезно попасть на бабки. "Я не такой как все, смотрите, насколько я прогрессивен". Угу, удачи. Если заглядывать в будущее - лучше уж Fedora Silverblue с атомарностью-устойчивостью, есть доки,  форумы, вроде как к этому движется все (посмотрим).
     
     
  • 2.93, Аноня (?), 10:18, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Докер со своими слоями тоже раньше казался прикольной хренью для поиграться
     
  • 2.101, Анонин (?), 16:06, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Fedora Silverblue на сервер ставить будешь? Ну-ну.

    > с атомарностью-устойчивостью, есть доки,  форумы, вроде как к этому движется все

    Это всё давно есть и у NixOS, только лучше.

     
  • 2.107, Аноним (-), 14:38, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Прикольная хрень, если поиграться неженатику-энтузиасту дома

    Такой бодрый и толстый тролль.

    >(виртуалка все стерпит).

    Тролль-вендузятник.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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