De release van NixOS 21.11, gebaseerd op de pakketmanager Nix, is een feit. Deze versie biedt verschillende eigen ontwikkelingen die de configuratie en het onderhoud van het systeem vereenvoudigen. Zo gebruikt NixOS een enkel systeemconfiguratiebestand (configuration.nix), biedt het de mogelijkheid om updates snel terug te draaien, ondersteunt het het wisselen tussen verschillende systeemtoestanden, kunnen individuele gebruikers eigen pakketten installeren (pakketten worden in de thuismap geplaatst), kunnen meerdere versies van hetzelfde programma gelijktijdig worden geïnstalleerd, en zijn er reproduceerbare builds. De grootte van de volledige installatie-image met KDE is 1,6 GB, GNOME — 2 GB, en de ingekorte consoleversie — 765 MB.
Belangrijkste vernieuwingen:
- Het KDE Plasma-desktop is standaard overgeschakeld op gebruik van het Wayland-protocol. De desktops van GNOME 41 en Pantheon 6 (van Elementary OS 6) zijn bijgewerkt.
- In plaats van iptables wordt de iptables-nft-set gebruikt, die dezelfde commandoregel-syntaxis biedt, maar de ontvangen regels naar bytecode van nf_tables vertaalt.
- De versies van Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1 zijn bijgewerkt.
- De ondersteuning van het containerbeheer systeem LXD is aanzienlijk verbeterd. Er is de mogelijkheid geïmplementeerd om images voor LXD te bouwen vanuit configuratiebestanden met behulp van nixpkgs. Er zijn images van nixOS gebouwd met volledige ondersteuning voor nixos-rebuild, die onafhankelijk kunnen worden gebruikt.
- Er zijn meer dan 40 nieuwe services toegevoegd, waaronder Git, btrbk (back-up voor btrfs), clipcat (klembordbeheerder), dex (OAuth 2.0-provider), Jibri (dienst voor het opnemen van Jitsi Meet-conferenties), Kea (DHCP-server), owncast (videostreaming), PeerTube, ucarp (implementatie van het CARP-protocol), opensnitch (dynamische firewall), Hockeypuck (OpenPGP sleutelserver), MeshCentral (alternatief voor TeamViewer), influxdb2 (database voor het opslaan van metrics), fluidd (webinterface voor het beheren van 3D-printers), postfixadmin (webinterface voor het beheren van mail op basis van Postfix), seafile (cloudopslagplatform). server op basis van Postfix), seafile (cloudopslagplatform).
Bij het gebruik van Nix worden pakketten geïnstalleerd in een aparte directoryboom /nix/store of een subdirectory in de gebruikersdirectory. Bijvoorbeeld, een pakket wordt geïnstalleerd als /nix/store/a2b5…8b163-firefox-94.0.2/, waarbij «a2b5…» een unieke identificatiecode is van het pakket, gebruikt voor het beheren van afhankelijkheden. Pakketten worden gepresenteerd als containers die de benodigde componenten voor de werking van applicaties bevatten. Een vergelijkbare aanpak wordt gebruikt in de pakketbeheerder GNU Guix, die is gebaseerd op de ontwikkelingen van Nix.
Tussen pakketten kunnen afhankelijkheden worden vastgesteld, waarbij voor het zoeken naar reeds geïnstalleerde afhankelijkheden hash-identificaties in de directory van geïnstalleerde pakketten worden gescand. Zowel het downloaden van kant-en-klare binaire pakketten uit de repository is mogelijk (bij het installeren van updates voor binaire pakketten worden alleen delta-wijzigingen gedownload) als het opbouwen uit bronbestanden met alle afhankelijkheden. De pakketcollectie is te vinden in de speciale Nixpkgs-repository.
Bron: opennet.ru
