NixOS Full Review og hands-on
Når du kategoriserer Linux-distribusjoner, er det ofte nyttig å angi hvilket pakkehåndteringssystem distribusjonen bruker. Det er mange forskjellige pakkehåndteringssystemer i bruk, men de to mest populære er sannsynligvis .deb og .rpm formater. Den første kommer fra Debian og brukes av Ubuntu, mens den andre ble utviklet av RedHat.
NixOS er en Linux-distribusjon med sin egen unike pakkebehandling. Hele operativsystemet, inkludert kjernen, applikasjoner, systempakker og konfigurasjonsfiler, er bygd av Nix-pakkebehandleren. Nix Package Manager bruker en deklarativ systemkonfigurasjonsmodell. Dette betyr at systemkonfigurasjonselementer er beskrevet i en konfigurasjonsfil, og operativsystemet gjør alt som er nødvendig for at konfigurasjonen skal skje.
Hvis en systemadministrator ønsker å installere en SSH-server, er alt de trenger å gjøre, å legge til en linje i konfigurasjonen for å aktivere den tjenesten. NixOS vil da laste ned og installere OpenSHH, pluss generere de relevante konfigurasjonsfilene.
En annen interessant funksjon av NixOS er at den lagrer alle pakkene i isolasjon fra hverandre; Som et resultat er det ingen / bin, / sbin, / lib eller / usr kataloger. Alle pakkene holdes i / nix / butikk i stedet. Dette, sammen med deklarative konfigurasjonsmodellen, gjør oppgraderingen av NixOS-systemene pålitelige og gjør at operativsystemet kan implementere en transaksjonell tilnærming til systemadministrasjon, inkludert muligheten til å rulle oppgraderinger.
Den deklarative konfigurasjonsmodellen gjør det også enkelt å gjengi en systemkonfigurasjon på en annen maskin. Administrasjonen kopierer bare konfigurasjonsfilen til den nye NixOS-maskinen, og med en kommando blir maskinen omformet for å bruke samme kjernen, applikasjoner, systemtjenester og så videre.
For å prøve ut NixOS, last ned .ISO-filen fra prosjektets nedlastingsside, brenne den på en CD og starte datamaskinen fra den. Når du har startet opp, vil du bli presentert med en tekstinnloggingsprompt. Skriv inn "root" som brukernavn og trykk ENTER. NixOS-installatøren gjør ikke partisjonering eller formatering, så du må opprette og formatere partisjonene manuelt.
Merk : Følgende kommandoer vil slette ALT på disken; vennligst fortsett med forsiktighet.
Skriv inn følgende:
fdisk / dev / sda
Hvor "/ dev / sda" er navnet på disken du vil bruke, i dette tilfellet den første harddisken i PCen.
I fdisk skriver du "o" for å opprette et tomt partisjonstabell. Skriv "n, p, 1, ENTER, + 2G, t, 82" for å lage en ny primærpartisjon av 2Gb som skal brukes som bytteplass. Skriv nå "n, p, 2, ENTER, ENTER" for å opprette en ny primærpartisjon for NixOS-installasjonen. Gå ut av fdisk ved å bruke "w". Hvis du vil bruke ledig plass på disken uten å slette eksisterende data, må du ikke opprette et tomt partisjonstabell og endre partisjonssystemet i henhold til dette.
Aktiver swapplassen ved å bruke:
mkswap -L bytte / dev / sda1 swapon / dev / sda1
Formater nå den andre partisjonen:
mkfs.ext4 -L nixos / dev / sda2
Monter nå den nye partisjonen:
mount / dev / disk / by-label / nixos / mnt
Beskrivende konfigurasjonsfiler er i hjertet av NixOS og Nix Package Manager. Selv installasjonsprosessen trenger en konfigurasjonsfil for å fortelle NixOS hva du skal installere. Slik genererer du en standard konfigurasjonsfiltype:
nixos-generate-config - root / mnt
Rediger nå den resulterende filen ved hjelp av nano:
nano /mnt/etc/nixos/configuration.nix
Finn følgende linjer og fjern "#" -tegnet fra begynnelsen:
- 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;
Avslutt nano med CTRL-X og start installasjonen:
nixos-install
Når installasjonen er fullført, start systemet på nytt. Du må fjerne CDen eller velge alternativet "Boot from hard disk" hvis du startet opp fra den optiske stasjonen.
Systemet skal starte opp i skjermhåndteringen; Du kan imidlertid ikke logge inn enda, det er ingen brukere definert, og rotlogg er ikke tillatt på skrivebordet. Trykk CTRL + ALT + F1 for å bytte til en konsoll.
Logg deg nå som root og legg til en bruker. Slik lager du brukeren "gary":
useradd -m gary passwd gary
Du bør også endre root-passordet med "passwd".
Trykk CTRL + ALT + F7 for å komme tilbake til den grafiske påloggingsprompten og logg inn med brukernavnet og passordet du opprettet ovenfor.
NixOS inkluderer ikke en grafisk pakkebehandling som Ubuntu eller Fedora, og alle pakkekommandoer må kjøres fra terminalen. For å liste alle tilgjengelige pakketyper:
nix-env-qa \ *
Du kan bruke "grep" for å finne bestemte pakker. Slik søker du etter substringen "brann":
nix-env-qa \ * | grep -i brann
I listen blir Firefox nettleseren. For å installere det, bruk:
nix-env -i firefox
Måten vi la til brukeren og måten vi installerte Firefox, kalles viktig ledelse. Du utfører en kommando og det skjer. Men kraften til NixOS er i sin deklarative ledelse. Med deklarativ ledelse forteller systemadministratoren NixOS hva som skal oppnås, og NixOS vil sikre at det skjer uten å bryte systemet.
For eksempel, for å legge til en bruker ved hjelp av deklarativ brukeradministrasjon, rediger "/etc/nixos/configuration.nix" (som root). Legg til følgende linjer på slutten av filen, men før den siste "}":
users.extraUsers.alice = {createHome = true; home = "/ home / alice"; ekstragrupper = ["hjul"]; useDefaultShell = true; };
For å installere en pakke, legg til følgende linje i filen configuration.nix:
environment.systemPackages = [pkgs.thunderbird];
For å aksjonere den nye configuration.nix-filen, bruk kommandoen nixos-rebuild:
nixos-ombyggingsbryter
Denne kommandoen gjør alt som er nødvendig for å få konfigurasjonen til å skje, inkludert nedlasting av Thunderbird og oppretting av den nye brukeren etc.
Kraften til NixOS er formidabel. Hvis du vil gå dypere, bør du se på NixOS-håndboken, og hvis du trenger hjelp, bør du prøve NixOS-fellesskapssiden.