I když můžete spouštět aplikace v systému NixOS, protože splňují výše uvedený standard, soubory nejsou tam, kde by byly v jiném systému. Vývojáři NixOS a GNU Guix mají na tento systém silné názory a přišli s chytrými způsoby, jak mu vyhovět.
Jiný systém
Váš systém úložiště softwaru ovlivňuje funkčnost způsobem, který je mnohem hlubší, než se na první pohled zdá. Aby software našel potřebné soubory, používá NixOS symbolické odkazy. Každá aplikace má svůj vlastní adresář, který obsahuje spustitelný soubor a odkazy na knihovny, které jej spouští.
V tomto organizačním systému můžete mít současně nainstalovány různé soubory a verze. Ve výchozím nastavení by se všechny balíčky a jejich závislosti měly během instalace kompilovat. Vyžaduje to však při každé instalaci hodně času a výpočetní síly, existují mezipaměti.
Stahování
S NixOS existuje vždy více než jeden způsob, jak něco udělat. Stejně jako ostatní distribuce, i u NixOS máte ISO na USB flash disku. Máte na výběr, jak chcete nainstalovat NixOS do vaší distribuce. Než však budeme diskutovat o tomto tématu podrobněji, je důležité si uvědomit, že existují dvě mírně matoucí části tohoto procesu.
Nejprve se Nix liší od NixOS a musíte pochopit rozdíl mezi Nix, správcem balíčků a NixOS, který konfiguruje váš systém. Můžete si stáhnout správce balíčků Nix a použít jej ve vašem aktuálním systému. Díky tomu můžete ve svém systému udržovat mnoho verzí aplikací, aniž by do sebe vzájemně zasahovaly.
Zadruhé, v systému NixOS nemůžete deklarovat schéma rozdělení, vše ostatní lze ponechat v jednom souboru. Většina uživatelů nechává automaticky vytvořený konfigurační soubor hardwaru na pokoji. Při prvním spuštění můžete své balíčky ponechat deklarované v souboru, ale postupem času pravděpodobně vytvoříte samostatné soubory, které importujete do konfiguračního souboru.
Rozdělení na oddíly
Před instalací musíte rozdělit disky. V jiných distribucích existují výchozí nastavení, která můžete přijmout; v systému NixOS však musíte vytvořit vlastní oddíly. Rozdělení disku na oddíly není příliš složité, ale můžete narazit na potíže, když budete muset nastavit konfiguraci pro zvolené schéma rozdělení disku. Je důležité si uvědomit, že pokyny a skripty upřednostňují správné označení souborů.
Standardní příručka zobrazuje příkazy rozdělení. Pamatujte, že příkazy se liší pro disk UEFI a MBR a nastavení nesprávných hodnot způsobí mnoho problémů. Manuál navrhuje použít pro počáteční instalaci níže uvedené hodnoty, ale je opravdu snadné otestovat nové hodnoty.
Standardní oddíly:
MBR:
parted / dev / sda - mkpart primární 1MiB -8GiB
parted / dev / sda - mkpart primární linux-swap -8GiB 100%
UEFI:
parted / dev / sda - mklabel gptparted / dev / sda - mkpart primary 512MiB -8GiB
parted / dev / sda - mkpart primární linux-swap -8GiB 100%
parted / dev / sda - mkpart ESP fat32 1MiB 512MiB
parted / dev / sda - zapne 3 esp
Montáž oddílů v MBR:
mkswap -L swap / dev / sda2mount / dev / disk / podle štítku / nixos
Připojení oddílů v UEFI:
mount / dev / disk / podle štítku / nixos / mntmkdir -p / mnt / boot
mount / dev / disk / podle štítku / boot / mnt / boot
Následující část vám ukáže, jak vytvořit konfigurační soubor.
Konfigurační soubor
Po nastavení disků můžete zahájit proces konfigurace. S NixOS nejprve nakonfigurujete a poté nainstalujete. Následující pokyny předpokládají, že jste zaváděli pomocí ISO, ale můžete zavést systém pomocí chroot.
S nixos-generate-config vygeneruje systém standardní konfigurační soubor.
$ nixos-generate-config -root / mntTento příkaz vytvoří dva soubory: / mnt / etc / nixos / hardware-configuration.nix (tento soubor nezměníte) a / mnt / etc / nixos / configuration.nix. Druhý soubor můžete upravit ve svém oblíbeném editoru.
Možnosti se obvykle nemění v závislosti na metodě použité ke spuštění. Můžete použít grub nebo jinou spouštěcí konfiguraci. Existuje mnoho možností, ale zde je několik standardů.
Přidejte tento řádek pouze pro MBR:
boot.nakladač.grub.device = "dev / sda";Přidejte tyto řádky pouze pro UEFI:
boot.nakladač.systemd-boot.enable = true;boot.nakladač.efi.canTouchEfiVariables = true;
Změňte co nejdříve konfigurační soubory. Všechny tyto hodnoty jsou v původním souboru: jednoduše je zrušte komentářem a proveďte změny, které vyhovují vašim potřebám.
síťování.hostName = "nixos";uživatelů.uživatel.nixos =
isNormalUser = true;
extraGroups = "kolo"
životní prostředí.systemPackages = s pkgs [
wget vim
];
služby.openssh.enable = true;
Přidejte balíčky, které chcete použít, jako standardní balíčky. Všechny standardní balíčky jsou v hranatých závorkách s wget a vim. Jakmile je systém spuštěný, můžete nainstalovat více balíčků.
Budova
Jakmile je váš konfigurační soubor správný, můžete spustit instalaci.
$ nixos-installDále instalační program požádá o heslo root, které bude použito ve skutečném systému. Všechny programy budou kompilovány nebo staženy z mezipaměti.nixpkgs.org a poté nainstalován v obchodě nix ve vašem počítači. Poté můžete restartovat počítač a měli byste dostat výzvu k přihlášení.
$ restartNyní zadejte uživateli heslo pomocí root. Uživatel, kterého jste definovali v konfiguračním souboru, bude mít také domovský adresář.
New Config
Jakmile dokončíte výše uvedené kroky, můžete si hrát s konfiguračním souborem. Když něco změníte, vyzkoušejte to bez instalace následujícím způsobem:
$ nixos-rebuild testJakmile máte nové hodnoty, které fungují dobře, spusťte příkaz rebuild:
Přepínač $ nixos-rebuildNyní uvidíte, zda jste správně nastavili spouštěcí hodnoty. Je důležité si uvědomit, že změny konfigurace jsou reverzibilní. Můžete jednoduše restartovat a vybrat starší verzi, která se nazývá generace, a zkusit to znovu. Každá konfigurace však vyžaduje místo na disku, takže se ujistěte, že jste obeznámeni s funkcí uvolňování paměti.
Závěr
NixOS vyžaduje několik manuálních kroků k nastavení, ale můžete se vrátit k běžícímu systému mnohem rychleji než u jiných systémů. Kromě toho je řízení verzí jednodušší, pokud potřebujete mnoho verzí stejné aplikace nebo pokud potřebujete mnoho verzí stejných knihoven. Na první pohled se může zdát, že existuje mnoho omezení, ale tato omezení lze překonat pokročilejšími částmi systému.