Въпреки че можете да стартирате приложения под NixOS, тъй като те следват горния стандарт, файловете не са там, където биха били в друга система. Разработчиците на NixOS и GNU Guix имат силни мнения за тази система и са измислили интелигентни начини да се съобразят с нея.
Различна система
Вашата система за съхранение на софтуер засяга функционалността по начин, който е много по-дълбок, отколкото изглежда на пръв поглед. За да може софтуерът да намери необходимите му файлове, NixOS използва символни връзки. Всяко приложение има своя собствена директория, която съдържа изпълнимия файл и връзки към библиотеките, които го изпълняват.
С тази организационна система можете да имате инсталирани различни файлове и версии едновременно. По подразбиране всички пакети и техните зависимости трябва да се компилират по време на инсталацията. За това обаче се изисква много време и мощност за обработка при всяко инсталиране, има кешове.
Изтегляне
С NixOS винаги има повече от един начин да направите нещо. Подобно на други дистрибуции, с NixOS имате ISO на USB памет. Имате избор относно начина, по който искате да инсталирате NixOS във вашата дистрибуция. Преди обаче да обсъдим тази тема по-подробно, важно е да разберем, че има две леко объркващи части от този процес.
Първо, Nix се различава от NixOS и трябва да разберете разликата между Nix, мениджъра на пакети и NixOS, който конфигурира вашата система. Можете да изтеглите мениджъра на пакети Nix и да го използвате на текущата си система. С него можете да запазите много версии на приложенията във вашата система, без те да си пречат помежду си.
Второ, с NixOS, докато не можете да не декларирате схемата за разделяне, всичко останало може да бъде оставено в един файл. Повечето потребители оставят автоматично създадения хардуерен конфигурационен файл сам. Когато стартирате за първи път, можете да запазите пакетите си декларирани във файла, но с течение на времето вероятно ще направите отделни файлове, които импортирате във вашия конфигурационен файл.
Разделяне
Преди да инсталирате, трябва да разделите вашите устройства. В други дистрибуции има настройки по подразбиране, които можете да приемете; обаче с NixOS трябва да направите собствено разделяне. Разделянето не е много сложно, но можете да срещнете проблеми, когато трябва да зададете конфигурацията си за схемата за разделяне, която изберете. Важно е да разберете, че инструкциите и скриптовете предпочитат, ако вашите файлови системи са етикетирани правилно.
Стандартното ръководство показва командите за разделяне. Имайте предвид, че командите се различават за UEFI и MBR диск и задаването на грешни стойности ще доведе до много проблеми. Ръководството предлага да се използват стойностите, посочени по-долу, за първоначална инсталация, но наистина е лесно да тествате нови стойности.
Стандартни дялове:
MBR:
parted / dev / sda - mkpart първичен 1MiB -8GiB
разделен / dev / sda - mkpart първичен linux-swap -8GiB 100%
UEFI:
parted / dev / sda - mklabel gptparted / dev / sda - mkpart primar 512MiB -8GiB
разделен / dev / sda - mkpart първичен linux-swap -8GiB 100%
parted / dev / sda - mkpart ESP fat32 1MiB 512MiB
parted / dev / sda - задайте 3 esp
Монтиране на дяловете в MBR:
mkswap -L суап / dev / sda2mount / dev / disk / by-label / nixos
Монтиране на дяловете в UEFI:
mount / dev / disk / by-label / nixos / mntmkdir -p / mnt / boot
mount / dev / disk / by-label / boot / mnt / boot
Следващият раздел ще ви покаже как да създадете вашия конфигурационен файл.
Файлът за конфигуриране
След като настроите дисковете си, можете да започнете процеса на конфигуриране. С NixOS първо конфигурирате и след това инсталирате. Следващите инструкции предполагат, че сте стартирали с помощта на ISO, но можете да стартирате с chroot.
С nixos-generate-config системата генерира стандартен конфигурационен файл.
$ nixos-create-config -root / mntТази команда създава два файла: / mnt / etc / nixos / hardware-configuration.nix (не променяте този файл) и / mnt / etc / nixos / configuration.nix. Можете да редактирате втория файл в любимия си редактор.
Обикновено опциите не се променят в зависимост от метода, използван за зареждане. Можете да използвате grub или друга конфигурация за зареждане. Има много опции, но ето някои стандарти.
Добавете този ред само за MBR:
зареждане.товарач.личи.устройство = "dev / sda";Добавете тези редове само за UEFI:
зареждане.товарач.systemd-boot.enable = true;зареждане.товарач.efi.canTouchEfiVariables = вярно;
Променете конфигурационните файлове възможно най-малко, за да стартирате. Всички тези стойности са в оригиналния файл: просто премахнете коментара им и направете промени според вашите нужди.
работа в мрежа.hostName = "nixos";потребители.потребител.nixos =
isNormalUser = true;
extraGroups = "колело"
околен свят.systemPackages = с pkgs [
wget vim
];
услуги.openssh.enable = true;
Добавете пакетите, които искате да използвате като стандартни пакети. Всички стандартни пакети са в квадратни скоби с wget и vim. Можете да инсталирате повече пакети, след като системата се стартира.
Сграда
След като конфигурационният файл е правилен, можете да стартирате инсталацията.
$ nixos-installСлед това инсталационната програма ще поиска парола за корен, която ще се използва в реалната система. Всички програми ще бъдат компилирани или изтеглени от кеша.nixpkgs.org и след това се инсталира в магазина nix на вашия компютър. След това можете да рестартирате и трябва да получите подкана за вход.
$ рестартиранеСега, предоставете парола за вашия потребител, използвайки root. Потребителят, който сте дефинирали в конфигурационния файл, също ще има домашна директория.
Нова конфигурация
След като изпълните горните стъпки, можете да си поиграете с конфигурационния файл. Когато промените нещо, изпробвайте го, без да го инсталирате, както следва:
$ nixos-rebuild тестСлед като имате нови стойности, които работят добре, изпълнете командата rebuild:
$ nixos-rebuild ключСега ще видите дали сте задали правилно стойностите за зареждане. Важно е да се отбележи, че промените в конфигурацията са обратими. Можете просто да рестартирате и да изберете по-стара версия, която се нарича поколение, и да опитате отново. Всяка конфигурация обаче изисква дисково пространство, така че се уверете, че сте запознати с функцията за събиране на боклука.
Заключение
NixOS изисква няколко ръчни стъпки за настройка, но можете да се върнете към работеща система много по-бързо, отколкото при други системи. Освен това контролът на версиите е по-лесен, ако имате нужда от много версии на едно и също приложение или ако имате нужда от много версии на едни и същи библиотеки. На пръв поглед може да изглежда, че има много ограничения, но тези ограничения могат да бъдат преодолени с по-напредналите части на системата.