Mens du kan kjøre applikasjoner under Nixos fordi de følger standarden ovenfor, er ikke filene der de vil være i et annet system. Utviklerne av Nixos og Gnu Guix har sterke meninger om dette systemet, og de har kommet med smarte måter å overholde det.
Et annet system
Programvarelagringssystemet ditt påvirker funksjonalitet på en måte som er mye dypere enn det virker ved første øyekast. For at programvaren skal finne filene den trenger, bruker Nixos Symlinks. Hver applikasjon har sin egen katalog som inneholder kjørbar og lenker til bibliotekene som kjører den.
Med dette organisasjonssystemet kan du ha forskjellige filer og versjoner installert samtidig. Som standard bør alle pakker og deres avhengigheter sammenstille under installasjonen. Imidlertid krever det mye tid og prosesseringskraft for å gjøre det ved hver installasjon, det er hurtigbuffer.
Last ned
Med Nixos er det alltid mer enn en måte å gjøre noe på. Som andre distribusjoner, med Nixos, har du en ISO på en USB -pinne. Du har valg om hvordan du vil installere nixos på distribusjonen din. Før vi diskuterer dette emnet mer detaljert, er det imidlertid viktig å forstå at det er to litt forvirrende deler av denne prosessen.
For det første er Nix forskjellig fra Nixos, og du må forstå forskjellen mellom Nix, Package Manager og Nixos, som konfigurerer systemet ditt. Du kan laste ned Nix Package Manager og bruke den på ditt nåværende system. Med det kan du oppbevare mange versjoner av applikasjoner på systemet ditt uten at de forstyrrer hverandre.
For det andre, med Nixos, mens du ikke kan erklære partisjonsordningen, kan alt annet være igjen i en fil. De fleste brukere lar den automatisk opprette maskinvarekonfigurasjonsfilen være alene. Når du først starter, kan du oppbevare pakkene dine erklært i filen, men over tid vil du sannsynligvis lage separate filer som du importerer til konfigurasjonsfilen din.
Oppdeling
Før installasjon, må du dele opp stasjonene dine. I andre distribusjoner er det mislighold du kan godta; Imidlertid, med nixos, må du gjøre din egen partisjonering. Partisjonering er ikke veldig komplisert, men du kan komme i problemer når du må angi konfigurasjonen for partisjoneringsskjemaet du velger. Det er viktig å forstå at instruksjonene og skriptene foretrekker hvis filsystemene dine er merket riktig.
Standardhåndboken viser partisjonskommandoene. Merk at kommandoene er forskjellige for en UEFI og en MBR -disk, og å sette feil verdier vil føre til mange problemer. Manualen foreslår å bruke verdiene gitt nedenfor for den første installasjonen, men det er veldig enkelt å teste nye verdier.
Standardpartisjoner:
Mbr:
Delte /dev /sda - mklabel msdos
Deled /dev /sda -mkpart primær 1mib -8gib
Deled /dev /sda -mkpart primær linux -swap -8gib 100%
Uefi:
Deled /dev /sda - mklabel gpt
Deled /dev /sda -mkpart primær 512miB -8gib
Deled /dev /sda -mkpart primær linux -swap -8gib 100%
Deled /dev /sda - mkpart esp fat32 1mib 512miB
skilt /dev /sda - sett 3 esp på
Montering av partisjonene i MBR:
MKSWAP -L SWAP /DEV /SDA2
Mount/Dev/Disk/By-Label/Nixos
Montering av partisjonene i UEFI:
montering/dev/disk/by-etikett/nixos/mnt
mkdir -p /mnt /boot
Mount/Dev/Disk/By-Label/Boot/MNT/Boot
Den neste delen viser deg hvordan du oppretter konfigurasjonsfilen.
Konfigurasjonsfilen
Når du har satt opp diskene dine, kan du starte konfigurasjonsprosessen. Med Nixos konfigurerer du først og installerer deretter. Følgende instruksjoner antar at du har startet opp med ISO, men du kan starte opp med Chroot.
Med Nixos-Generate-Config genererer systemet en standard konfigurasjonsfil.
$ nixos-generat-config -root /mnt
Denne kommandoen oppretter to filer:/mnt/etc/nixos/maskinvarekonfigurasjon.Nix (du endrer ikke denne filen) og/MNT/etc/nixos/konfigurasjon.nix. Du kan redigere den andre filen i favorittredigereren din.
Vanligvis endres ikke alternativene avhengig av metoden som brukes til å starte opp. Du kan bruke Grub eller en annen oppstartskonfigurasjon. Det er mange alternativer, men her er noen standarder.
Legg til denne linjen for bare MBR:
støvel.laster.grub.enhet = "dev/sda";
Legg til disse linjene for bare UEFI:
støvel.laster.SystemD-boot.Aktiver = sant;
støvel.laster.Efi.CantouchEfivariables = True;
Endre konfigurasjonsfilene så lite som mulig for å starte. Disse verdiene er alle i den opprinnelige filen: bare avkomment dem og gjøre endringer for å passe dine behov.
nettverk.hostname = "nixos";
Brukere.bruker.nixos =
isNormaluser = true;
Extragroups = "Wheel"
miljø.SystemPackages = med PKGS [
WGET VIM
];
tjenester.OpenSSH.Aktiver = sant;
Legg til pakkene du vil bruke som standardpakker. Alle standardpakker går i de firkantede parentesene med WGET og VIM. Du kan installere flere pakker når systemet kjører.
Bygning
Når konfigurasjonsfilen er riktig, kan du kjøre installasjonen.
$ nixos-installer
Deretter vil installasjonsprogrammet be om et rotpassord som skal brukes på det virkelige systemet. Alle programmene vil bli samlet eller lastet ned fra cache.Nixpkgs.org og installeres deretter i Nix -butikken på datamaskinen din. Deretter kan du starte på nytt, og du bør få en påloggingsprompt.
$ omstart
Gi nå et passord for brukeren din ved hjelp av root. Brukeren du definerte i konfigurasjonsfilen vil også ha en hjemmekatalog.
Ny konfigurasjon
Når du har fullført trinnene ovenfor, kan du leke med konfigurasjonsfilen. Når du endrer noe, kan du prøve det uten å installere det som følger:
$ Nixos-Rebuild Test
Når du har nye verdier som fungerer bra, kjører du ombyggingskommandoen:
$ Nixos-Rebuild Switch
Nå vil du se om du har angitt oppstartsverdiene riktig. Det er viktig å merke seg at endringene i konfigurasjonen er reversible. Du kan ganske enkelt starte på nytt og velge en eldre versjon, som kalles en generasjon, og prøve igjen. Imidlertid krever hver konfigurasjon diskplass, så sørg for at du er kjent med søppelinnsamlingsfunksjonen.
Konklusjon
Nixos krever noen få manuelle trinn for å sette opp, men du kan gå tilbake til et løpesystem mye raskere enn med andre systemer. Videre er versjonskontroll enklere hvis du trenger mange versjoner av samme applikasjon, eller hvis du trenger mange versjoner av de samme bibliotekene. Ved første øyekast kan det se ut til å være mange begrensninger, men disse begrensningene kan overvinnes med de mer avanserte delene av systemet.