The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

07.12.2018 10:30  Доступен пакетный менеджер GNU Guix 0.16 и дистрибутив GuixSD на его основе

Проект GNU опубликовал пакетный менеджер GNU Guix 0.16 и построенный на его основе дистрибутив GNU/Linux - GuixSD (Guix System Distribution). Отмечается, что, скорее всего, данный выпуск станет последним перед формированием знакового релиза 1.0, так как все основные цели уже достигнуты. Дистрибутив допускает установку как в качестве обособленной ОС в системах виртуализации и на обычном оборудовании, так и запуск в уже установленных типовых окружениях GNU/Linux. Для загрузки сформированы образы для установки на USB Flash и использования в QEMU (170 Мб). Поддерживается работа на архитектурах i686, x86_64, armv7, aarch64 и mips64el.

Основные новшества:

  • Добавлены новые системные сервисы для ddclient, gitolite, iptables, pcscd, prometheus-node-exporter и varnish;
  • Обновлены версии программ в 1945 пакетах, добавлено 985 новых пакетов. В том числе обновлены версии gcc 8.2.0, ядро linux-libre 4.19.6, bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2, , ocaml 4.07.1, octave 4.4.1, perl 5.28.0, python 3.7.0, rust 1.28.0, r 3.5.1, xorg-server 1.20.3;
  • Добавлен модуль "guix channels", предоставляющий возможность подключения к сторонним репозиториям пакетов (каналам). Поддержка каналов добавлена в команду "guix pull". Список каналов задаётся через файл ~/.config/guix/channels.scm;
  • Добавлена команда "guix pull --profile" для выбора активного профиля (по умолчанию ~/.config/guix/current), позволяющая наладить параллельную работу с несколькими ревизиями;
  • Добавлен модуль "guix describe" и одноимённая команда для отображения используемых ревизий и каналов;
    
       $ guix describe
       Generation 10	Sep 03 2018 17:32:44	(current)
         guix e0fa68c
           repository URL: https://git.savannah.gnu.org/git/guix.git
           branch: master
           commit: e0fa68c7718fffd33d81af415279d6ddb518f727
    
  • Добавлен модуль "guix inferior" для взаимодействия с другими экземплярами (ревизиями репозитория) Guix, что может применяться, например, для сборки пакета из другой ревизии Guix или отображения различий между ревизиями. Для вывода списка новых и обновлённых пакетов реализована новая команда "guix pull -l", для замены ревизии - "guix repl", а для просмотра запущенных guix-процессов - "guix processes". В Manifest-файлах теперь могут указываться ссылки на произвольные коммиты Guix;
  • В команды для работы с пакетом добавлены опции "--with-branch" и "--with-commit", позволяющие извлечь пакет из Git-репозитория, используя определённую ветку или коммит;
  • В утилитах командной строки обеспечен более наглядный вывод информации с подсвечиванием важных событий. Из вывода команд "guix packagе" и "guix system" исключены логи сборки, а в "guix build" выделены цветом важные события при сборке;
  • Добавлен модуль с поддержкой архива Software Heritage и возможностью выполнения через него операций "git checkout". В дополнение к поддержке повторяемых сборок, позволяющих убедиться в тождественности бинарной сборки эталонным исходным текстам, добавлена возможность повторяемой загрузки исходных текстов. В случае, если репозиторий из которого собран пакет перестал существовать, теперь код можно загрузить из архива Software Heritage;
  • URL с репозиторием для загрузки уже собранных бинарных пакетов (substitute URL) изменён на https://ci.guix.info;
  • Сервисный менеджер GNU Shepherd обновлён до версии 0.5.0, в которой добавлена возможность определения замены сервисов, обеспечен перезапуск всех зависимых сервисов при перезапуске родительского сервиса и реализована функциональность для определения собственных действий в сервисах. В команде "guix system reconfigure" добавлена поддержка загрузки замен сервисов, определённых в Shepherd;
  • Добавлены команды "herd schedule mcron" и "herd statistics nscd" доя отображения запланированных в cron заданий и статистики DNS-сервера nscd;
  • В команды "guix import pypi", "guix import hackage" и "guix import stackage" добавлена опция "--recursive" для выполнения рекурсивных запросов;
  • В число обязательных зависимостей к Guix включены модули Guile-Gcrypt и Guile-JSON;
  • В дистрибутиве обеспечена самодостаточная сборка (bootstrap) компилятора Rust (пакет mrustc) из исходных текстов;
  • Добавлен модуль "guix status" для формирования индикатора прогресса выполнения операций;
  • Добавлены новые сборочные системы: clojure и guile.

Напомним, что пакетный менеджер GNU Guix основан на наработках проекта Nix и кроме типичных функций управления пакетами поддерживает такие возможности, как выполнение транзакционных обновлений, возможность отката обновлений, работа без получения привилегий суперпользователя, поддержка привязанных к отдельным пользователям профилей, возможность одновременной установки нескольких версий одной программы, средства уборки мусора (выявление и удаление неиспользуемых версий пакетов). Для определения сценариев сборки приложений и правил формирования пакетов предлагается использовать специализированный высокоуровневый предметно-ориентированный язык и компоненты Guile Scheme API, позволяющие выполнять все операции по управлению пакетами на функциональном языке программирования Scheme.

