NixOS

Обзор NixOS

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

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

Мощная конфигурация

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

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

Вы также можете переключиться с помощью нескольких команд, и откат очень прост: просто выберите старое поколение при следующей перезагрузке. Если вы играете с конфигурациями, у вас будет много поколений. Однако вы можете использовать nix-collect-garbage -d для очистки загрузочного раздела (хотя вы должны запустить команду nixos-rebuild)!).

Обработка исправлений

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

Чтобы решить эту проблему, существует еще один вариант сборки мусора, который представляет собой ту же программу, которая используется со всей системой. Если вам нужны старые версии только на короткий период тестирования, вы можете настроить systemctl на регулярное выполнение. Кроме того, вы можете сэкономить место на диске, используя команду nix-store -optimise, которая находит идентичные файлы в магазине и связывает их с этим одним файлом.

Настройка сред разработки

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

Докер и другие облака

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

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

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

Appimage, snap и flatpak

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

Заключение

NixOs кажется устрашающим, потому что у него нет графического установщика, и вам нужно создать файл конфигурации. Однако только в NixOS вы устанавливаете одинаковые значения в обоих случаях. Для резервного копирования системы NixOS, не включая файлы пользователя, нужен только один файл. С помощью этого файла система воссоздает пакеты и настройки. Кроме того, NixOS предоставляет встроенный метод для запуска оболочки в определенной среде: просто используйте тот же тип файла! В файле default.nix, вы можете определить все свои библиотеки и зависимости, а затем запустить nix-shell в этом каталоге.

Эта система имеет большой потенциал. Попробуйте: вы можете начать со своего собственного дистрибутива и менеджера пакетов nix.

Как использовать Xdotool для стимулирования щелчков мыши и нажатия клавиш в Linux
Xdotool - это бесплатный инструмент командной строки с открытым исходным кодом для имитации щелчков мыши и нажатия клавиш. В этой статье будет краткое...
5 лучших эргономичных компьютерных мышей для Linux
Вызывает ли длительное использование компьютера боль в запястье или пальцах?? Вы страдаете от скованности суставов и постоянно должны пожимать руки? В...
Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...