Što radi NixOS Package Manager?
Većina upravitelja paketa koristi datoteku koja sadrži izvršni ili izvorni kod. Zatim izračunaju što mu treba u sustavu, a zatim se uvjere da postoji. U Nixu stvari funkcioniraju vrlo slično. Velika je razlika u tome što Nix stvara sve datoteke i po potrebi ih kompajlira, a zatim ih stavlja na jedno mjesto; nix-trgovina. Prvo pitanje koje imate može biti: „Hoće li datoteke imati isto ime?”Sustav to izbjegava tako što za svaku verziju ima jedan direktorij I imenuje sve datoteke hashom. Da bi se aplikacija „osjećala kao kod kuće“, sve se ovisnosti zatim povezuju s njihovim ispravnim direktorijima pomoću uobičajenih simboličkih veza. Profil prati koju verziju svaki korisnik pokreće.
Instalacije korisnika NixOS-a
Pomoću ovog sustava možete imati različite verzije instalirane u direktoriju svakog korisnika. Ako su isti u nekoliko korisnika, administrator može dopustiti Nixu da ponovno poveže binarne datoteke, tako da odjednom postoji samo jedan. Ovo je korisno za uštedu prostora na disku. Također možete stvoriti specifična okruženja za svaku verziju paketa. To je osobito korisno kada želite testirati novu verziju ili razviti softver.
Instaliranje za zajedničku distribuciju
Za najčešće platforme možete instalirati Nix, upravitelj paketa s jednostavnom skriptom. Ova je skripta dostupna na web mjestu Nix. Skripti će trebati pristup root korisnika, ali ako ste vrlo svjesni sigurnosti, trebali biste pročitati skriptu prije nego što je upotrijebite. Ako želite izbjeći upotrebu root-a u skripti, samo stvorite / nix direktorij na vašem sustavu.
$ sh <(curl -L https://nixos.org/nix/install)Ako nemate root pristup ili ste samo oprezni, Nix možete imati kao upravitelja paketa samo za korisnike.
$ sh <(curl -L https://nixos.org/nix/install) -no-daemonOva binarna datoteka dobro funkcionira za većinu, ako ne i za sve distribucije. Platforme su x8664, tj?86, aarch64 i x8664-darwin, koji pokrivaju gotovo sve dostupne platforme. Ako koristite bilo koju drugu platformu, vjerojatno možete koristiti izvorni kod i izraditi vlastiti. Po završetku instalacije imat ćete hrpu novih naredbi.
Dodavanje vašeg prvog programa u NixOS
Da biste instalirali softver i postavili kada se može koristiti, imate nix-env. Opcija instalacije (-i) je najčešća jer je uvijek koristite i stavite paket kao argument.
$ nix-env -i firefoxOvo izgleda isto kao u drugim distribucijama, tako izgleda i argument upita. Instalacija će ipak potrajati. Razlog je taj što mora kompajlirati softver osim ako u predmemoriji Nix nema prethodno kompilirane verzije. Dosezanje predmemorije nije ni uvijek brzo. Postoji razlika koju biste trebali uzeti na znanje; možete odabrati verziju! Ako želite posebnu verziju, morate pronaći dostupne pomoću regularnih izraza.
$ nix-env -qa 'firefox.* 'Dobit ćete popis svih dostupnih paketa. Možete ga instalirati na isti način, ali koristeći vrijednost na popisu.
$ nix-env -instaliraj 'firefox-78.4.0ser '-sačuvaj-instaliranTo može uspjeti ako već imate instaliranu verziju. Opcija '-sačuvaj-instalirano' neće izbrisati instaliranu verziju. Možda ćete dobiti dvije verzije istog prioriteta, koje možete popraviti postavljanjem prioriteta.
$ nix-env -set-flag prioritet 2 'firefox-82.0.2 'Sada ćete pokrenuti staru verziju sljedeći put kada pokrenete Firefox. Da biste prebacili koji pokrećete, možete u skladu s tim postaviti prioritet. Također možete pokrenuti ljusku da biste odabrali binarni. Ovo je opcija programera, a naredba je nix-shell.
Ažuriranje NixOS-a
Nakon što nabavite zbirku softvera, želite biti u toku. Kao i uvijek, koristite istu naredbu s argumentom. Ali također morate redovito ažurirati kanal. Naredba je nix-channel.
$ nix-channel -updateOvo čita trenutne verzije svih dostupnih paketa. Nakon toga možete započeti nadogradnju softvera pomoću nix-env.
$ nix-env-nadogradnjaOvakva nadogradnja nadogradit će vašu staru verziju softvera. U tom će slučaju stari Firefox biti zamijenjen najnovijom verzijom. Možda ovo ne želite iz bilo kojeg razloga, obično razvoja.
Uklanjanje aplikacija iz NixOS-a
Uklanjanje aplikacija jednako je jednostavno, uz malu napomenu. Naredba za uklanjanje ne uklanja nijednu aplikaciju.
$ nix-env -uninstall 'firefox-78.4.0ser 'Ova će naredba ukloniti veze do trenutne verzije ove verzije Firefoxa. Sve će datoteke uvijek ostati na disku. Na raspolaganju su vam ove verzije za vraćanje. Vraćanje znači da se vraćate korištenju stare verzije. Ovo može biti korisno ako ste isprobali najnovije i ako imate nepredviđene probleme.
$ nix-env -rollbackVraćate cijelu generaciju, što znači sve programe koji su nadograđeni od posljednje generacije. Opcija pokreće dvije naredbe; taj popis, a zatim se prebacuje na te stare generacije. Svi instalirani paketi postoje na generaciji na disku.
NixOS vraćanje i čišćenje
Funkcija vraćanja dovest će do toga da stare verzije koriste puno prostora na disku. Možete ovo očistiti (ovo morate očistiti!). Kada imate dovoljno dugo razdoblje, prema vlastitom izboru, možete očistiti i te stare generacije kako biste uštedjeli prostor na disku.
$ nix-env -delete-generacijeOvom naredbom brišete sve generacije, osim dvije posljednje. Možete ići naprijed-natrag na popisu sa složenijim parametrima kako biste ostavili određenu generaciju koja je najbolje radila za vas. Ako nemate mnogo projekata za testiranje ili razvoj koji trebaju mnogo verzija za testiranje, trebali biste koristiti planirano uklanjanje svih starih generacija.
Jednostavna skripta za održavanje čistoće vaših generacija dolazi s instalacijom Nix upravitelja paketa.
$ nix-prikupiti-smećeTakođer biste trebali postaviti kolektor da se automatski pokreće pomoću systemd ili drugih sustava.
Zaključak
Nix paket menadžer moćan je sustav koji vam omogućuje pokretanje složenih razvojnih okruženja na vašem stroju. Također ga možete koristiti za održavanje urednosti softvera i jednostavan način oporavka na novom stroju, ako se dogodi katastrofa pada sustava.