Co dělá Správce balíčků NixOS?
Většina správců balíků používá soubor, který obsahuje spustitelný nebo zdrojový kód. Poté vypočítají, co v systému potřebuje, a poté se ujistí, že existuje. V Nix to funguje velmi podobně. Velký rozdíl spočívá v tom, že Nix vytvoří všechny soubory a v případě potřeby je zkompiluje a poté je umístí na jedno místo; nix-store. První otázka, kterou máte, může být: „Budou mít soubory stejný název?„Systém se tomu vyhne tím, že pro každou verzi bude mít jeden adresář A všechny soubory bude pojmenován hashem. Aby se aplikace „cítila jako doma“, jsou všechny závislosti propojeny s jejich správnými adresáři pomocí běžných symbolických odkazů. Profil sleduje, jakou verzi každý uživatel spouští.
Uživatelské instalace NixOS
S tímto systémem můžete mít nainstalované různé verze v adresáři každého uživatele. Pokud jsou stejné u několika uživatelů, může správce nechat Nix znovu propojit binární soubory, takže existuje vždy jen jeden. To je užitečné při úspoře místa na disku. Pro každou verzi balíčku můžete také vytvořit specifická prostředí. To je obzvláště užitečné, když chcete otestovat novou verzi nebo vyvinout software.
Instalace pro běžnou distribuci
U většiny běžných platforem můžete nainstalovat správce balíčků Nix s jednoduchým skriptem. Tento skript je k dispozici na webu Nix. Skript bude vyžadovat přístup uživatele root, ale pokud jste velmi obeznámeni s bezpečností, měli byste si skript před jeho použitím přečíst. Pokud se chcete vyhnout použití root ve skriptu, vytvořte ve svém systému adresář / nix.
$ sh <(curl -L https://nixos.org/nix/install)Pokud nemáte přístup root nebo jste velmi opatrní, můžete mít Nix jako správce balíčků pouze pro uživatele.
$ sh <(curl -L https://nixos.org/nix/install) -no-daemonTento binární soubor funguje dobře pro většinu distribucí, ne-li všechny. Platformy jsou x8664, tj?86, aarch64 a x8664-darwin, které pokrývají téměř všechny dostupné platformy. Pokud používáte jiné platformy, můžete pravděpodobně použít zdrojový kód a vytvořit si vlastní. Po dokončení instalace budete mít spoustu nových příkazů.
Přidání prvního programu do NixOS
Chcete-li nainstalovat software a nastavit, kdy jej lze použít, máte nix-env. Možnost instalace (-i) je nejběžnější, protože ji používáte vždy a jako argument použijete balíček.
$ nix-env -i firefoxVypadá to stejně jako v jiných distribucích, stejně jako argument dotazu. Instalace však bude nějakou dobu trvat. Důvodem je, že musí kompilovat software, pokud v Nix Cache není předkompilovaná verze. Ani dosažení mezipaměti není vždy velmi rychlé. Je rozdíl, který byste měli vzít na vědomí; můžete si vybrat verzi! Pokud chcete speciální verzi, musíte zjistit, které jsou k dispozici pomocí regulárních výrazů.
$ nix-env -qa 'firefox.* 'Obdržíte seznam všech dostupných balíčků. Můžete jej nainstalovat stejným způsobem, ale s použitím hodnoty v seznamu.
$ nix-env -install 'firefox-78.4.0ser '-preserve-installedTo může selhat, pokud již máte nainstalovanou verzi. Možnost '-preserve-installed' nevymaže nainstalovanou verzi. Můžete skončit se dvěma verzemi stejné priority, které můžete opravit nastavením priority.
$ nix-env -set-flag priorita 2 'firefox-82.0.2 'Nyní spustíte starou verzi při příštím spuštění Firefoxu. Chcete-li přepnout, který z nich spustíte, můžete odpovídajícím způsobem nastavit prioritu. Můžete také spustit shell a vybrat binární soubor. Toto je volba pro vývojáře a příkaz je nix-shell.
Aktualizace NixOS
Jakmile budete mít sbírku softwaru, budete neustále informováni. Stejně jako vždy použijete stejný příkaz s argumentem. Musíte ale také kanál aktualizovat. Příkaz je nix-channel.
$ nix-channel -updateTím se přečte aktuální verze všech dostupných balíčků. Poté můžete začít upgradovat software pomocí nix-env.
$ nix-env-upgradePři takovém upgradu se upgraduje vaše stará verze softwaru. V takovém případě bude starý Firefox nahrazen nejnovější verzí. Možná to nebudete chtít z jakéhokoli důvodu, obvykle z vývoje.
Odebírání aplikací z NixOS
Odebírání aplikací je stejně jednoduché, s malou výhradou. Příkazem remove nejsou odebrány žádné aplikace.
$ nix-env -uninstall 'firefox-78.4.0ser 'Tento příkaz odstraní odkazy na aktuální verzi této verze Firefoxu. Všechny soubory vždy zůstanou na disku. Tyto verze máte k dispozici k provedení vrácení zpět. Vrácení zpět znamená, že se vrátíte k používání staré verze. To může být užitečné, pokud jste vyzkoušeli nejnovější a mají nepředvídané problémy.
$ nix-env -rollbackVrátíte zpět celou generaci, což znamená všechny programy, které byly upgradovány od poslední generace. Možnost spustí dva příkazy; ten seznam a pak se přepne na ty staré generace. Všechny nainstalované balíčky existují v generaci na disku.
NixOS Roll-back a čištění
Funkce vrácení zpět povede k tomu, že staré verze budou využívat hodně místa na disku. Můžete to vyčistit (musíte to vyčistit!). Pokud jste měli dostatečně dlouhou dobu, můžete podle vlastního výběru také vyčistit tyto staré generace, abyste ušetřili místo na disku.
$ nix-env -delete-generace staréTímto příkazem odstraníte všechny generace kromě dvou posledních. V seznamu můžete přecházet sem a tam se složitějšími parametry, abyste nechali konkrétní generaci, která vám nejlépe vyhovovala. Pokud nemáte mnoho testovacích nebo vývojových projektů, které pro testování potřebují mnoho verzí, měli byste použít plánované odebrání všech starých generací.
Jednoduchý skript, který udržuje vaše generace čisté, je dodáván s instalací správce balíčků Nix.
$ nix-collect-smetíMěli byste také nastavit, aby se kolektor spouštěl automaticky pomocí systemd nebo jiných systémů.
Závěr
Správce balíků Nix je výkonný systém, který vám umožní provozovat na vašem počítači složitá vývojová prostředí. Můžete jej také použít k udržení pořádku softwaru a jednoduchému způsobu obnovení na novém počítači, pokud dojde ke katastrofě při pádu disku.