Čo robí Správca balíkov NixOS?
Väčšina správcov balíkov používa súbor, ktorý obsahuje spustiteľný alebo zdrojový kód. Potom vypočítajú, čo v systéme potrebuje, a potom sa uistia, že existuje. V Nix fungujú veci veľmi podobne. Veľký rozdiel je v tom, že Nix vytvorí všetky súbory a v prípade potreby ich skompiluje a potom ich umiestni na jedno miesto; obchod nix. Prvá otázka, ktorú si môžete položiť, môže byť: „Budú mať súbory rovnaký názov?„Systém sa tomu vyhýba tak, že pre každú verziu bude mať jeden adresár A všetky súbory bude pomenovaný hash. Aby sa aplikácia „cítila ako doma“, všetky závislosti sú potom spojené s ich správnymi adresármi pomocou bežných symbolických odkazov. Profil sleduje, ktorú verziu každý používateľ používa.
Inštalácie používateľov systému NixOS
Pomocou tohto systému môžete mať nainštalované rôzne verzie v adresári každého používateľa. Ak sú rovnaké u viacerých používateľov, správca môže nechať Nixu opätovne prepojiť binárne súbory, takže súčasne existuje iba jeden. To je užitočné pri šetrení miesta na disku. Môžete tiež vytvoriť špecifické prostredia pre každú verziu balíka. To je obzvlášť užitočné, keď chcete vyskúšať novú verziu alebo vyvinúť softvér.
Inštalácia pre spoločnú distribúciu
Pre väčšinu bežných platforiem môžete nainštalovať Nix, správcu balíkov s jednoduchým skriptom. Tento skript je k dispozícii na webovej stránke Nix. Skript bude vyžadovať prístup užívateľa root, ale ak ste veľmi oboznámení s bezpečnosťou, mali by ste si skript pred jeho použitím prečítať. Ak sa chcete vyhnúť použitiu root v skripte, stačí vytvoriť adresár / nix vo vašom systéme.
$ sh <(curl -L https://nixos.org/nix/install)Ak nemáte prístup root alebo ste veľmi opatrní, môžete mať Nix ako správcu balíkov iba pre používateľov.
$ sh <(curl -L https://nixos.org/nix/install) -no-daemonTento binárny súbor funguje dobre pre väčšinu, ak nie pre všetky distribúcie. Platformy sú x8664, t.j?86, aarch64 a x8664-darwin, ktoré pokrývajú takmer všetky dostupné platformy. Ak používate iné platformy, pravdepodobne môžete použiť zdrojový kód a vytvoriť si vlastný. Po dokončení inštalácie budete mať k dispozícii veľa nových príkazov.
Pridáva sa váš prvý program do NixOSu
Na inštaláciu softvéru a nastavenie, kedy je možné ho použiť, máte program nix-env. Inštalácia (-i) je najbežnejšia, pretože ju používate vždy a argument uvádzate ako argument.
$ nix-env -i firefoxVyzerá to rovnako ako v iných distribúciách, rovnako aj argument query. Inštalácia však bude nejaký čas trvať. Dôvod je ten, že musí kompilovať softvér, pokiaľ v Nix Cache nie je predkompilovaná verzia. Aj dosiahnutie cache nie je vždy veľmi rýchle. Je rozdiel, ktorý by ste mali vziať na vedomie; môžete si zvoliť verziu! Ak chcete špeciálnu verziu, musíte nájsť, ktoré sú k dispozícii pomocou regulárnych výrazov.
$ nix-env -qa 'firefox.* 'Dostanete zoznam všetkých dostupných balíkov. Môžete ho nainštalovať rovnakým spôsobom, ale s použitím hodnoty v zozname.
$ nix-env -install 'firefox-78.4.0ser '-preserve-installedTo môže zlyhať, ak už máte nainštalovanú verziu. Možnosť „-preserve-installed“ nevymaže nainštalovanú verziu. Môžete skončiť tak, že budete mať dve verzie s rovnakou prioritou, ktoré môžete opraviť nastavením priority.
$ nix-env -set-flag priorita 2 'firefox-82.0.2 'Teraz pri starom spustení verzie Firefox spustíte starú verziu. Ak chcete prepnúť, ktorý z nich chcete spustiť, môžete podľa toho nastaviť prioritu. Môžete tiež spustiť shell a zvoliť binárny súbor. Toto je možnosť vývojára a príkaz je nix-shell.
Aktualizuje sa NixOS
Keď budete mať zbierku softvéru, budete neustále informovaní. Rovnako ako vždy, aj pri argumente použijete rovnaký príkaz. Musíte však tiež aktualizovať kanál. Príkaz je nix-channel.
$ nix-channel -updateToto prečíta aktuálne verzie všetkých dostupných balíkov. Potom môžete začať inovovať softvér pomocou nástroja nix-env.
$ nix-env-upgradePri takejto aktualizácii sa aktualizuje vaša stará verzia softvéru. V takom prípade bude starý Firefox nahradený najnovšou verziou. Možno to nebudete chcieť z akéhokoľvek dôvodu, zvyčajne z dôvodu vývoja.
Odstraňujú sa aplikácie z NixOS
Odstránenie aplikácií je rovnako jednoduché s malou výhradou. Príkazom remove sa neodstránia žiadne aplikácie.
$ nix-env -uninstall 'firefox-78.4.0ser 'Tento príkaz odstráni odkazy na aktuálne zostavenie tejto verzie prehliadača Firefox. Všetky súbory vždy zostanú na disku. Tieto verzie máte k dispozícii na vykonanie vrátenia zmien. Vrátenie späť znamená, že sa vrátite k použitiu starej verzie. To môže byť užitočné, ak ste vyskúšali to najnovšie a má nepredvídané problémy.
$ nix-env -rollbackVrátite späť celú generáciu, čo znamená všetky programy, ktoré boli inovované od poslednej generácie. Táto voľba spustí dva príkazy; ten zoznam a potom prejde na tie staré generácie. Všetky nainštalované balíčky existujú v generácii na disku.
Odstránenie NixOS a čistenie
Funkcia vrátenia späť spôsobí, že staré verzie využijú veľa miesta na disku. Môžete to vyčistiť (musíte to vyčistiť!). Ak ste mali dosť dlhé obdobie, môžete si podľa vlastného výberu tiež vyčistiť tieto staré generácie a ušetriť tak miesto na disku.
$ nix-env -delete-generácií starýchTýmto príkazom odstránite všetky generácie okrem dvoch posledných. V zozname sa môžete pohybovať tam a späť so zložitejšími parametrami, aby ste opustili konkrétnu generáciu, ktorá vám najlepšie fungovala. Pokiaľ nemáte veľa testovacích alebo vývojových projektov, ktoré na testovanie potrebujú veľa verzií, mali by ste použiť plánované odstránenie všetkých starých generácií.
Jednoduchý skript, ktorý udrží vaše generácie čisté, sa dodáva s inštaláciou správcu balíkov Nix.
$ nix-collect-odpadkyMali by ste tiež nastaviť automatické spustenie kolektora pomocou systému systemd alebo iných systémov.
Záver
Správca balíkov Nix je výkonný systém, ktorý vám umožní spustiť na vašom počítači zložité vývojové prostredia. Môžete ho tiež použiť na udržanie poriadku v softvéri a jednoduchý spôsob obnovy na novom počítači, ak by došlo ku katastrofe pri páde disku.