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