NixOS Full Review og Hands-on
Når du kategoriserer Linux-distributioner, er det ofte nyttigt at angive hvilket pakkehåndteringssystem distributionen bruger. Der er mange forskellige pakkehåndteringssystemer i brug, men de to mest populære er sandsynligvis de .deb og .rpm-formater. Den første kommer fra Debian og bruges af Ubuntu, mens den anden er udviklet af RedHat.
NixOS er en Linux distribution med sin egen unikke pakkeleder. Hele operativsystemet, herunder kernen, applikationer, systempakker og konfigurationsfiler, er bygget af Nix-pakkechefen. Nix Package Manager bruger en declarative systemkonfigurationsmodel. Dette betyder, at systemkonfigurationselementer beskrives i en konfigurationsfil, og operativsystemet gør alt, hvad der er nødvendigt for at få konfigurationen til at ske.
Hvis en systemadministrator vil installere en SSH-server, er alt, hvad de behøver at gøre, tilføjet en linje til konfigurationen for at aktivere den pågældende tjeneste. NixOS vil derefter downloade og installere OpenSHH, plus generere de relevante konfigurationsfiler.
Et andet interessant træk ved NixOS er, at det opbevarer alle sine pakker isoleret fra hinanden; som følge heraf er der ingen / bin, / sbin, / lib eller / usr mapper. Alle pakker opbevares i / nix / store i stedet. Dette sammen med den deklarative konfigurationsmodel gør opgraderingen af NixOS-systemer pålidelige og giver OS mulighed for at implementere en transaktionsmæssig tilgang til systemstyring, herunder evnen til at rulle opgraderinger.
Den deklarative konfigurationsmodel gør det også nemt at gengive en systemkonfiguration på en anden maskine. Administratoren kopierer bare konfigurationsfilen til den nye NixOS-maskine, og med en kommando bliver maskinen omdannet til at bruge samme kerne, applikationer, systemtjenester og så videre.
For at prøve NixOS skal du downloade .ISO-filen fra projektets downloadside, brænde den på en cd og starte din pc fra den. Når du først har startet, vil du blive præsenteret med en tekst login prompt. Indtast "root" som brugernavn og tryk ENTER. NixOS installationsprogrammet gør ikke partitionering eller formatering, så du skal oprette og formatere partitionerne manuelt.
Bemærk : Følgende kommandoer sletter ALT på disken. Vær forsigtig med at gå med forsigtighed.
Indtast følgende:
fdisk / dev / sda
Hvor "/ dev / sda" er navnet på den disk, du vil bruge, i dette tilfælde den første harddisk i pc'en.
I fdisk skal du skrive "o" for at oprette en tom partitionstabel. Skriv "n, p, 1, ENTER, + 2G, t, 82" for at oprette en ny primær partition af 2Gb, der skal bruges som bytteplads. Skriv nu "n, p, 2, ENTER, ENTER" for at oprette en ny primær partition til NixOS installationen. Afslut ud af fdisk ved hjælp af "w". Hvis du vil bruge ledig plads på disken uden at slette de eksisterende data, skal du ikke oprette en tom partitionstabel og ændre din partitioneringsordning i overensstemmelse hermed.
Aktivér swap space ved hjælp af:
mkswap -L swap / dev / sda1 swapon / dev / sda1
Formatér nu den anden partition:
mkfs.ext4 -L nixos / dev / sda2
Monter nu den nye partition:
mount / dev / disk / by-label / nixos / mnt
Beskrivende konfigurationsfiler er kernen i NixOS og Nix Package Manager. Selv installationsprocessen har brug for en konfigurationsfil for at fortælle NixOS, hvad der skal installeres. Sådan genereres en standard konfigurationsfiltype:
nixos-generate-config - root / mnt
Rediger nu den resulterende fil ved hjælp af nano:
nano /mnt/etc/nixos/configuration.nix
Find følgende linjer og fjern "#" -tegnet fra begyndelsen:
- boot.loader.grub.device = "/ dev / sda"
- services.openssh.enable = true
- services.xserver.enable = true
- services.xserver.layout = "us"
- services.xserver.desktopManager.kde4.enable = true;
- services.xserver.displayManager.kdm.enable = true;
Exit nano ved hjælp af CTRL-X og start installationen:
nixos-install
Når installationen er færdig, skal du genstarte dit system. Du skal fjerne cd'en eller vælge "Boot from hard disk", hvis du startede fra det optiske drev.
Systemet skal starte op i displayhåndteringen; Du kan dog ikke logge ind, da der ikke er defineret nogen brugere, og root logins er ikke tilladt på skrivebordet. Tryk på CTRL + ALT + F1 for at skifte til en konsol.
Log nu på som root og tilføj en bruger. Sådan oprettes brugeren "gary":
brugeradd-gary passwd gary
Du skal også ændre root password med "passwd".
Tryk på CTRL + ALT + F7 for at komme tilbage til den grafiske login prompt og logge ind med brugernavnet og adgangskoden, du oprettede ovenfor.
NixOS indeholder ikke en grafisk pakkehåndtering som Ubuntu eller Fedora, og alle pakkekommandoer skal køres fra terminalen. For at liste alle tilgængelige pakketype:
nix-env-qa \ *
Du kan bruge "grep" for at finde bestemte pakker. Sådan søger du efter substringet "ild":
nix-env-qa \ * | grep -i ild
I listen bliver Firefox-browseren. For at installere det skal du bruge:
nix-env -i firefox
Den måde, hvorpå vi tilføjede brugeren og den måde, vi installerede Firefox på, kaldes imperativ forvaltning. Du udfører en kommando, og det sker. Men kraften i NixOS er i dens deklarative ledelse. Med declarative management fortæller systemadministratoren NixOS, hvad der skal opnås, og NixOS sikrer, at det sker uden at bryde systemet.
For eksempel at tilføje en bruger ved hjælp af deklarativ brugeradministration, rediger "/etc/nixos/configuration.nix" (som root). Tilføj følgende linjer i slutningen af filen, men før den sidste "}":
users.extraUsers.alice = {createHome = true; home = "/ home / alice"; ekstragrupper = ["hjul"]; useDefaultShell = true; };
For at installere en pakke, tilføj følgende linje til filen configuration.nix:
environment.systemPackages = [pkgs.thunderbird];
For at handling den nye configuration.nix-fil skal du bruge kommandoen nixos-rebuild:
nixos-rebuild switch
Denne kommando gør alt, hvad der er nødvendigt for at få konfigurationen til at ske, herunder at downloade Thunderbird og oprette den nye bruger osv.
NixOS magt er formidabel. Hvis du vil gå dybere, skal du se på NixOS manualen, og hvis du har brug for hjælp, skal du prøve NixOS-fællesskabssiden.