Nix пакет менеджерин колдонуу менен NixOS 19.03 бөлүштүрүүнү чыгаруу

Состоялся выпуск дистрибутива NixOS 19.03, основанного на пакетном менеджере Nix и предоставляющего ряд собственных разработок, упрощающих настройку и сопровождение системы. Например, в NixOS используется единый файл системной конфигурации (configuration.nix), предоставляется возможность быстрого отката обновлений, присутствует поддержка переключения между различными состояниями системы, поддерживается установка индивидуальных пакетов отдельными пользователями (пакет ставится в домашнюю директорию), возможна одновременная установка нескольких версий одной программы. Размер полного установочного образа с KDE — 1 Гб, сокращённого консольного варианта — 400 Мб.

Негизги инновациялар:

  • В состав включено десктоп-окружение Pantheon, разрабатываемое проектом Elementary OS (включение через services.xserver.desktopManager.pantheon.enable);
  • Kubernetes контейнер оркестри системасы менен модулу олуттуу түрдө кайра иштелип чыккан жана өзүнчө компоненттерге бөлүнгөн. Коопсуздукту жогорулатуу үчүн TLS жана RBAC демейки боюнча иштетилет;
  • Croot чөйрөсүндө кызматтарды иштетүү үчүн systemd.services үчүн кошумча опциялар;
  • Колдоо менен Aarch64 архитектурасы үчүн орнотуу сүрөтү кошулду
    UEFI;

  • Бөлүштүрүү компоненттеринин жаңыланган версиялары, анын ичинде CPython 3.7 (3.6 болгон);
  • Кошулган 22 жаңы кызматтар, анын ичинде CockroachDB, bolt, lirc,
    roundcube, weechat жана түйүн.

Nix колдонууда пакеттер өзүнчө каталог дарагына орнотулат /nix/store же колдонуучунун каталогундагы подкаталог. Мисалы, топтом /nix/store/f3a4h95649f394358bh52d4vf7a1f3-firefox-66.0.3/ катары орнотулган, мында "f3a4h9..." көз карандылыкты көзөмөлдөө үчүн колдонулган уникалдуу топтом идентификатору. Пакеттер колдонмолордун иштеши үчүн зарыл болгон компоненттерди камтыган контейнерлер катары иштелип чыккан.

Пакеттердин ортосундагы көз карандылыктарды аныктоого болот жана орнотулган көз карандылыктардын бар-жоктугун издөө үчүн орнотулган пакеттердин каталогунда сканирлөөчү идентификатор хэштери колдонулат. Репозиторийден даяр бинардык пакеттерди жүктөп алууга болот (бинардык пакеттерге жаңыртууларды орнотуп жатканда, бир гана дельта өзгөрүүлөр жүктөлөт), же бардык көз карандылыктар менен баштапкы коддон куруу. Пакеттердин коллекциясы Nixpkgs атайын репозиторийинде берилген.

Source: opennet.ru

Комментарий кошуу