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

21 апреля 2020 года

Представлен выпуск дистрибутива NixOS 20.03, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашний каталог), возможна одновременная установка нескольких версий одной программы, обеспечены воспроизводимые сборки. Размер полного установочного образа (Архивная копия от 20 февраля 2020 на Wayback Machine) с KDE - 1.2 Гб, сокращённого консольного варианта - 540 Мб.

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

  • Обновлены версии компонентов дистрибутива, в том числе ядро Linux 5.4 (было 4.19),

gcc 9.2.0, glibc 2.30, mesa 19.3.3, openssl 1.1.1d, PostgreSQL 11, OpenSSH 8.1.

  • Рабочие столы обновлены до KDE 5.17.5 (+ KDE Applications 19.12.3),

GNOME 3.34 и Pantheon 5.1.3 (из Elementary OS). При включении Pantheon через настройку services.xserver.desktopManager.pantheon.enable, автоматически включается и связанный с ним экран приглашения входа в систему.

  • В графическом инсталляторе после установки обеспечен автоматический запуск графического сеанса (раньше выводилось консольное приглашение с предложением запустить "systemctl start display-manager" если нужен графический интерфейс). Для отключения запуска экранного менеджера в загрузочное меню добавлен пункт "Disable display-manager".
  • Для ZFS-пулов обеспечен еженедельный запуск операции TRIM для накопителей NVME и SSD (настройка services.zfs.trim.enable). Если ZFS присутствует в настройке config.boot.initrd.supportedFilesystems или config.boot.supportedFilesystems также производится периодический запуск операций проверки (services.zfs.autoScrub.enable) и автоматического создания снапшотов (services.zfs.autoSnapshot.enable).
  • Код nixos-option переписан на языке C++ и расширен опцией "-r" для вывода всех настроек.
  • Настройки services.xserver.desktopManager.default и services.xserver.windowManager.default заменены на универсальную опцию services.xserver.displayManager.defaultSession (например, services.xserver.displayManager.defaultSession = "xfce+icewm").
  • Добавлено 46 новых сервисов.
  • Образы для SD-карт по умолчанию сжаты при помощи bzip2.

При использовании Nix пакеты устанавливаются в отдельное дерево директорий /nix/store или поддиректорию в каталоге пользователя. Например, пакет устанавливается как /nix/store/f2a4...8a143-firefox-75.0.0/, где "f2a4..." является уникальным идентификатором пакета, используемым для контроля зависимостей. Пакеты оформляются в виде контейнеров, содержащих необходимые для работы приложений компоненты. Аналогичный подход применяется в пакетном менеджере GNU Guix, который основан на наработках Nix.

Между пакетами возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Возможна как загрузка готовых бинарных пакетов из репозитория (при установке обновлений к бинарным пакетам загружаются только delta-изменения), так и сборка из исходных текстов со всеми зависимостями. Коллекция пакетов представлена в специальном репозитории Nixpkgs.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск дистрибутива NixOS 20.03, использующего пакетный менеджер Nix», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.