LINUX.ORG.RU

Выход GNU Guix 0.13 и новой версии GuixSD

 , ,


0

3

Guix — пакетный менеджер, разрабатываемый в рамках проекта GNU. Его особенность — схожая с Nix концепция, позволяющая устанавливать сколько угодно версий одной программы, работать с пакетами без прав суперпользователя, обновлять и откатывать их по отдельности. Правила сборки и обслуживания пакетов описываются на функциональном языке Scheme.

GuixSD — дистрибутив Linux, использующий Guix в качестве основного пакетного менеджера.

Новое в Guix 0.13:

  • возможность работы на архитектуре aarch64;
  • команда guix pack для создания бинарных пакетов;
  • команда guix copy для копирования объектов репозитория по SSH;
  • опция --cache для команды guix publish — кэширование бинарных пакетов для быстрой работы с публичными репозиториями;
  • может использоваться Guile 2.2 для повышенной производительности;
  • Emacs-подобный интерфейс выведен в отдельный пакет Emacs-Guix;
  • команда guix pull теперь использует HTTPS для соединения с git.savannah.gnu.org;
  • Cypher-бэкенд для guix graph;
  • для работы требуются Guile-биндинги к GnuTLS;
  • 840 новых пакетов: игры, утилиты, компоненты Java, Ocaml, Python, и т. д.;
  • обновлены версии 1220 пакетов;
  • другие изменения.

Новая версия GuixSD имеет следующие отличия:

  • поддержка (U)EFI установочным образом;
  • полноценная поддержка Btrfs (ранее были проблемы с созданием initrd);
  • некоторые системные процессы могут запускаться в отдельных пространствах имён;
  • доступно окружение рабочего стола LXDE;
  • улучшена конфигурация nginx-service-type;
  • новые сервисы: exim, mail-aliases, inetd, agetty, openvswitch, special-files, redis, thermald;
  • другие изменения.

>>> Подробности

Deleted

Проверено: Shaman007 ()
Последнее исправление: Psych218 (всего исправлений: 2)

Ответ на: комментарий от makoven

Категорически нет

Rust категорически не подходит. Для функционального ПМ нужен функциональный ЯП.

Camel ★★★★★
()

Его особенность — схожая с Nix концепция

Я так понимаю, разработчики GNU обнаружили у Nix фатальный недостаток?

quantum-troll ★★★★★
()
Ответ на: комментарий от makoven

Функциональная мякотка

что в этом пм такого функционального и почему это вообще важно для пм?

Начну с последнего, если ПМ функциональный, то для него логично было бы использовать функциональный ЯП.

Теперь о функциональности ПМ. В guix установка пакета и конфигурация системы полностью описывается в функциональном стиле и на функциональном языке. Любое изменение в описании пакета изменяет результат, любое изменение в исходниках пакета меняет результат, на выход мы получаем другой пакет. Поведение пакета полностью описывается его конфигурацией. Нет никаких pre-install и post-install сценариев, в которых триггеры срабатывают на прошлые версии, наличие или отсутствие в системе perl'а, Gtk или чего-либо ещё.

Camel ★★★★★
()
Ответ на: комментарий от mandala

Ну давай тогда все писать на баше, чё уж. Хороша ложка к обеду.

Все не надо, только билд-инструкции. Ту же императивную последовательность действий, что ты вбиваешь в терминале добавляешь в nix-выражение. Все просто и понятно, без лишних оберток. It's a natural way.

Nix-team просто не осилило ни чего более, ну и выглядит это как попытка привлечь на свой велосипед хоть кого-то. Идеи интересные, вот их утащили. Реализация не очень.

На минутку, у Nix значительно большее комьюнити, чем у Guix'а. Даже на маках народ пользуется. Реализация хорошая, не очень она только для упоротых фанатов Guix.

Guix не взлетит, потому что она не для людей. По пунктам:

1. Юношеский максимализм
2. Страсть к писанине на голом AST (привет, лисп)
3. Столманизм такой, что даже ядро с блобами в оф.репе низя

anonymous
()
Ответ на: Функциональная мякотка от Camel

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

ЯННП. Наверное не мой уровень

makoven ★★★★★
()
Ответ на: комментарий от mandala

systemd используется, потому что его юниты декларативны. Легко конвертировать сервисы из языка Nix в язык юнитов. Но в планах есть добавление абстракции над системой инициализации, чтобы у пользователя был выбор.

anonymous
()
Ответ на: комментарий от mandala

Нету пользователей?

У NixOS есть пользователи, но нет фанбоев. У GuixSD нет пользователей, потому что пользоваться там всё ещё нечем, но есть фанбои.

Или там ни чего не происходит, кроме повышения версий пакетов?

Базовый функционал там уже давно готов, поэтому Breaking News вроде «добавлена поддержка UEFI» там сейчас действительно нет.

Esper
()
Ответ на: комментарий от anonymous

даже ядро с блобами в оф.репе низя

Это прекрасно. Нужны блобы просто? Вон выньда, вон макось. А собрать ядро, или даже опакетить его для удобства — не проблема, если действительно нужно.

mandala ★★★★★
()
Ответ на: комментарий от Esper

Breaking News вроде «добавлена поддержка UEFI» там сейчас действительно нет

Добавление в образ поддержки уефи — вообще семечки. Раньше образы не собирали вообще, это сейчас всё для лентяев делают.

