Wydano dystrybucję NixOS 21.11, opartą na menedżerze pakietów Nix, która oferuje szereg własnych rozwiązań upraszczających konfigurację i utrzymanie systemu. Na przykład w NixOS używany jest jeden plik konfiguracji systemu (configuration.nix), istnieje możliwość szybkiego cofania aktualizacji, wspierane jest przełączanie między różnymi stanami systemu, pozwala się na instalację indywidualnych pakietów przez poszczególnych użytkowników (pakiet instalowany jest w katalogu domowym), możliwa jest jednoczesna instalacja wielu wersji tej samej aplikacji oraz zapewnione są powtarzalne kompilacje. Rozmiar pełnego obrazu instalacyjnego z KDE wynosi 1,6 GB, z GNOME — 2 GB, a skróconej wersji konsolowej — 765 MB.
Główne nowości:
- Domyślny pulpit KDE Plasma został przetłumaczony na korzystanie z protokołu Wayland. Odświeżono pulpity GNOME 41 i Pantheon 6 (z Elementary OS 6).
- Zamiast iptables zastosowano zestaw iptables-nft, który udostępnia narzędzia z tym samym składnią wiersza poleceń, ale tłumaczy otrzymane reguły na bajtkod nf_tables.
- Zaktualizowano wersje Systemd 249, PHP 8.0, Pythona 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1.
- Znacząco poprawiono wsparcie dla systemu zarządzania kontenerami LXD. Zrealizowano możliwość budowy obrazów dla LXD z plików konfiguracyjnych za pomocą nixpkgs. Zapewnia się budowę obrazów nixOS z pełnym wsparciem nixos-rebuild, które można używać samodzielnie.
- Dodano ponad 40 nowych usług, w tym Git, btrbk (kopie zapasowe btrfs), clipcat (menedżer schowka), dex (dostawca OAuth 2.0), Jibri (serwis do nagrywania konferencji Jitsi Meet), Kea (serwer DHCP), owncast (streaming wideo), PeerTube, ucarp (implementacja protokołu CARP), opensnitch (dynamiczny zapora sieciowa), Hockeypuck (serwer kluczy OpenPGP), MeshCentral (analog TeamViewer), influxdb2 (baza danych do przechowywania metryk), fluidd (interfejs webowy do zarządzania drukarkami 3D), postfixadmin (interfejs webowy do zarządzania pocztą na bazie Postfix), seafile (platforma do przechowywania danych w chmurze). serwerem na bazie Postfix), seafile (platforma chmurowego przechowywania danych).
Podczas korzystania z Nix, pakiety są instalowane w oddzielnej strukturze katalogów /nix/store lub w podkatalogu katalogu użytkownika. Na przykład, pakiet jest instalowany jako /nix/store/a2b5…8b163-firefox-94.0.2/, gdzie «a2b5…» to unikalny identyfikator pakietu, używany do kontroli zależności. Pakiety są zorganizowane w kontenery, które zawierają wszystkie potrzebne komponenty do działania aplikacji. Podobne podejście stosowane jest w menedżerze pakietów GNU Guix, który opiera się na rozwiązaniach Nix.
Możliwe jest definiowanie zależności między pakietami, przy czym w celu sprawdzenia obecności już zainstalowanych zależności używane jest skanowanie identyfikatorów haszy w katalogu zainstalowanych pakietów. Możliwa jest zarówno pobranie gotowych binarnych pakietów z repozytorium (przy instalacji aktualizacji do binarnych pakietów pobierane są tylko delta-zmiany), jak i kompilacja z kodu źródłowego z wszystkimi zależnościami. Kolekcja pakietów jest dostępna w specjalnym repozytorium Nixpkgs.
Źródło: opennet.ru
