Wydanie dystrybucji NixOS 21.11 za pomocą menedżera pakietów Nix

Wydano dystrybucję NixOS 21.11, opartą na menedżerze pakietów Nix i zapewniającą szereg własnych ulepszeń, które upraszczają konfigurację i konserwację systemu. Przykładowo NixOS wykorzystuje pojedynczy plik konfiguracyjny systemu (configuration.nix), zapewnia możliwość szybkiego cofania aktualizacji, obsługuje przełączanie pomiędzy różnymi stanami systemu, wspiera instalację poszczególnych pakietów przez poszczególnych użytkowników (pakiet umieszczany jest w katalogu domowym ) i pozwala na jednoczesną instalację kilku wersji tego samego programu, zapewniona jest powtarzalność zestawów. Rozmiar pełnego obrazu instalacyjnego z KDE wynosi 1.6 GB, GNOME to 2 GB, a skrócona wersja konsolowa to 765 MB.

Główne innowacje:

  • Pulpit KDE Plasma został domyślnie przełączony tak, aby korzystał z protokołu Wayland. Zaktualizowano komputery stacjonarne GNOME 41 i Pantheon 6 (z Elementary OS 6).
  • Zamiast iptables używany jest zestaw iptables-nft, który zapewnia narzędzia z tą samą składnią wiersza poleceń, ale tłumaczy wynikowe reguły na kod bajtowy nf_tables.
  • Zaktualizowane wersje Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1.
  • Znacząco ulepszona obsługa systemu zarządzania kontenerami LXD. Zaimplementowano możliwość budowania obrazów dla LXD z plików konfiguracyjnych przy użyciu nixpkgs. Tworzy obrazy nixOS z pełną obsługą funkcji nixos-rebuild, której można używać osobno.
  • Dodano ponad 40 nowych usług, w tym Git, btrbk (kopia zapasowa btrfs), Clipcat (menedżer schowka), dex (dostawca OAuth 2.0), Jibri (usługa nagrywania konferencji Jitsi Meet), Kea (serwer DHCP), owncast (streaming) wideo) , PeerTube, ucarp (implementacja protokołu CARP), opensnitch (dynamiczny firewall), Hockeypuck (serwer kluczy OpenPGP), MeshCentral (analogicznie do TeamViewer), influxdb2 (DBMS do przechowywania metryk), fluidd (interfejs sieciowy do zarządzania drukarkami 3D), postfixadmin (interfejs sieciowy do zarządzania serwerem pocztowym opartym na Postfix), seafile (platforma przechowywania danych w chmurze).

Podczas korzystania z Nix pakiety są instalowane w oddzielnym drzewie katalogów /nix/store lub w podkatalogu w katalogu użytkownika. Na przykład pakiet jest instalowany jako /nix/store/a2b5...8b163-firefox-94.0.2/, gdzie „a2b5…” jest unikalnym identyfikatorem pakietu używanym do monitorowania zależności. Pakiety projektowane są jako pojemniki zawierające komponenty niezbędne do działania aplikacji. Podobne podejście zastosowano w menedżerze pakietów GNU Guix, który opiera się na rozwiązaniach Nix.

Możliwe jest określenie zależności pomiędzy pakietami oraz wyszukiwanie obecności już zainstalowanych zależności, wykorzystywane jest skanowanie skrótów identyfikatorów w katalogu zainstalowanych pakietów. Możliwe jest albo pobranie gotowych pakietów binarnych z repozytorium (podczas instalowania aktualizacji pakietów binarnych pobierane są tylko zmiany delta), albo zbudowanie z kodu źródłowego ze wszystkimi zależnościami. Zbiór pakietów prezentowany jest w specjalnym repozytorium Nixpkgs.

Źródło: opennet.ru

Dodaj komentarz