Ką veikia „NixOS Package Manager“?
Dauguma paketų valdytojų naudoja failą, kuriame yra vykdomasis arba šaltinio kodas. Tada jie apskaičiuoja, ko jai reikia sistemoje, ir tada įsitikina, kad ji egzistuoja. „Nix“ viskas veikia labai panašiai. Didelis skirtumas yra tas, kad „Nix“ sukuria visus failus ir prireikus juos kompiliuoja, tada įdeda į vieną vietą; nix parduotuvė. Pirmasis jūsų klausimas gali būti: „Ar failai nebus to paties pavadinimo?“Sistema to vengia, turėdama po vieną katalogą kiekvienai versijai IR visus failus pavadindama maiša. Kad programa „jaustųsi kaip namuose“, visos priklausomybės yra susietos su teisingais katalogais, naudojant įprastas nuorodas. Profilis stebi, kurią versiją naudoja kiekvienas vartotojas.
„NixOS“ vartotojo diegimai
Naudodamiesi šia sistema, kiekvieno vartotojo kataloge galite įdiegti skirtingas versijas. Jei keli vartotojai yra vienodi, administratorius gali leisti „Nix“ iš naujo susieti dvejetainius failus, todėl vienu metu egzistuoja tik vienas. Tai naudinga taupant vietą diske. Taip pat galite sukurti konkrečią aplinką kiekvienai paketo versijai. Tai ypač naudinga, kai norite išbandyti naują versiją arba sukurti programinę įrangą.
Diegimas bendram platinimui
Daugumoje įprastų platformų galite įdiegti „Nix“ - paketų tvarkyklę su paprastu scenarijumi. Šį scenarijų galima rasti „Nix“ svetainėje. Scenarijui reikės root vartotojo prieigos, tačiau jei esate labai saugus, turėtumėte perskaityti scenarijų prieš jį naudodami. Jei nenorite naudoti root scenarijuje, tiesiog sukurkite savo sistemoje katalogą / nix.
$ sh <(curl -L https://nixos.org/nix/install)Jei neturite prieigos prie šaknies arba esate labai atsargus, „Nix“ galite naudoti kaip paketo tvarkyklę tik vartotojui.
$ sh <(curl -L https://nixos.org/nix/install) -no-daemonŠis dvejetainis variantas gerai veikia daugumą, jei ne visus, paskirstymus. Platformos yra x8664, t?86, aarch64 ir x8664-darwin, kurie aprėpia beveik visas prieinamas platformas. Jei naudojate bet kurią kitą platformą, tikriausiai galite naudoti šaltinio kodą ir sukurti savo. Kai diegimas bus baigtas, turėsite daugybę naujų komandų.
Pirmosios programos įtraukimas į „NixOS“
Norėdami įdiegti programinę įrangą ir nustatyti, kada ją galima naudoti, turite nix-env. Diegimo parinktis (-i) yra labiausiai paplitusi, nes ją naudojate visada ir paketą pateikiate kaip argumentą.
$ nix-env -i firefoxTai atrodo taip pat, kaip ir kituose paskirstymuose, taip pat ir užklausos argumentas. Vis dėlto diegimas užtruks. Priežastis ta, kad ji turi sukompiliuoti programinę įrangą, nebent „Nix“ talpykloje yra iš anksto sukompiliuota versija. Talpyklos pasiekimas taip pat ne visada yra labai greitas. Yra skirtumas, į kurį turėtumėte atkreipti dėmesį; galite pasirinkti versiją! Jei norite specialaus varianto, turite rasti, kurie yra prieinami naudojant įprastus posakius.
$ nix-env -qa 'Firefox.* 'Gausite visų galimų paketų sąrašą. Galite įdiegti taip pat, bet naudodami sąrašo vertę.
$ nix-env -install 'firefox-78.4.0ser '-rezervas-įdiegtasTai gali nepavykti, jei jau turite įdiegtą versiją. Parinktis „-preserve-Install“ neištrins įdiegtos versijos. Galite gauti dvi to paties prioriteto versijas, kurias galite ištaisyti nustatydami prioritetą.
$ nix-env -set-flag 2 prioritetas 'firefox-82.0.2 'Dabar kitą kartą paleidus „Firefox“, paleisite senąją versiją. Norėdami pakeisti, kurį paleidžiate, galite atitinkamai nustatyti prioritetą. Taip pat galite paleisti apvalkalą, kad pasirinktumėte dvejetainį. Tai yra kūrėjo parinktis, o komanda yra nix-shell.
Atnaujinamas „NixOS“
Turėdami programinės įrangos kolekciją, norite būti atnaujinti. Tas pats kaip visada, jūs naudojate tą pačią komandą su argumentu. Bet jūs taip pat turite atnaujinti kanalą. Komanda yra nix-channel.
$ nix-channel - atnaujinimasTai nuskaito dabartines visų galimų paketų versijas. Po to galite pradėti atnaujinti savo programinę įrangą naudodami „nix-env“.
$ nix-env - atnaujintiTokiu atnaujinimu bus atnaujinta senoji programinės įrangos versija. Tokiu atveju senoji „Firefox“ bus pakeista naujausia. Jūs galite to nenorėti dėl kokių nors priežasčių, dažniausiai dėl vystymosi.
Programų pašalinimas iš „NixOS“
Programų pašalinimas yra vienodai paprastas, su nedideliu įspėjimu. Nei viena programa nepašalinama pašalinimo komanda.
$ nix-env -install 'firefox-78.4.0ser 'Ši komanda pašalins nuorodas į dabartinę šios „Firefox“ versijos versiją. Visi failai visada liks diske. Turite šias versijas, kad galėtumėte grįžti. Grąžinimas reiškia, kad grįšite prie senosios versijos. Tai gali būti naudinga, jei išbandėte naujausią ir turite nenumatytų problemų.
$ nix-env -rollbackGrąžinsite visą kartą, o tai reiškia visas programas, kurios buvo atnaujintos nuo paskutinės kartos. Parinktis paleidžia dvi komandas; tą sąrašą ir tada pereina į tas senąsias kartas. Visi įdiegti paketai egzistuoja kartoje diske.
„NixOS“ grąžinimas ir valymas
Grąžinimo funkcija lems, kad senose versijose bus naudojama daug vietos diske. Galite tai išvalyti (turite išvalyti!). Kai turėsite pakankamai ilgą laikotarpį, savo nuožiūra taip pat galite išvalyti šias senąsias kartas, kad sutaupytumėte vietos diske.
$ nix-env -delete-kartų senumoNaudodami šią komandą, ištrinsite visas kartas, išskyrus dvi paskutines. Sąraše galite eiti pirmyn ir atgal su sudėtingesniais parametrais, kad paliktumėte konkrečią jums geriausiai tinkančią kartą. Jei neturite daug bandymų ar plėtros projektų, kuriems atlikti reikia daug versijų, turėtumėte naudoti suplanuotą visų senų kartų pašalinimą.
Kartu su „Nix“ paketų tvarkyklės įdiegimu yra paprastas scenarijus, leidžiantis išlaikyti jūsų kartų švarą.
$ nix-collect-šiukšliųTaip pat turėtumėte nustatyti kolektorių, kad jis veiktų automatiškai naudojant „systemd“ ar kitas sistemas.
Išvada
„Nix“ paketų tvarkyklė yra galinga sistema, leidžianti jūsų kompiuteryje vykdyti sudėtingas kūrimo aplinkas. Taip pat galite jį naudoti, kad jūsų programinė įranga būtų tvarkinga ir turėtumėte paprastą būdą atkurti naują mašiną, jei įvyktų disko avarija.