NixOS

En gennemgang af NixOS

En gennemgang af NixOS
De fleste anmeldelser går over desktopværktøjer og standardværktøjer, men sådanne anmeldelser er ikke særlig nyttige til at beskrive NixOS, da NixOSs kraft ligger andetsteds. Folk, der vælger NixOS, skal være villige til at lave deres egen partitionering, og du vil ikke gøre dem nogen tjenester ved at fortælle dem, at standard desktop manager kan passe til deres behov.

Når det er sagt, hvis du kan følge NixOS-manualen, vil du have det godt. Du kan vælge et standard skrivebordsmiljø, hvis du vil, men sørg for at du er fortrolig med kommandolinjen og kan redigere en tekstfil til konfigurationsopgaver.

En stærk konfiguration

Evnen til at konfigurere NixOS er både en fordel og en udfordring. Traditionelle pakkeadministratorer bringer pakken ind i den etablerede LSB-struktur af filerne. I NixOS placerer installationsprogrammet filerne i butikken med en hash før den. Denne konvention lyder måske kompliceret, men den muliggør mange funktioner.

Når du installerer et program, forbereder pakkehåndtereren en mappe med alle filer og tilføjer links til de positioner, hvor de skal placeres. Det kopierer også afhængighederne i samme bibliotek og forbinder dem i strukturen. For at spore hvilke programmer der har brug for hvilke afhængigheder, bruges en profil. Med butikken og profilerne kan du have mange forskellige kombinationer af pakker.

Du kan også skifte over med et par kommandoer, og det er super nemt at rulle tilbage: Vælg bare den gamle generation ved næste genstart. Hvis du leger med konfigurationer, vil du ende med mange generationer. Du kan dog bruge nix-collect-garbage -d til at rydde opstartspartitionen (selvom du skal køre kommandoen nixos-rebuild!).

Håndtering af revisioner

I Nix Store, hvor al din software er gemt, har du en fil til hver eksekverbar. Ved første øjekast ser denne konvention ikke anderledes ud end dem, der er vedtaget af andre systemer; der er dog en stor forskel: Hver gang du opgraderer, tilføjes en ny binær og derefter linkes til din profil, hvilket meget hurtigt kan føre til spildt diskplads.

For at løse dette problem er der en anden affaldsindsamlingsmulighed, som er det samme program, der bruges med hele systemet. Hvis du kun har brug for gamle revisioner i en kort testperiode, kan du indstille systemctl til at køre med et jævnt interval. Desuden kan du spare diskplads ved hjælp af kommandoen 'nix-store -optimise', som finder identiske filer i butikken og linker filerne til den ene fil.

Opsætning af udviklingsmiljøer

Først synes det svært at udvikle software med dette system. Faktisk kan du starte en shell med et specifikt udviklingsmiljø hver gang. Når du vælger et miljø, installerer nix-shell det miljø, du har brug for, så du kan starte et specifikt miljø til et ulige sprog, du aldrig bruger, eller oprette en fil, der samler alt, hvad du normalt har brug for.

Docker og andre skyer

NixOS er et operativsystem, og Nix er en pakkehåndtering. De to arbejder sammen om at give en ligetil og reproducerbar konfigurationsproces. Med andre ord, hvis du opretter en komplet konfigurationsfil, der dækker alle dine behov, så kan du bruge den til din næste maskine.

Installationsproceduren starter med at detektere hardware. I det andet trin definerer du dit miljø og systempakker ved hjælp af konfigurationen.nix-fil. Når du har det rigtige indhold i filen, gendanner installationsprogrammet det samme system, når du bruger det på en anden maskine.

Denne funktionalitet er nyttig, fordi en ny disk kun har brug for filen til almindelige systemer for at genopbygge dit system (ud over din sikkerhedskopi af brugerfiler, selvfølgelig). Desuden har du til cloud computing en endnu større fordel: Mens de filer, du har brug for at skrive til et dockerbillede, er virkelig lange, er den tilsvarende fil til NixOS kort og nem at flytte mellem systemer. Derudover kan du bruge importfunktionen til at oprette specielle nix-filer til dine ulige konfigurationer og importere dem til din konfiguration.

Billede, snap og flatpak

Mens NixOS har mange strålende måder at køre dine applikationer på og adskille dem fra hinanden, leveres en masse software på andre måder. Appimages og Flatpak er nemme at bruge til at distribuere pakker. Heldigvis har NixOS pakker til håndtering af disse formater, og du kan installere disse pakker til at køre dine foretrukne AppImages og Flatpaks. Du kan definere pakkerne i din konfiguration.nix-fil, og få dem tilgængelige, når du har brug for dem.

Konklusion

NixOs virker skræmmende, fordi det ikke har noget grafisk installationsprogram, og du skal oprette en konfigurationsfil. Men kun i NixOS indstiller du de samme værdier i begge tilfælde. For at sikkerhedskopiere et NixOS-system, ikke brugerfilerne, er der kun brug for en enkelt fil. Med denne fil genskaber systemet pakkerne og indstillingerne. Desuden leverer NixOS en indbygget metode til at køre en shell i et bestemt miljø: Brug bare den samme filtype! I filens standard.nix, kan du definere alle dine biblioteker og afhængigheder og derefter køre nix-shell i den mappe.

Dette system har meget potentiale. Prøv det: Du kan starte med din egen distribution og nix pakkehåndtering.

Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...
Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...