Guix System - это мета-дистрибутив без сохранения состояния, происхождение которого можно проследить до исследовательской работы. Операционная система, которая только что выпустила 1.2.0, построена на диспетчере пакетов Guix, который является одной из самых передовых систем управления пакетами с открытым исходным кодом.
Guix - это повторная реализация диспетчера пакетов Nix, а Guix System - это операционная система, эквивалентная NixOS. Guix System значительно отличается от обычных дистрибутивов Linux.
Функции
Во-первых, Guix System стремится быть полностью программируемой ОС, и все, от ее системы инициализации GNU shepherd до ее диспетчера пакетов, написано на языке программирования GNU Guile Scheme.
Фактически, дистрибутив также отмечен признанием GNU Foundation как проект свободного программного обеспечения. Хотя в настоящее время он использует ядро Linux-libre, разработчики работают в фоновом режиме, чтобы подготовить его для ядра Hurd проекта GNU.
Однако главной изюминкой дистрибутива является его менеджер пакетов Guix, благодаря которому он наследует расширенные функции, такие как возможность выполнять транзакционные обновления и откаты, а также создавать воспроизводимые среды сборки.
Таким образом, операции установки, удаления и обновления в Guix на самом деле представляют собой транзакцию, которая вносит изменения в систему только в случае успешного завершения операции. Это означает, что если транзакция будет прервана из-за отключения электроэнергии или неуклюжего оператора, система все равно останется в полностью пригодном для использования состоянии.
Более того, любую из этих пакетных транзакций можно откатить. Поэтому, если обновление пакета было ошибочным, вы можете легко вернуться к предыдущему, который работал хорошо. Еще одна впечатляющая особенность - это то, что вы можете без особых проблем скопировать свою конфигурацию на другой компьютер.
Управление системой Guix довольно удобно, если вы освоите ее, поскольку это, по сути, скользящий выпуск, который вы можете обновить с помощью пары команд. Однако этот процесс займет много времени, поскольку Guix - это дистрибутив на основе исходного кода, и он перекомпилирует все доступные определения пакетов.
Тем не менее, в дистрибутиве есть возможность получать предварительно созданные двоичные файлы. Они известны как заменители, поскольку вы используете их вместо локальной сборки пакетов.
Монтаж
Лучший способ понять преимущества Guix - это установить копию дистрибутива Guix System. Он доступен в виде сжатого устанавливаемого ISO-образа.
Хорошо то, что в дистрибутиве есть установщик, который проведет вас через все шаги. Это установщик на основе ncurses, но он все же намного лучше, чем более ранние версии дистрибутива, которые требовали, чтобы вы вручную настраивали установку с помощью командной строки.
Если вы установили дистрибутив Linux, текстовые меню установщика Guix System не должны вызывать особых проблем. Однако учтите, что в программе установки еще нет разделителя, поэтому вам придется подготовить его вручную. В любом случае, начинающим пользователям не следует экспериментировать с системой Guix за пределами безопасных границ виртуальной среды.
Предпоследний шаг в установщике просит вас выбрать одну или несколько сред рабочего стола и предлагает знакомые варианты, включая Gnome, MATE, Xfce, Enlightenment, Openbox и другие. Затем установщик сопоставляет всю эту информацию в редактируемом файле конфигурации, который затем использует для установки дистрибутива.
Установка займет довольно много времени, поскольку библиотеки и пакеты будут скомпилированы и установлены из исходников. Точное время будет зависеть от производительности вашего компьютера и количества пакетов, которые установщик должен скомпилировать.
В дополнение к устанавливаемому ISO, проект Guix System, очень полезно, также создает образ виртуального диска, который вы можете использовать с эмулятором Qemu для загрузки в предварительно установленную среду. Вы можете использовать этот образ для загрузки в установку системы Guix, которая использует рабочий стол Xfce. Начинающим пользователям лучше познакомиться с Guix, используя этот виртуальный образ, вместо того, чтобы пытаться установить систему с нуля.
Работа с Guix
Благодаря рабочему столу Xfce дистрибутив не выглядит таким чужим снаружи, как на самом деле внутри. Независимо от вашего опыта работы с Linux, вы не сможете много сделать с установкой системы Guix, не прочитав сначала ее документацию.
В дистрибутиве есть базовый набор приложений, поэтому вам придется превратить его в удобный рабочий стол. Хорошо то, что взаимодействие с менеджером пакетов Guix не сильно отличается от использования apt или dnf, если вы пролистаете документацию, чтобы ознакомиться с ее особенностями.
Однако изучение некоторых из его расширенных функций управления пакетами займет некоторое время. Кроме того, будучи дистрибутивом GNU, в вашем распоряжении будет меньшее количество программного обеспечения через его репозитории.
Однако дистрибутив поддерживает Flatpak, и вы можете добавить репозиторий Flathub, чтобы использовать некоторые популярные приложения, недоступные в официальных репозиториях. Однако в наших тестах приложения, загружаемые через Flatpak, вели себя непоследовательно. Ни один из них не появлялся в меню, а некоторые из них не запускались даже из командной строки.
Кроме того, если вы решитесь установить и использовать систему Guix вне виртуальной среды, первое, что вас отвлечет, будет любезно предоставлено ядром Linux-libre, которое лишено любых двоичных двоичных объектов в ядре.
Это ограничивает его аппаратную поддержку, особенно когда речь идет о беспроводных и графических картах. Чтобы обойти эти ограничения, вы можете использовать репозиторий nonguix, который включает драйверы, которые не являются бесплатными и не могут быть включены в исходное ядро Linux-libre.
Соревнование
По сравнению с обычными дистрибутивами Linux, установка и администрирование системы Guix требует сложного обучения. Вы не сможете далеко продвинуться с Guix, не обращаясь к его официальной документации.
Все, начиная с системы инициализации, файловой системы и управления пакетами, очень не похоже на то, что есть в традиционных дистрибутивах Linux, и для их освоения потребуется время и немного чтения.
Guix - это повторная реализация Nix в GNU Guile, которая делает систему Guix намного более похожей на NixOS. Тем не менее, между ними все еще есть существенные различия. Например, в отличие от NixOS, Guix System использует диспетчер служб GNU Shepherd. Итак, опять же, хотя пользователи Nix будут больше ориентироваться на Guix на концептуальном уровне, чем пользователи Linux, им все равно нужно будет обратиться к документации для управления установкой.
Окончательный вердикт
Было бы большой несправедливостью смотреть на систему Guix как на обычный рабочий стол Linux.
Guix System, как и NixOS, предназначена для пользователей, которым нравится иметь конфигурацию для всей их установки в одном файле. Дистрибутив понравится пользователям, которые хотели бы иметь систему, которая упрощает создание экземпляров виртуальных машин.
Только те, кто какое-то время администрирует Linux-машины, смогут в полной мере оценить преимущества диспетчера пакетов Guix. Дистрибутив будет иметь смысл для пользователей, которые заботятся о воспроизводимых сборках, которым нравится иметь возможность оспаривать пакеты, созданные локально с помощью апстрима.
Однако для всех остальных крутая кривая обучения Guix будет серьезным отвлечением. Это обещание обеспечения стабильности для критически важных развертываний, таких как серверы, может быть достигнуто в более знакомых средах CentOS или Arch. Однако хорошей новостью является то, что вы можете «установить» менеджер пакетов Guix поверх более знакомого дистрибутива Linux.
Еще одна пропасть в удобстве использования - это принятие принципа бесплатного программного обеспечения GNU, что благородно, но непрактично для большого числа пользователей.
Учитывая все обстоятельства, несмотря на превосходство системы Guix, она не понравится большому количеству обычных пользователей Linux.
- Мы представили лучшие дистрибутивы Linux для начинающих.