mandala ★★★★★
()
Ответ на: комментарий от mandala

Это я понял из новости. Я не понял, каким таким магическим образом фп позволяет это сделать, а императивные языки нет

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)
Ответ на: комментарий от makoven

Функциональщина тут просто «сбоку бантик». Установка множества версий программы без труда реализуется простым башем.

Deleted
()
Ответ на: комментарий от mandala

Какой же ты все-таки дурачок) Баш для инструкций по сборке, которые императивны по своей природе. Все остальное декларативненько описывается на Nix.

Лисп - это не особо ФП, кстати.

anonymous
()
Ответ на: комментарий от mandala

Я так понимаю, guile заменяет баш-костыли потомучто поставляется с батарейками. Вместо сотен coreutils один guile. И это хорошо. Но язык никому ненужный и учить его никто не будет. Поэтому лучше js с некой минимальной стандартной либой, заточенной для работы с пакетами.

makoven ★★★★★
()
Ответ на: комментарий от makoven

Но язык никому ненужный и учить его никто не будет. Поэтому лучше js с некой минимальной стандартной либой, заточенной для работы с пакетами.

Хорошо, что ты не решаешь.

Oxdeadbeef ★★★
()
Ответ на: комментарий от anonymous

Я понял что ты тот фанбой Nix, который тут периодически вылезает, а тут еще говорили что у никса фанбоев нету...

mandala ★★★★★
()
Ответ на: комментарий от makoven

rust

Руст-говнуст. Серьёзно, лучше уж D. У гнутиков аж целый gdc под это дело есть.

скриптовым языком сделать js

Гуйлёвая vm умеет его исполнять. Хотя возможно, что с оговорками.

Hertz ★★★★★
()
Ответ на: комментарий от Hertz

Руст-говнуст

Ржали всем опенспейсом. У Давида аж смузи из носу потек

makoven ★★★★★
()
Ответ на: комментарий от makoven

Но язык никому ненужный и учить его никто не будет.

Там особо нечего изучать. Язык по сути просто очередное название схемы. Понимаю, ракет переименовали, потому что поверх схемы ещё своих расширений нагородили.

Hertz ★★★★★
()
Ответ на: комментарий от matumba

А потом плач «удолите вирус»... Спасибо - не надо. С правами в линуксе устарели только отдельные политики. Раньше, кажется, для подключения принтера нужно было шаманить. Типа такого. Сама идея показывает себя отлично

Nicholass ★★★
()
Ответ на: комментарий от Nicholass

Сама идея показывает себя отлично

DAC прост как кирпич, но и даже к нему костылей напилили. А потом его стало остро не хватать и появились всякие SELinux.

mandala ★★★★★
()
Ответ на: комментарий от makoven

Голубчик, не выкобенивайся и пиши биндинг на расте к дхаллу. У последнего есть транслятор в никс. А на маке никс и так работает.

anonymous
()
Ответ на: комментарий от anonymous

Хотя падажжи, такой уже есть один. Тогда форкай/коммить, епта

anonymous
()

Как guix будет дружить с rvm, npm, pip, cargo и другими нишевыми пакетными менеджерами? Полагаю, что само собой — никак. Но и отказаться от их использования guix также не поможет.

А вот масштаб бардака нетрудно представить: когда в guix разные версии пакета, который является зависимостью одного из пакетов в rvm, npm и т.д. Это ж надо каждый раз будет вспомнить, какая версия, для кого подходит, что включить/выключить… виндовый dll hell раем покажется.

anonymous
()
Ответ на: комментарий от anonymous

полагай мимо

Как guix будет дружить с rvm, npm, pip, cargo и другими нишевыми пакетными менеджерами? Полагаю, что само собой — никак. Но и отказаться от их использования guix также не поможет

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

anonymous
()
Ответ на: комментарий от anonymous

А вот масштаб бардака нетрудно представить: когда в guix разные версии пакета, который является зависимостью одного из пакетов в rvm, npm и т.д. Это ж надо каждый раз будет вспомнить, какая версия, для кого подходит, что включить/выключить

ну и что, что разные версии? разные версии будут в разных окружениях, derivatives.

вспоминать не надо — надо нормальные рецепты для сборки сразу писать, с теми версиями, с которыми протестировано. типа CI и билдфермы типа Hydra в Nix. всё равно последнюю current версию как правило использовать нельзя без тестирования — что-сломаться ведь может.

anonymous
()
Ответ на: комментарий от makoven

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

Deleted
()

вот без фанбойства. я знаю, что некоторые компании, да та же mozilla используют в работе nix. а про guix есть такие истории успеха?

anonymous
()
Ответ на: комментарий от Alsvartr

Спасёт. Потому что юзер может начать о чём-то догадываться, когда на ровном месте ему будет вылетать формочка для ввода пароля.

anonymous
()
Ответ на: комментарий от thunar

Пасека, пасека, пасека.

А у меня есть пасека Двенадцать новых ульев По трое в ряд стоят они Ряда четыре будет

anonymous
()
Ответ на: комментарий от anonymous

Наворовать чужих идей

Наворовать идей? Тебе точно с GNU не по пути.

anonymous
()
Ответ на: комментарий от anonymous

А кто установку пакета запустит? В любом случае никто не мешает поставить noexec на хомяк и не пользоваться этим

Alsvartr ★★★★★
()

Nixlang попроще в чтении и использовании будет, да и блобов от невидии в никс завезут.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.