Поиск по сайту:

Как установить НикОС


В мире Linux существует множество дистрибутивов, и эти дистрибутивы обычно отличаются менеджером пакетов, средой и пакетами. После установки вы можете найти файлы в определенных местах файловой структуры. Такие каталоги, как /usr, /usr/local и /bin, используются для хранения различных файлов, и этот стандарт позволяет опытному пользователю Linux знать, где находятся файлы, и запускать сценарии, использующие эти файлы, во многих дистрибутивах. Чтобы узнать больше, посмотрите проект LSB.

Хотя вы можете запускать приложения под NixOS, поскольку они соответствуют вышеуказанному стандарту, файлы находятся не там, где они были бы в другой системе. У разработчиков NixOS и GNU Guix твердое мнение об этой системе, и они придумали хитрые способы ей соответствовать.

Другая система

Ваша система хранения программного обеспечения влияет на функциональность гораздо глубже, чем кажется на первый взгляд. Чтобы программное обеспечение нашло нужные файлы, NixOS использует символические ссылки. Каждое приложение имеет свой собственный каталог, содержащий исполняемый файл и ссылки на библиотеки, которые его запускают.

С этой системой организации вы можете одновременно устанавливать разные файлы и версии. По умолчанию все пакеты и их зависимости должны компилироваться во время установки. Однако для этого требуется много времени и вычислительной мощности, поэтому при каждой установке есть кеши.

Загрузка

С NixOS всегда есть несколько способов что-то сделать. Как и в других дистрибутивах, в NixOS у вас есть ISO-образ на USB-накопителе. У вас есть выбор, как вы хотите установить NixOS в свой дистрибутив. Однако, прежде чем мы обсудим эту тему более подробно, важно понять, что в этом процессе есть две слегка запутанные части.

Во-первых, Nix отличается от NixOS, и вы должны понимать разницу между Nix, менеджером пакетов, и NixOS, которая настраивает вашу систему. Вы можете загрузить менеджер пакетов Nix и использовать его в своей текущей системе. С его помощью вы можете хранить множество версий приложений в своей системе, не мешая друг другу.

Во-вторых, с NixOS пока нельзя не объявлять схему разбиения, все остальное можно оставить в одном файле. Большинство пользователей не трогают автоматически созданный файл конфигурации оборудования. Когда вы только начинаете, вы можете хранить свои пакеты, объявленные в файле, но со временем вы, вероятно, создадите отдельные файлы, которые импортируете в свой файл конфигурации.

Разделение

Перед установкой необходимо разбить диски. В других дистрибутивах есть значения по умолчанию, которые вы можете принять; однако с NixOS вы должны сделать свое собственное разбиение. Разбиение на разделы не очень сложно, но вы можете столкнуться с проблемами, когда вам нужно установить конфигурацию для выбранной вами схемы разбиения. Важно понимать, что инструкции и сценарии предпочитают, если ваши файловые системы помечены правильно.

Стандартное руководство показывает команды разбиения. Обратите внимание, что команды различаются для UEFI и MBR-диска, и установка неправильных значений вызовет много проблем. Руководство предлагает использовать приведенные ниже значения для первоначальной установки, но проверить новые значения очень просто.

Стандартные разделы:
MBR:

parted /dev/sda -- mklabel msdos
parted /dev/sda -- mkpart primary 1MiB -8GiB
parted /dev/sda -- mkpart primary linux-swap -8GiB 100%

УЕФИ:

parted /dev/sda -- mklabel gpt
parted /dev/sda -- mkpart primary 512MiB -8GiB
parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
parted /dev/sda -- set 3 esp on

Монтирование разделов в MBR:

mkswap -L swap /dev/sda2
mount /dev/disk/by-label/nixos

Монтирование разделов в UEFI:

mount /dev/disk/by-label/nixos /mnt
mkdir -p /mnt/boot
mount /dev/disk/by-label/boot /mnt/boot

В следующем разделе будет показано, как создать файл конфигурации.

Файл конфигурации

После того, как вы настроили свои диски, вы можете начать процесс настройки. С NixOS вы сначала настраиваете, а затем устанавливаете. Следующие инструкции предполагают, что вы загрузились с помощью ISO, но вы можете загрузиться с chroot.

С помощью nixos-generate-config система генерирует стандартный файл конфигурации.

$ nixos-generate-config –root /mnt

Эта команда создает два файла: /mnt/etc/nixos/hardware-configuration.nix (этот файл нельзя изменять) и /mnt/etc/nixos/configuration.nix. Вы можете отредактировать второй файл в своем любимом редакторе.

Обычно параметры не меняются в зависимости от используемого метода загрузки. Вы можете использовать grub или другую конфигурацию загрузки. Вариантов много, но вот некоторые стандарты.

Добавьте эту строку только для MBR:

boot.loader.grub.device = "dev/sda";

Добавьте эти строки только для UEFI:

boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;

Измените файлы конфигурации как можно меньше, чтобы начать. Все эти значения находятся в исходном файле: просто раскомментируйте их и внесите изменения в соответствии с вашими потребностями.

 networking.hostName = "nixos";
users.user.nixos = {
  isNormalUser = true;
  extraGroups = " wheel"
}

environment.systemPackages = with pkgs [
  wget vim
];

services.openssh.enable = true;

Добавьте пакеты, которые вы хотите использовать в качестве стандартных пакетов. Все стандартные пакеты заключаются в квадратные скобки с wget и vim. Вы можете установить больше пакетов после того, как система заработает.

Здание

Как только ваш файл конфигурации будет правильным, вы можете запустить установку.

$ nixos-install

Затем установщик запросит пароль root, который будет использоваться в реальной системе. Все программы будут скомпилированы или загружены с сайта cache.nixpkgs.org, а затем установлены в магазине nix на вашем компьютере. Затем вы можете перезагрузиться, и вы должны получить приглашение для входа в систему.

$ reboot

Теперь укажите пароль для вашего пользователя, используя root. Пользователь, которого вы указали в файле конфигурации, также будет иметь домашний каталог.

Новая конфигурация

После того, как вы выполнили вышеуказанные шаги, вы можете поиграть с файлом конфигурации. Когда вы что-то меняете, попробуйте это без установки следующим образом:

$ nixos-rebuild test

Когда у вас есть новые значения, которые хорошо работают, запустите команду перестроения:

$ nixos-rebuild switch

Теперь вы увидите, правильно ли вы установили значения загрузки. Важно отметить, что изменения в конфигурации являются обратимыми. Вы можете просто перезагрузиться и выбрать более старую версию, которая называется поколением, и попробовать еще раз. Однако для каждой конфигурации требуется место на диске, поэтому убедитесь, что вы знакомы с функцией сборки мусора.

Заключение

Для настройки NixOS требуется несколько ручных шагов, но вы можете вернуться к работающей системе намного быстрее, чем с другими системами. Кроме того, управление версиями упрощается, если вам нужно много версий одного и того же приложения или если вам нужно много версий одних и тех же библиотек. На первый взгляд может показаться, что существует много ограничений, но эти ограничения можно преодолеть с помощью более продвинутых частей системы.

Статьи по данной тематике: