При классификации дистрибутивов Linux часто бывает полезно указать, какую систему управления пакетами использует дистрибутив. Существует множество различных систем управления пакетами, но наиболее популярными, вероятно, являются форматы.deb и.rpm. Первый исходит из Debian и используется Ubuntu, а второй разработан RedHat.
NixOS — это дистрибутив Linux со своим уникальным менеджером пакетов. Вся операционная система, включая ядро, приложения, системные пакеты и файлы конфигурации, создается менеджером пакетов Nix. Менеджер пакетов Nix использует декларативную модель конфигурации системы. Это означает, что элементы конфигурации системы описаны в файле конфигурации, и ОС делает все необходимое для выполнения настройки.
Если системный администратор хочет установить SSH-сервер, все, что ему нужно сделать, это добавить строку в конфигурацию, чтобы включить эту службу. Затем NixOS загрузит и установит OpenSHH, а также создаст соответствующие файлы конфигурации.
Еще одна интересная особенность NixOS заключается в том, что она хранит все свои пакеты изолированно друг от друга; в результате нет каталогов /bin, /sbin, /lib или /usr. Вместо этого все пакеты хранятся в /nix/store. В сочетании с декларативной моделью конфигурации это делает обновление систем NixOS надежным и позволяет ОС реализовать транзакционный подход к управлению системой, включая возможность отката обновлений.
Декларативная модель конфигурации также позволяет легко воспроизвести конфигурацию системы на другом компьютере. Администратор просто копирует файл конфигурации на новую машину с NixOS, и с помощью одной команды машина будет преобразована для использования того же ядра, приложений, системных служб и т. д.
Чтобы опробовать NixOS, загрузите файл.ISO с страница загрузки проекта, запишите его на компакт-диск и загрузите с него компьютер. После загрузки вам будет предложено текстовое приглашение для входа. Введите «root» в качестве имени пользователя и нажмите ENTER. Установщик NixOS не выполняет никаких операций по разбиению или форматированию, поэтому вам придется создавать и форматировать разделы вручную.
Примечание : Следующие команды сотрут ВСЕ на диске; пожалуйста, действуйте осторожно.
Введите следующее:
fdisk /dev/sda
Где «/dev/sda» — это имя диска, который вы хотите использовать, в данном случае это первый жесткий диск ПК.
В fdisk введите «o», чтобы создать пустую таблицу разделов. Введите «n, p, 1, ENTER, +2G, t, 82», чтобы создать новый основной раздел размером 2 ГБ, который будет использоваться в качестве пространства подкачки. Теперь введите «n, p, 2, ENTER, ENTER», чтобы создать новый основной раздел для установки NixOS. Выйдите из fdisk, используя «w». Если вы хотите использовать свободное место на диске, не стирая существующие данные, не создавайте пустую таблицу разделов и соответствующим образом измените схему разбиения.
Активируйте пространство подкачки, используя:
mkswap -L swap /dev/sda1 swapon /dev/sda1
Теперь отформатируйте второй раздел:
mkfs.ext4 -L nixos /dev/sda2
Теперь смонтируйте новый раздел:
mount /dev/disk/by-label/nixos /mnt
Описательные файлы конфигурации лежат в основе NixOS и диспетчера пакетов Nix. Даже процесс установки требует файла конфигурации, чтобы указать NixOS, что устанавливать. Чтобы создать тип файла конфигурации по умолчанию:
nixos-generate-config --root /mnt
Теперь отредактируйте полученный файл с помощью nano:
nano /mnt/etc/nixos/configuration.nix
Найдите следующие строки и удалите знак «#» в начале:
- boot.loader.grub.device = «/dev/sda»
- services.openssh.enable = true
- services.xserver.enable = true
- services.xserver.layout = «нас»
- services.xserver.desktopManager.kde4.enable = true;
- services.xserver.displayManager.kdm.enable = true;
Выйдите из nano с помощью CTRL-X и начните установку:
nixos-install
После завершения установки перезагрузите систему. Вам нужно будет извлечь компакт-диск или выбрать опцию «Загрузка с жесткого диска», если вы загружались с оптического привода.
Система должна загрузиться с диспетчером дисплея; однако вы пока не можете войти в систему, поскольку пользователи не определены, а вход в систему с правами root не разрешен на рабочем столе. Нажмите CTRL+ALT+F1, чтобы переключиться на консоль.
Теперь войдите в систему как root и добавьте пользователя. Вот как создать пользователя «Гэри»:
useradd -m gary passwd gary
Вам также следует изменить пароль root с помощью «passwd».
Нажмите CTRL+ALT+F7, чтобы вернуться к графическому приглашению для входа в систему, и войдите в систему, используя имя пользователя и пароль, которые вы создали выше.
В NixOS нет графического менеджера пакетов, такого как Ubuntu или Fedora, и все команды пакета необходимо запускать с терминала. Чтобы вывести список всех доступных пакетов, введите:
nix-env -qa \*
Вы можете использовать «grep» для поиска определенных пакетов. Вот как искать подстроку «огонь»:
nix-env -qa \* | grep -i fire
В списке будет веб-браузер Firefox. Чтобы установить его, используйте:
nix-env -i firefox
То, как мы добавили пользователя и как установили Firefox, называется императивным управлением. Вы выполняете команду, и это происходит. Однако сила NixOS заключается в декларативном управлении. При декларативном управлении системный администратор сообщает NixOS, чего необходимо достичь, а NixOS гарантирует, что это произойдет, не нарушая работу системы.
Например, чтобы добавить пользователя с помощью декларативного управления пользователями, отредактируйте «/etc/nixos/configuration.nix» (от имени пользователя root). Добавьте следующие строки в конец файла, но перед последним «}»:
users.extraUsers.alice = { createHome = true; home = "/home/alice"; extraGroups = [ "wheel" ]; useDefaultShell = true; };
Чтобы установить пакет, добавьте в файл Configuration.nix следующую строку:
environment.systemPackages = [ pkgs.thunderbird ];
Чтобы изменить новый файл Configuration.nix, используйте команду nixos-rebuild:
nixos-rebuild switch
Эта команда выполняет все необходимое для настройки, включая загрузку Thunderbird, создание нового пользователя и т. д.
Мощь NixOS огромна. Если вы хотите углубиться, вам следует просмотреть страницу Руководство по NixOS , а если вам нужна помощь, попробуйте страницу Сообщество NixOS .