Автор Гілка: Вихід дистрибутиву NixOS 22.11 "Raccoon"  (Прочитано 918 раз)

Відсутній Paimon

  • Новачок
  • *
  • дописів: 2
  • Карма: +0/-0

NixOS — це оригінальний дистрибутив Linux, побудований на власному менеджері пакетів Nix, що вирішує проблеми керування пакетами та конфігурації власним унікальним способом. Під час інсталяції систем, на яких працюють звичайні дистрибутиви Linux, зазвичай виконують такі дії, як інсталяція самого дистрибутива, а потім інсталяція додаткових спеціальних пакетів, зміна файлів конфігурації тощо, що часто є виснажливим, трудомістким і схильним до помилок процесом.

У NixOS розгортання всієї системи повністю автоматизовано та керується декларативним конфігураційним файлом, який фіксує бажані властивості системи, як-от конфігурація мережі, служби для запуску (наприклад, OpenSSH, веб-сервер Apache), робочий стіл (наприклад, Plasma Desktop, GNOME або Xfce) і пакети для кінцевого користувача (наприклад, Emacs або Mozilla Firefox). За допомогою лише однієї інструкції командного рядка можна розгорнути всю конфігурацію системи. Змінивши файл декларативної конфігурації та повторно запустивши ту саму інструкцію командного рядка, можна оновити наявну конфігурацію.

Конфігурація для розгортання веб-серверу nginx з автоматично оновлюваним SSL сертифікатом та сконфігурованим фаєрволом може виглядати так:

{ config, pkgs, ... }:
{
  networking.firewall.allowedTCPPorts = [ 80 443 ];

  security.acme.acceptTerms = true;
  security.acme.defaults.email = "admin@myhost.org";

  services.nginx.enable = true;
  services.nginx.virtualHosts."myhost.org" = {
    enableACME = true;
    forceSSL = true;
    root = "/var/www/myhost.org";
  };
}

NixOS також має кілька інших приємних властивостей. Оновлення системи завжди застосовується атомарно, тому немає причин хвилюватися, що, наприклад, вимкнення електроенергії призведе до поломки системи. Кожне оновлення NixOS перед тим як потрапити до користувачів проходить через серію автоматизованих тестів, гарантуючи його працездатність. Крім того, старіші конфігурації системи зберігаються за замовчуванням, і якщо оновлення або зміна конфігурації все ж таки щось ламає, ви завжди можете повернутися до будь-якої доступної старішої конфігурації, вибравши її в меню завантаження. Також конфігурації можна відтворити в будь-якій системі, просто надавши декларативний файл конфігурації комусь іншому.

Більше про зміну конфігурації читайте в офіційній документації.
Доступні конфігураційні опції можна знайти тут: https://search.nixos.org/options

Нове у версії 22.11

NixOS вже відомий як найсвіжіший дистрибутив і є дистрибутивом з найбільшою кількістю пакетів.
У цьому випуску додано 16678 нових пакетів, оновлено 14680 та видалено 5874 пакети, які були доступні в 22.05.
Репозиторій NixOS (nixpkgs) також містить багато модулів, які роблять NixOS такою, якою вона є. Цей випуск приніс 91 нових модулів і видалив 20, додавши 1322 конфігураційних опцій та видаливши 487.

Видатні оновлення пакетів

- Менеджер пакетів Nix було оновлено з 2.8.1 до 2.11.0
- OpenSSL тепер за замовчуванням OpenSSL 3, оновлений з 1.1.1
- GNOME оновлено з версії 42 до 43
- KDE Plasma було оновлено з версії 5.24 до 5.26
- Cinnamon оновлено з версії 5.2 до 5.4
- Версію PHP за замовчуванням оновленно з версії 8.0 до 8.1
- Тепер за замовчуванням використовується PHP версії 8.1, замість PHP 8.0
- Perl оновлено з версії 5.34.1 до 5.36, а його основний модуль HTTP::Tiny виправлено для перевірки сертифікатів SSL/TLS за замовчуванням
- Тепер за замовчуванням використовується Python версії 3.10, замість Python 3.9

Читайте докладніше в оголошенні про випуск.

Приклади використання

- Автоматизація велосипедних парковок в Нідерландах: https://av.tib.eu/media/39625
- Програмна основа для корисного навантаження штучних супутників: https://www.youtube.com/watch?v=RL2xuhU9Nhk

Локалізація

Для локалізації достатньо додати такі рядки до конфігураційного файлу та запустити sudo nixos-rebuild switch (можливо знадобиться релогін):
{ config, pkgs, ... }:
{
  console.useXkbConfig = true;
  i18n.defaultLocale = "uk_UA.UTF-8";
  services.xserver.layout = "us,ua";
  time.timeZone = "Europe/Kyiv";
}

Завантаження

Дистрибутив доступний для архітектур x86_64, i686 та aarch64. Є як мінімальні образи для інсталяції, так і графічні (Plasma Desktop та GNOME), також є можливість встановлення системи на файлову систему ZFS.
Для любителів всього найсвіжішого є можливість використання нестабільної редакції (rolling, як в Arch) з тими самими гарантіями безпеки оновлень.
Докладніше про встановлення NixOS читайте в офіційній документації.
Для оновлення існуючої системи читайте інструкції з оновлення.
« Змінено: 2022-12-01 13:03:03 від Paimon »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3673
  • Карма: +7/-0
  • Програміст
Re: Вихід дистрибутиву NixOS 22.11 "Raccoon"
« Відповідей #1 : 2022-12-02 05:19:52 »
80 тисяч пакетів на 2 тисячі підтримувачів — це по 40 пакетів на підтримувача в середньому. Якщо 90% підтримувачів підтримують 3 пакети, то 200 підтримувачів підтримують 74 тисячі пакетів, або 370 пакетів на підтримувача. Якщо оновляти 1 пакет в день, то підтримувач вернеться до того самого пакета десь через 1 рік в середньому. Напевно, пакети просто імпортуються з інших репозиторіїв (AUR?) автоматично, без перевірки змін.
[Fedora Linux]

Відсутній Paimon

  • Новачок
  • *
  • дописів: 2
  • Карма: +0/-0
Re: Вихід дистрибутиву NixOS 22.11 "Raccoon"
« Відповідей #2 : 2022-12-02 09:23:34 »
80 тисяч пакетів на 2 тисячі підтримувачів — це по 40 пакетів на підтримувача в середньому. Якщо 90% підтримувачів підтримують 3 пакети, то 200 підтримувачів підтримують 74 тисячі пакетів, або 370 пакетів на підтримувача. Якщо оновляти 1 пакет в день, то підтримувач вернеться до того самого пакета десь через 1 рік в середньому. Напевно, пакети просто імпортуються з інших репозиторіїв (AUR?) автоматично, без перевірки змін.

Все дуже автоматизовано, але всі зміни проходять через людей. Прості оновлення пакетів (~90%) йдуть через бота, який сам компілює, запускає тести та робить pull request, мейнтейнеру достатньо запустити nixpkgs-review pr 203127 щоб скомілювати пакет локально та перевірити що він точно працездатний. Також не обовʼязково бути мейнтейнером щоб оновити пакет, бюрократії як в Debian в NixOS нема. Хочеш змін - робиш pull request. Все це дозволяє тримати багато пакетів достатньо свіжими малою кількістю людей.