Nors galite paleisti programas naudodami „NixOS“, nes jos atitinka aukščiau nurodytą standartą, failai nėra ten, kur jie būtų kitoje sistemoje. „NixOS“ ir „GNU Guix“ kūrėjai turi tvirtą nuomonę apie šią sistemą ir sugalvojo protingus būdus, kaip ją įgyvendinti.
Kitokia sistema
Jūsų programinės įrangos saugojimo sistema veikia funkcionalumą daug giliau, nei atrodo iš pirmo žvilgsnio. Kad programinė įranga surastų reikiamus failus, „NixOS“ naudoja simbolius. Kiekviena programa turi savo katalogą, kuriame yra vykdomasis failas ir nuorodos į jį valdančias bibliotekas.
Naudodamiesi šia organizacijos sistema, vienu metu galite įdiegti skirtingus failus ir versijas. Pagal numatytuosius nustatymus visi paketai ir jų priklausomybės turėtų būti kompiliuojami diegiant. Tačiau kiekvienam diegimui atlikti reikia daug laiko ir apdorojimo galios, yra talpyklos.
Atsisiunčiama
Naudojant „NixOS“, visada yra daugiau nei vienas būdas ką nors padaryti. Kaip ir kiti platinimai, naudodami „NixOS“, USB atmintinėje turite ISO. Jūs turite pasirinkimų, kaip norite įdiegti „NixOS“ savo platinime. Tačiau prieš išsamiau aptariant šią temą, svarbu suprasti, kad yra dvi šiek tiek painios šio proceso dalys.
Pirma, „Nix“ skiriasi nuo „NixOS“ ir turite suprasti skirtumą tarp „Nix“, paketų tvarkytuvės, ir „NixOS“, kuris sukonfigūruoja jūsų sistemą. Galite atsisiųsti „Nix“ paketų tvarkyklę ir naudoti ją dabartinėje sistemoje. Naudodami ją, sistemoje galite laikyti daugybę programų versijų, netrukdydami vieni kitiems.
Antra, naudojant „NixOS“, nors jūs negalite deklaruoti skaidymo schemos, visa kita galima palikti viename faile. Dauguma vartotojų automatiškai sukurtą aparatūros konfigūracijos failą palieka ramybėje. Pirmą kartą paleidę galite išsaugoti savo paketus deklaruotus faile, tačiau laikui bėgant tikriausiai padarysite atskirus failus, kuriuos importuosite į savo konfigūracijos failą.
Skirstymas
Prieš diegdami turite suskaidyti savo diskus. Kituose platinimuose yra numatytieji nustatymai, kuriuos galite sutikti; tačiau naudodami „NixOS“ turite patys suskaidyti. Padalijimas nėra labai sudėtingas, tačiau galite susidurti su sunkumais, kai turite nustatyti pasirinktos skaidymo schemos konfigūraciją. Svarbu suprasti, kad instrukcijos ir scenarijai teikia pirmenybę, jei failų sistemos yra tinkamai pažymėtos.
Standartiniame vadove rodomos skaidymo komandos. Atminkite, kad UEFI ir MBR diske komandos skiriasi, o neteisingų reikšmių nustatymas sukels daug problemų. Vadove siūloma naudoti toliau pateiktas reikšmes pradiniam diegimui, tačiau išbandyti naujas vertes yra tikrai lengva.
Standartinės pertvaros:
MBR:
išsiskyrė / dev / sda - mkpart pirminis 1MiB -8GiB
„parted / dev / sda“ - „mkpart“ pagrindinis „Linux-swap“ -8GiB 100%
UEFI:
išsiskyrė / dev / sda - mklabel gptišsiskyrė / dev / sda - mkpart pirminis 512MiB -8GiB
„parted / dev / sda“ - „mkpart“ pagrindinis „Linux-swap“ -8GiB 100%
parted / dev / sda - mkpart ESP fat32 1MiB 512MiB
parted / dev / sda - nustatykite 3 esp
Pertvarų montavimas į MBR:
„mkswap -L swap“ / „dev / sda2“mount / dev / disk / by-label / nixos
Pertvarų montavimas į UEFI:
mount / dev / disk / by-label / nixos / mntmkdir -p / mnt / boot
mount / dev / disk / by-label / boot / mnt / boot
Kitame skyriuje bus parodyta, kaip sukurti konfigūracijos failą.
„Config“ failas
Kai sukonfigūruosite savo diskus, galėsite pradėti konfigūracijos procesą. Naudodami „NixOS“ pirmiausia sukonfigūruokite, o tada įdiekite. Šiose instrukcijose daroma prielaida, kad įkrovėte naudodami ISO, bet galite paleisti naudodami „chroot“.
Naudodama „nixos-generator-config“, sistema sukuria standartinį konfigūracijos failą.
$ nixos-generuoti-konfigūruoti-šaknis / mntŠi komanda sukuria du failus: / mnt / etc / nixos / hardware-configuration.nix (šio failo nekeičiate) ir / mnt / etc / nixos / configuration.nix. Antrąjį failą galite redaguoti savo mėgstamiausiame redaktoriuje.
Paprastai parinktys nesikeičia, atsižvelgiant į įkrovos metodą. Galite naudoti „grub“ arba kitą įkrovos konfigūraciją. Yra daugybė variantų, tačiau čia yra keletas standartų.
Pridėkite šią eilutę tik MBR:
bagažinė.krautuvas.grub.prietaisas = "dev / sda";Pridėkite šias eilutes tik UEFI:
bagažinė.krautuvas.„systemd-boot“.įgalinti = tiesa;bagažinė.krautuvas.efi.canTouchEfiVariables = true;
Norėdami pradėti, kuo mažiau pakeiskite konfigūracijos failus. Šios vertės yra visos pirminiame faile: tiesiog panaikinkite jų komentavimą ir atlikite pakeitimus, kad atitiktų jūsų poreikius.
tinklų kūrimas.hostName = "nixos";vartotojų.Vartotojas.nixos =
isNormalUser = tiesa;
extraGroups = "ratas"
aplinka.systemPackages = su pkgs [
wget vim
];
paslaugos.opensh.įgalinti = tiesa;
Pridėkite paketus, kuriuos norite naudoti kaip standartinius paketus. Visi standartiniai paketai pateikiami laužtiniuose skliaustuose su „wget“ ir „vim“. Kai sistema veikia, galite įdiegti daugiau paketų.
Pastatas
Kai jūsų konfigūracijos failas bus teisingas, galėsite paleisti diegimą.
$ nixos-installTada diegimo programa paprašys šakninio slaptažodžio, kuris bus naudojamas tikrojoje sistemoje. Visos programos bus sudarytos arba atsisiųstos iš talpyklos.nixpkgs.org ir tada įdiegta „nix“ parduotuvėje jūsų kompiuteryje. Tada galite paleisti iš naujo ir turėtumėte gauti prisijungimo raginimą.
$ perkrautiDabar pateikite savo vartotojo slaptažodį naudodami root. Vartotojas, kurį apibrėžėte konfigūracijos faile, taip pat turės namų katalogą.
Nauja konfig
Atlikę pirmiau nurodytus veiksmus, galite žaisti aplink konfigūracijos failą. Kai ką nors pakeisite, išbandykite to neįdiegę taip:
$ nixos-atstatymo testasGavę naujas gerai veikiančias vertes, paleiskite komandą atstatyti:
$ nixos-rebuild jungiklisDabar pamatysite, ar tinkamai nustatėte įkrovos vertes. Svarbu pažymėti, kad konfigūracijos pakeitimai yra grįžtami. Galite paprasčiausiai paleisti iš naujo ir pasirinkti senesnę versiją, vadinamą karta, ir bandyti dar kartą. Tačiau kiekvienai konfigūracijai reikia vietos diske, todėl įsitikinkite, kad esate susipažinę su šiukšlių surinkimo funkcija.
Išvada
Norėdami nustatyti „NixOS“, reikia atlikti kelis rankinius veiksmus, tačiau galite grįžti į veikiančią sistemą daug greičiau nei naudodami kitas sistemas. Be to, versijų valdymas yra lengvesnis, jei jums reikia daug tos pačios programos versijų arba jei jums reikia daugybės tų pačių bibliotekų versijų. Iš pirmo žvilgsnio gali atrodyti, kad yra daug apribojimų, tačiau šiuos apribojimus galima įveikti pažangesnėmis sistemos dalimis.