The OpenNET Project / Index page

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

Доступен пакетный менеджер GNU Guix 0.9 и дистрибутив GuixSD на его основе

05.11.2015 17:51

Проект GNU опубликовал выпуск пакетного менеджера GNU Guix 0.9 и построенного на его основе самодостаточного дистрибутива GNU/Linux - GuixSD (Guix System Distribution). Дистрибутив может использоваться как в виртуализированных окружениях, так и на обычном оборудовании. Допускается установка не только в качестве обособленной ОС, но и запуск в уже установленных типовых окружениях GNU/Linux. Для загрузки доступны образы для установки на USB Flash и использования в QEMU (145 Мб).

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

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

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

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

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

  • По сравнению с прошлым выпуском добавлено 543 новых пакета, в том числе пакеты с языком Idris и многие импортированные пакеты с компонентами для разработчиков на Haskell, Python и R;
  • Поддержка средств для автоматизации создания и запуска изолированных контейнеров;
  • Новый фреймворк для построения сервисов, позволяющий сформировать компоненты, необходимые для работы сервисов и системных надстроек, с учётом требуемых зависимостей. Пока не все задумки реализованы, но в будущем фреймворк поможет превращению дистрибутива в модульную систему.
  • Новая команда "guix challenge", позволяющая удостовериться, что исполняемый файл собран из имеющихся исходных текстов;
  • Новая команда "guix graph", позволяющая нарисовать граф зависимостей с различным уровнем детализации, команда "guix system extension-graph" для формирования графа взаимосвязи системных сервисов, и команда "guix system dmd-graph" для вывода графа зависимостей сервисов с позиции системного менеджера GNU dmd.


  1. Главная ссылка к новости (http://savannah.gnu.org/forum/...)
  2. OpenNews: Фонд СПО признал Guix полностью свободным дистрибутивом
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/43268-guix
Ключевые слова: guix
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 18:41, 05/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Я сейчас задам необычный вопрос:
    А что в этом пакетном менеджере плохого?
    Почему он ещё не вытеснил всякие apt и прочие yum? Уже за ГНУтость можно пару очков форы дать.
     
     
  • 2.2, Аноним (-), 18:46, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А что в этом пакетном менеджере плохого?

    Разработчики Debian, RHEL, SUSE, Arch, Gentoo и основанных на них дистрибутивов видят в нем фатальный недостаток: "его сделали не мы".

     
     
  • 3.3, A.Stahl (ok), 18:53, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    NIH это понятно. Но ведь должны же быть более рациональные претензии...
     
  • 3.5, Stax (ok), 19:24, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Может наоборот? К примеру, Red Hat использует формат RPM с 1997 года (разработанный с учетом недоработок формата PM, используемого с 1993 года); dpkg используется с 1994 года (современные .deb-пакеты, впрочем, появились несколько позже). GUIX же придумали в 2013 году и пока он еще в состоянии alpha с отметкой "NOT PRODUCTION-READY!". Ну и зачем он им сдался?
     
     
  • 4.14, Sluggard (ok), 20:36, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсую.
    В той же openSUSE zypper работает с 2006 года.
    В Fedora/RHEL yum пилили с 2003, кажется.
    А Guix анонсировали только в ноябре 2012.
    Автор того коммента упорот.
     
  • 4.27, Аноним (-), 17:55, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Может наоборот? К примеру, Red Hat использует формат RPM с 1997 года
    > (разработанный с учетом недоработок формата PM, используемого с 1993 года); dpkg
    > используется с 1994 года (современные .deb-пакеты, впрочем, появились несколько позже).

    Ага.

    > GUIX же придумали в 2013 году

    ... с учетом недоработок форматов RPM и deb и сопутствующих пакетных менеджеров.

    Если бы ваш аргумент был валиден, то red hat до сих пор пользовался бы PM (ибо проверено временем же!).
    Но факты указывают опять-таки на влияние "фатального недостатка" (RPM - Red Hat Package Manager).

     
     
  • 5.30, Stax (ok), 18:08, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Если бы ваш аргумент был валиден, то red hat до сих пор пользовался бы PM (ибо проверено временем же!).
    > Но факты указывают опять-таки на влияние "фатального недостатка" (RPM - Red Hat Package Manager).

    PM и RPM те же люди написали, если что. Во времена PM'а не было Red Hat'а, он для другого дистрибутива был, а когда они его решили переписать, добавили бренд в имя и выпустили в рамках Red Hat 1.0.

    > ... с учетом недоработок форматов RPM и deb и сопутствующих пакетных менеджеров.

    Вот и ладушки. Пусть теперь докажут жизнеспособность этого Guix 20-ти летней историей, тогда можно будет обсуждать, почему он, а не RPM/deb. Форматов много было придумано, и всяких package manager'ов тоже (куда smart дели, кстати? Такой многообещающий проект был!). А выжили единицы.

     
  • 3.16, rob pike (?), 02:00, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Gentoo

    Thanks, but no, thanks.

     
     
  • 4.28, Аноним (-), 17:56, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Gentoo
    > Thanks, but no, thanks.

    GUIX для гентушников слишком быстр? Понимаю.

     
  • 3.19, Аноним (-), 10:34, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Почему тогда разработчики Debian, RHEL, SUSE, Arch не видят фатальный недостаток в systemd, его сделали не они?
     
     
  • 4.26, Аноним (-), 17:52, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >  Почему тогда разработчики Debian, RHEL, SUSE, Arch не видят фатальный недостаток в systemd, его сделали не они?

    Потому что SysV init тоже делали не они, так что никакой разницы?

    Единственное исключение - арч, но разработчик арчевского инита теперь один из лидеров systemd, так что все ок.

     
     
  • 5.29, Аноним (-), 17:58, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >>  Почему тогда разработчики Debian, RHEL, SUSE, Arch не видят фатальный недостаток в systemd, его сделали не они?
    > Потому что SysV init тоже делали не они, так что никакой разницы?
    > Единственное исключение - арч, но разработчик арчевского инита теперь один из лидеров systemd, так что все ок.

    Кстати, гента с ее собственным openrc тоже оч-чень показательно подтверждает это правило.

     
  • 2.4, ANONYM (?), 18:56, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >The Guix System Distribution (GuixSD) is alpha software, which means it is not production-ready. But you can help!
     
     
  • 3.7, sorrymak (ok), 19:32, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    GuixSD — это дистрибутив, а stahl вроде бы как говорил про менеджер пакетов.
     
     
  • 4.9, Andrey Mitrofanov (?), 19:43, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > GuixSD — это дистрибутив, а stahl вроде бы как говорил про менеджер
    > пакетов.

    У них [сейчас] и пакет-манагер и архив .scm пакетов лежат в одном гите, имеют одну версию и релизятся-девелопятся одновременно.   Ну, так получилось, извините.

     
  • 2.6, Crazy Alex (ok), 19:32, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Хм, лично для меня любая штуковина, устанавливающая софт в пользовательский каталог и, таким образом, подразумевающая отсутстсвие администратора (хотя бы как роли) - архитектурно неверна. Пользователь, в отличие от админа, в общем случае некомпетентен и не может осмысленно решить, что можно устанавливать, что - нет.

    Кроме того, Nix-подход, при котором в системе никак не поощряется борьба с древними версиями библиотек, сам по себе порождает бардак.

     
     
  • 3.8, Andrey Mitrofanov (?), 19:41, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Хм, лично для меня любая штуковина, устанавливающая софт в пользовательский каталог и,
    > таким образом, подразумевающая отсутстсвие администратора (хотя бы как роли) - архитектурно
    > неверна. Пользователь, в отличие от админа, в общем случае некомпетентен и
    > не может осмысленно решить, что можно устанавливать, что - нет.

    У тебя _все_ пользователи имеют доступ на запись _только_ в разделы, смонтированные в ro или с noexec? Точно-точно?? Проверял? А сегодня?? А сколько раз??!

    Расскажи нам больше про _свою_ архитектурную компетентность!

     
     
  • 4.34, Crazy Alex (ok), 20:45, 07/11/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На десктопах у моих пользователей (а это моя семья) нет привычки что-либо делать мимо пакетного менеджера, и если тот предлагает что-то странное - они задают вопрос мне. А на серверах пользователей-людей и подавно нет.

    И нет, я не парюсь с noexec и знаю, что его можно обойти без особых проблем. Здесь речь не о защите от хакера, а о защите от дурака и неряшливости. Больше того - я считаю, что иметь свой набор скриптов в ~/bin - священное право пользователя. Но это - именно о скриптах, упрощающих какие-то локальные задачи. Всё, что больше - должно быть под пакетным менеджером и ставиться с умом. Необходимость ввести для этого sudo и переключиться в режим повышенной осторожности - штука очень полезная.

     
  • 2.15, angra (ok), 20:47, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Как минимум то, что он не умеет работать с уже имеющимися репозиторями для apt, yum итд. С учетом того, что существуют альтернативы apt/yum, которые умеют работать с имеющейся инфраструктурой, но все равно не получили распространения, то этого недостатка guix достаточно, чтобы про него забыть в обозримом будущем. А GNUтость скорее недостаток, вот если бы за ним стояла серьезная коммерческая контора, тогда шансы были бы.
     
  • 2.17, Аноним (-), 08:18, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    вот! нужно переписать всю убунту, 30000 пакетов на guix. Предлагаю вам начать прямо сейчас. Чем раньше начнешь, тем раньше закончишь.
     
     
  • 3.22, Andrey Mitrofanov (?), 11:26, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > вот! нужно переписать всю убунту, 30000 пакетов на guix. Предлагаю вам начать
    > прямо сейчас. Чем раньше начнешь, тем раньше закончишь.

    [I]  your help needed!
    version 0.8.2[/I]^W[I]0.9.0 is out now
    quickly growing collection of package
    recipes (1800+[/I]^W[I]2,600+)
    install the distribution
    use it, report bugs, add packages
    share your ideas![/I]


    Зачем? Лучше убунту или дебиан ставить "в домашнюю пользователя", как раньше ставили Guix на них.  Надо просто пропатчить Guix. "Предлагаю вам начать прямо сейчас."  Потянете?

     
  • 2.23, Клыкастый (ok), 13:50, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А что в этом пакетном менеджере плохого?

    позволяет сформировать набор пакетов, способный работать без оглядки на состав базового системного окружения дистрибутива

    позволяет развести в системе шизофрению. впрочем, фанатам контейнеров должно понравится.

     
     
  • 3.24, Павел Самсонов (?), 17:34, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Шизофрения происходит от греческого шизма - латинского схизма. Шизматик - схизматик это еретик инаковер.
     
     
  • 4.25, Клыкастый (ok), 17:43, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Шизофрения происходит от греческого шизма - латинского схизма.

    а шизофреник - это гражданин с расстройством психики.


     
     
  • 5.31, Аноним (-), 20:00, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Озабоченное и вечно обиженное пришло. Пешы исчо.
     
     
  • 6.35, Клыкастый (ok), 14:24, 09/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Озабоченное и вечно обиженное пришло. Пешы исчо.

    Обязательно напишу. А ты приходи и не обижайся.

     

  • 1.10, Аноним (-), 19:59, 05/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Я пользуюсь OSX 10. Тут реализован такой же принцип и когда какой-то iMovie весит 2Gb мне становится немного не по себе... Также всё это очень медленно запускается даже на 10Gb.
     
  • 1.11, Аноним (-), 20:24, 05/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Gnu\linux
     
     
  • 2.20, Аноним (-), 10:42, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Палишься :)
     

  • 1.12, Аноним (-), 20:29, 05/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Что ж так все сложна даже на убунточку не поставить....
     
     
  • 2.13, Andrey Mitrofanov (?), 20:34, 05/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Что ж так все сложна даже на убунточку не поставить....

    WRONG! http://dustycloud.org/blog/guix-package-manager-without-make-install/

    Next.

     

  • 1.18, Аноним (-), 08:48, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    dmd прибит гвоздями к dbus? Ну что за мода пошла использовать десктопную недоделку для системных задач?
     
     
  • 2.21, Andrey Mitrofanov (?), 10:49, 06/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > dmd прибит гвоздями к dbus? Ну что за мода пошла использовать десктопную
    > недоделку для системных задач?

    Вы делаете слишком далеко идущие выводы (или набросы) из "простой картинки со стрелочкой". Там у стрелочки написано 'extends', а не "прибито шурупами".

    Вот в dbus-пакете есть ссылка на dmd (как-никак сервис под dmd) http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/dbus.scm#n175 . Найдёте обратную ссылку в http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/dmd.scm ?

     
     
  • 3.33, Andrey Mitrofanov (?), 18:31, 07/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> dmd прибит гвоздями к dbus? Ну что за мода пошла использовать десктопную
    >> недоделку для системных задач?
    > Вы делаете слишком далеко идущие выводы (или набросы) из "простой картинки со
    > стрелочкой". Там у стрелочки написано 'extends', а не "прибито шурупами".

    + TFM https://www.gnu.org/software/guix/manual/html_node/Service-Composition.html#in про стрелочки и "extends".

     

  • 1.32, Аноним (-), 22:34, 06/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в чруте сие чудо работает? Или как с nixos?
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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