The OpenNET Project / Index page

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

Вышел пакетный менеджер GNU Guix 0.4 и первый прототип GNU/Linux дистрибутива на его основе

29.09.2013 09:14

Одним из интересных анонсов, приуроченных к тридцатилетию проекта GNU, стал выпуск пакетного менеджера GNU Guix 0.4 и публикация первого рабочего прототипа самодостаточного GNU/Linux дистрибутива на его основе. Дистрибутив оформлен в виде загрузочного образа (120 Мб) для QEMU и предназначен для запуска в виртуализированных окружениях, инсталлятор для установки на отдельные разделы пока отсутствует.

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

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

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

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

  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Фонд CПО выпустил полностью свободный вариант ядра Linux 3.11
  3. OpenNews: Возрождение системы управления пакетами GNU Stow
  4. OpenNews: Доступна децентрализованная система установки приложений Zero Install 2.0
  5. OpenNews: Ubuntu начал тестирование каталога-магазина для пакетов в формате Click
  6. OpenNews: OSTree - реализация применения Git-подобного репозитория для установки и обновления ОС
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38024-gnu
Ключевые слова: gnu, packet, guix
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:15, 29/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не судьба сделать firefox-24.0.0-f6dvq84299f3249h8my6r9vs7a0n3 ?
     
     
  • 2.3, Нанобот (ok), 10:59, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    радуйся, что не f6dvq84299f3249h8my6r9vs7a0n3
     
  • 2.10, DFX (ok), 13:41, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    во-во ! и вообще, оставили бы такие "уникальные идентификаторы" для реестра. а то эти идентификаторы такие уникальные, что им для существования требуется специальный уход :|
     
     
  • 3.13, Ordu (ok), 14:57, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Приходится иметь уникальные имена файлов в файловой системе. Добавление случайной строки -- это решение проблемы. Другое дело, что действительно неловко выходит -- работать с такими именами файлов будет затруднительно. Придётся отдельно возиться с тем, чтобы изменить порядок сортировки. Или искусственно создавать симлинки вида: /nix/symlinks/firefox-24.0.0-f6dvq84299f3249h8my6r9vs7a0n3 -> ../store/f6dvq84299f3249h8my6r9vs7a0n3-firefox-24.0.0 Мелочь, а неприятно.
     
  • 2.18, Int (?), 18:22, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поиск по маске f6dvq8* гараздо быстрее поиска по маске *f6dvq8

    Вот что получается когда люди изобретают СУБД на основе имен файлов.

     

  • 1.2, Аноним (-), 10:49, 29/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Пакеты оформляются в виде контейнеров, содержащих все необходимые для работы приложений компоненты и позволяющие запустить приложение без оглядки на состав базового системного окружения.

    Перевод: с пакетом в комплекте идет всякое гуано мамонта, которое никто никогда не будет обнавлять. Енджой йо програм файлс.
    Не нужно.

     
     
  • 2.4, ананим (?), 11:20, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бажный у тебя переводчик.
    >При сборке пакета автоматически загружаются и собираются все связанные с ним зависимости.

    ... 

     
     
  • 3.6, ip1981 (ok), 11:40, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Java + Maven ? :-)
     
  • 3.9, YetAnotherOnanym (ok), 13:12, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Взаимоисключающие параграфы в эталонном виде.
     

  • 1.5, Аноним (-), 11:32, 29/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Бинарный пакет без зависимостей, т.е. базовый набор библиотек и сервисов обновляется отдельно или меняется от версии дистрибутива? gobolinux (если не учитывать отход oт иерархии)?
     
  • 1.16, lucentcode (ok), 16:14, 29/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Идея не плохая. Посмотрим, что из этого получится. Что меня смущает, так это широкое использование Guile. Scheme - очень простой и элегантный язык, но малопопулярный. Почему не использовали мейнстримный Java Script(его же теперь везде пихают)?
     
     
  • 2.17, Ordu (ok), 17:05, 29/09/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какая разница, какой там язык?

    Но, всё же, можно предположить, что Guile -- это GNU проект, а мейнстримный js -- это не GNU проект. GNU -- это не мейнстрим, и не стоит ждать от него мейнстримных решений.

     
  • 2.19, kai3341 (ok), 03:22, 30/09/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Да, идея неплохая:
    1) Этот пакетный менеджер не конфликтует с системным пакетным менеджером
    * Нужно только устранить конфликт конфигов
    2) Этот пакетный менеджер решает конфликт библиотек и заголовочников для разных архитектур
    * Правда, в нормальных пакетах это давно решено. Но некоторые мейнтейнеры продолжают косячить
    3) Пакет будет дистронезависим.
    * Привет, блоб!
     

  • 1.21, SpiritOfStallman (ok), 12:12, 30/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Всё чаще и сильнее люди хотят контейнеры а-ля маковских.
     
     
  • 2.22, Аноним (-), 14:46, 30/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего удивительного: инсталляция программ, в большинстве случаев, сводится к простой распаковке из архива и перемещении в любое место, всё - программа готова к запуску. Это вам не виндовый реестр и не LSB.
     
     
  • 3.26, SpiritOfStallman (ok), 18:35, 30/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ничего удивительного: инсталляция программ, в большинстве случаев, сводится к простой
    > распаковке из архива и перемещении в любое место, всё - программа
    > готова к запуску. Это вам не виндовый реестр и не LSB.

    Ну, и плюсы и минусы этого метода уже много раз обсуждались.
    Есть и первое и второе. Тут скорее уже с родни религии.
    PS: но так или иначе, сам таки за этот метод (all-in-one пакеты)

     
  • 2.23, q1w2e3r4t5y6u7i8o9p0 (?), 15:29, 30/09/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Смени ник, он тебе не идёт. Осиль чруты и LD_LIBRARY_PATH в конце-концов.
     
     
  • 3.25, SpiritOfStallman (ok), 18:32, 30/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Смени ник, он тебе не идёт.

    Ценная рекомендация. Спасибо.

    >Осиль чруты и LD_LIBRARY_PATH в конце-концов.

    А от чего достопочтенный сэр решил что я чего-то из этого не осилил?
    Смею предположить что вы ЛОРакул, не меньше.

     

  • 1.24, ANN (?), 16:28, 30/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Будучи школьником мечтал о таком и даже начал писать его на /bin/sh. Приятно когда реализовывают твои мечты.
     
     
  • 2.34, ANN (?), 09:41, 02/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Что не так?
     

  • 1.27, Аноним (27), 22:36, 30/09/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Если потребуется обновить libc, в скольких местах это потребуется сделать?
     
     
  • 2.29, Аноним (-), 10:13, 01/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Libc, скорей всего, не входит в состав пакетов, кроме каких-то особых случаев зависимости от её версии. Libc есть в каждом дистре (куда же без неё), а glibc и eglibc совместимы.
     
     
  • 3.30, Аноним (-), 18:07, 01/10/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А если софт из пакета использует новые фичи glibc, которых еще нет в дистрибутивной glibc?
     
  • 2.31, Аноним (-), 18:08, 01/10/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Если потребуется обновить libc, в скольких местах это потребуется сделать?

    Обновляться - это арчеводство. Любое обновление ломает стабильность™.

     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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