Поддерживается возможность использования пакетов, подготовленных для пакетного менеджера Nix и размещённых в репозитории Nixpkgs. Кроме операций с пакетами возможно создание сценариев для управления конфигурацией приложений. При сборке пакета автоматически загружаются и собираются все связанные с ним зависимости. Возможна как загрузка готовых бинарных пакетов из репозитория, так и сборка из исходных текстов со всеми зависимостями. Реализованы средства для поддержания версий установленных программ в актуальном состоянии через организацию установки обновлений из внешнего репозитория.

Сборочное окружение для пакетов формируется в виде контейнера, содержащего все необходимые для работы приложений компоненты, что позволяет сформировать набор пакетов, способный работать без оглядки на состав базового системного окружения дистрибутива, в котором Guix используется в качестве надстройки. Между пакетами Guix возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Пакеты устанавливаются в отдельное дерево директорий или поддиректорию в каталоге пользователя, что позволяет обеспечить его параллельное сосуществование с другими пакетными менеджерами и обеспечить поддержку широкого спектра существующих дистрибутивов. Например, пакет устанавливается как /nix/store/f42d4878f3a0b426064a6a54a0c6f92-firefox-63.0.0/, где "f42d48..." является уникальным идентификатором пакета, используемым для контроля зависимостей.

Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre, очищенным от несвободных элементов бинарных прошивок. Для сборки применяется GCC 8. В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов. Базовый образ поддерживает работу в консольном режиме, но для установки подготовлено 8715 готовых пакетов, среди которых и компоненты графического стека на базе X.Org, оконные менеджеры dwm и ratpoison, а также ряд программ на базе библиотеки GTK+.

  1. Главная ссылка к новости (http://lists.gnu.org/archive/h...)
  2. OpenNews: Выпуск системы инициализации GNU Shepherd 0.5
  3. OpenNews: Выпуск GNU Mes 0.17, инструментария для самодостаточной сборки дистрибутивов
  4. OpenNews: Доступен пакетный менеджер GNU Guix 0.15 и дистрибутив GuixSD на его основе
  5. OpenNews: Доступен полностью свободный Linux-дистрибутив Trisquel 8.0
  6. OpenNews: Выпуск дистрибутива NixOS 18.09, использующего пакетный менеджер Nix
Лицензия: CC-BY
Тип: Программы
Ключевые слова: guix
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.2, proninyaroslav (ok), 11:09, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    >Добавлены новые сборочные системы: clojure и guile.

    Знающие люди, подскажите: clojure всё таки выстрелил или так и остался хипстерским языком?

     
     
  • 2.12, Аноним (12), 17:14, 07/12/2018 [^] [ответить]    [к модератору]
  • +/
    Себе в ногу.
    Чем GCL не устраивает?
     
  • 2.21, Аноним (21), 11:37, 10/12/2018 [^] [ответить]     [к модератору]
  • +/
    Выстрелил в качестве хипстерского языка Там есть хорошие идеи, но в целом Cl... весь текст скрыт [показать]
     
  • 1.3, Аноним (3), 11:13, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Там по прежнему без танцев с бубном установить на убунту нельзя?
     
     
  • 2.18, Аноним (18), 05:10, 10/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Без каких имено танцев с бубном? На убунту guix ставится так же, как и на любой другой дистрибутив.
     
  • 1.4, Аноним (4), 12:07, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > В качестве системы инициализации используется сервисный менеджер GNU Shepherd

    Подскажите, он поддерживает паралельный запуск демонов или нет?

     
  • 1.5, J.L. (?), 13:26, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > Добавлен модуль с поддержкой архива Software Heritage

    на сайте в списке указан Debian, это теперь в GuixSD можно поставить любой пакет из основных репов дебиана?

     
  • 1.11, Аноним (12), 17:12, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Не хватает пакетов с Plasma 5, KDE Frameworks, KDE Applications.
     
     
  • 2.17, Аноним (18), 05:07, 10/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Есть там это всё.
    http://guix.info/packages/K/
     
  • 1.13, Аноним (12), 17:17, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >В дистрибутиве обеспечена самодостаточная сборка (bootstrap) компилятора Rust (пакет mrustc) из исходных текстов;

    Надеюсь, не требующая шланго-ллвэмов.

     
  • 1.14, Аноним (-), 18:01, 07/12/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • –1 +/
    Было забавно узнать, что в этом дистре store расположен по guix store и только ... весь текст скрыт [показать]
     
     
  • 2.19, Andrey Mitrofanov (?), 09:36, 10/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Было забавно узнать, что в этом дистре store расположен по /guix/store и
    > только это ломает бинарную совместимость с Nix, на уровне библиотек. Ведь
    > как ещё создать условия для героического переписывания пакетной базы, которая уже
    > есть в nixpkg ради идеи, чтобы всё было на Guile вместо
    > Nix. А казалось бы, не такая уж разница, какой из этих
    > недоязычков использовать.

    Всё мировое дистрибуто строение построено на "героическом переписывании пакетной базы".  Пререписывание rpm-бейзед Вас не смущало все эти десятилетия, а вот GNU Guix обратил на себя Ваше внимание.  Ему д.б. лестно, да.

     
  • 1.15, user90 (?), 18:15, 07/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Спасибо за перевод, лень было вникать в чейнжлог - просто обновляюсь и все.

    > и только это ломает бинарную совместимость с Nix

    Переживем)) Впрочем импорт nixpkg тоже заявлен, согласно мануалу.

     
     
  • 2.20, Andrey Mitrofanov (?), 10:39, 10/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Вы правильно употребили слово заявлен Как мне кажется Я поясню подробнее мо... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor