NixOS'i distributiivide arendajad teatasid, et on rakendanud minimaalse iso-pildi (iso_minimal.x86_64-linux) terviklikkuse kontrollimise toetuse järgmise korduvate kogumite mehhanismi kaudu. Varem olid korduvad kogumid saadaval üksikute paketide tasandil, nüüd on need laiendatud ka kogu iso-pildi kohta. Iga kasutaja saab luua iso-pildi, mis on täiesti identne allalaadimiseks pakutava iso-pildiga, ja veenduda, et see on kokku pandud pakutud lähtekoodidest ega sisalda varjatud muudatusi. NixOS'i iso-pildi kontrollimiseks korduvate kogumite abil on ette valmistatud spetsiaalne skript. Järgmises etapis plaanitakse pakkuda korduvaid kogumeid täieliku GNOME'i töölauaga iso-pildi jaoks.
Korduvate koostiste loomine on oluline turvalisuse tagamise aspekt, kuna see võimaldab iseseisvalt kontrollida, et pakutud distributsiooni koostised on täpselt samad, mis isiklikult lähtekoodist koostatud. Ilma võimaluseta kontrollida binaarsete koostiste vastavust peab kasutaja lihtsalt pimesi usaldama kellegi teise koostamisinfot, mille komprimeerimine või koostamisvahendite rikutud olek võivad viia varjatud tagamärkide lisamiseni. Korduvate koostiste tagamiseks on vajalik taastada koostise sisu ja parameetrid, kasutada identsed versioonid tarkvarast, sõltuvustest ja käivituskomponentidest, välistada muutuva teabe (ajavarud, juhuslikud täitematerjalid jne) sisseviimine ning säilitada failide koostamisjärjekord ja pakettide tarnimine iso-pildis.
Meeldetuletuseks, et NixOS-i jaotust toetab Nixi paketihaldur ning see pakub mitmeid kohandatud arendusi, mis lihtsustavad süsteemi seadistamist ja hooldamist. Näiteks NixOS-is kasutatakse ühte süsteemi konfiguratsioonifaili (configuration.nix), kuid on võimalik kiiresti uuendusi tagasi pöörata, toetatakse süsteemi erinevate olekute vahetamist, ning kasutatakse võimalust paigaldada individuaalseid pakette eraldi kasutajate poolt (pakett paigaldatakse kodukatalooge) ja on võimalik sama programmi mitme versiooni samal ajal paigaldamine. Nixi kasutamisel paigaldatakse paketid eraldi kataloogipuu /nix/store või kasutaja kataloogis asuvasse alamkausta. Näiteks paigaldatakse pakett kui /nix/store/f2b5…8a563-firefox-89.0.1/, kus „f2b5…“ on paketi unikaalne identifikaator, mida kasutatakse sõltuvuste kontrolimiseks.
Pakette vormistatakse konteineriteks, mis sisaldavad rakenduste jaoks vajalikke komponente. Paketide vahel on võimalik määrata sõltuvusi, samas kui olemasolevate sõltuvuste leidmiseks kasutatakse installitud pakettide kataloogis olevate hash-id-de skaneerimist. On võimalik nii valmis binaarpakettide allalaadimine hoidlast (binaarpakettide värskenduste installimisel laaditakse alla ainult delta-muudatused) kui ka allikakoodide kogumine koos kõigi sõltuvustega. Paketitekogu on esitatud spetsiaalses Nixpkgs hoidlas.
Allikas: opennet.ru
