När du kategoriserar Linux-distributioner är det ofta användbart att ange vilket pakethanteringssystem distributionen använder. Det finns många olika pakethanteringssystem som används, men de två mest populära är förmodligen .deb och .rpm-format. Den första kommer från Debian och används av Ubuntu, medan den andra utvecklades av RedHat.

NixOS är en Linux-distribution med sin egen unika paketchef. Hela operativsystemet, inklusive kärnan, applikationer, systempaket och konfigurationsfiler, är byggda av Nix-pakethanteraren. Nix Package Manager använder en deklarativ systemkonfigurationsmodell. Det betyder att systemkonfigurationspunkter beskrivs i en konfigurationsfil, och operativsystemet gör allt som behövs för att konfigurationen ska kunna hända.

Om en systemadministratör vill installera en SSH-server är allt som behövs för att lägga till en rad i konfigurationen för att aktivera den tjänsten. NixOS kommer då att ladda ner och installera OpenSHH, plus generera relevanta konfigurationsfiler.

En annan intressant egenskap hos NixOS är att det lagrar alla sina paket i isolering från varandra; som ett resultat finns det inga / bin, / sbin, / lib eller / usr-kataloger. Alla paket hålls i / nix / butiken istället. Detta, tillsammans med deklarative konfigurationsmodellen, gör uppgraderingen av NixOS-system tillförlitliga och gör det möjligt för operativsystemet att implementera ett affärsmässigt tillvägagångssätt för systemhantering, inklusive möjligheten att rulla uppgraderingar.

Den deklarativa konfigurationsmodellen gör det också enkelt att återge en systemkonfiguration på en annan maskin. Administratören kopierar bara konfigurationsfilen till den nya NixOS-maskinen och med ett kommando kommer maskinen att omvandlas för att använda samma kärna, program, systemtjänster och så vidare.

För att prova NixOS, ladda ner .ISO-filen från projektets nedladdningssida, bränna den på en CD och starta datorn från den. När du startat upp, kommer du att presenteras med en textinloggningsprompning. Ange "root" som användarnamn och tryck på ENTER. NixOS-installationsprogrammet gör ingen partitionering eller formatering, så du måste skapa och formatera partitionerna manuellt.

Obs! Följande kommandon kommer radera ALLA på disken; vänligen försök med försiktighet.

Skriv följande:

 fdisk / dev / sda 

Där "/ dev / sda" är namnet på den skiva du vill använda, i det här fallet den första hårddisken i datorn.

I fdisk skriver du "o" för att skapa en tom partitionstabell. Skriv "n, p, 1, ENTER, + 2G, t, 82" för att skapa en ny primär partition av 2Gb som ska användas som byteutrymme. Skriv nu "n, p, 2, ENTER, ENTER" för att skapa en ny primär partition för NixOS-installationen. Avsluta från fdisk med "w". Om du vill använda ledigt utrymme på disken utan att radera befintliga data skapar du inte ett tomt partitionstabell och ändrar din partitioneringsordning i enlighet med detta.

Aktivera byteutrymmet med:

 mkswap -L swap / dev / sda1 swapon / dev / sda1 

Formatera nu den andra partitionen:

 mkfs.ext4 -L nixos / dev / sda2 

Montera nu den nya partitionen:

 mount / dev / disk / by-label / nixos / mnt 

Beskrivande konfigurationsfiler är centrala för NixOS och Nix Package Manager. Även installationsprocessen behöver en konfigurationsfil för att berätta för NixOS vad som ska installeras. Så här skapar du en standardkonfigurationsfiltyp:

 nixos-generate-config - root / mnt 

Redigera nu den resulterande filen med nano:

 nano /mnt/etc/nixos/configuration.nix 

Hitta följande rader och ta bort "#" -tecknet från början:

  • boot.loader.grub.device = "/ dev / sda"
  • services.openssh.enable = true
  • services.xserver.enable = true
  • services.xserver.layout = "oss"
  • services.xserver.desktopManager.kde4.enable = true;
  • services.xserver.displayManager.kdm.enable = true;

Avsluta nano med CTRL-X och starta installationen:

 nixos-install 

När installationen är klar startar du om systemet. Du måste ta bort cd-skivan eller välja alternativet "Boot from hard disk" om du startade från den optiska enheten.

Systemet bör starta i bildskärmshanteraren; Du kan dock inte logga in eftersom det inte finns några användare definierade, och root-inloggningar är inte tillåtna på skrivbordet. Tryck på CTRL + ALT + F1 för att växla till en konsol.

Logga in som root och lägg till en användare. Så här skapar du användaren "gary":

 Useradd -m Gary Passwd Gary 

Du bör också ändra root-lösenordet med "passwd".

Tryck CTRL + ALT + F7 för att komma tillbaka till den grafiska inloggningsprompten och logga in med användarnamnet och lösenordet du skapade ovan.

NixOS innehåller inte en grafisk pakethanterare som Ubuntu eller Fedora och alla paketkommandon måste köras från terminalen. För att lista alla tillgängliga pakettyp:

 nix-env-qa \ * 

Du kan använda "grep" för att hitta vissa paket. Så här söker du efter substrängen "eld":

 nix-env-qa \ * | grep -i eld 

I listan blir Firefox webbläsare. För att installera använder du:

 nix-env -i firefox 

Det sätt som vi lade till användaren och hur vi installerade Firefox kallas nödvändig hantering. Du utför ett kommando och det händer. Men kraften hos NixOS är i dess deklarativa ledning. Med deklarativ hantering berättar systemadministratören NixOS vad som behöver uppnås, och NixOS kommer att se till att det sker utan att bryta systemet.

Till exempel, för att lägga till en användare som använder deklarativ användarhantering, redigera "/etc/nixos/configuration.nix" (som root). Lägg till följande rader i slutet av filen, men före den sista "}":

 users.extraUsers.alice = {createHome = true; home = "/ home / alice"; extragrupper = ["hjul"]; useDefaultShell = true; }; 

För att installera ett paket lägger du till följande rad i filen configuration.nix:

 environment.systemPackages = [pkgs.thunderbird]; 

För att agera den nya configuration.nix-filen, använd kommandot nixos-rebuild:

 nixos-rebuild switch 

Detta kommando gör allt som behövs för att konfigurationen ska hända, inklusive nedladdning av Thunderbird och skapande av den nya användaren etc.

Kraften hos NixOS är formidabel. Om du vill gå djupare bör du titta på NixOS manualen och om du behöver hjälp ska du prova NixOS community sida.