The OpenNET Project / Index page

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

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

26.07.2014 11:51

Проект GNU анонсировал выпуск пакетного менеджера GNU Guix 0.7 и построенного на его основе самодостаточного GNU/Linux дистрибутива. Начиная с выпуска 0.7 дистрибутив может использоваться, не только в виртуализированных окружениях, но и на реальном оборудовании, благодаря реализации инсталлятора. В дополнение к запускаемому в QEMU загрузочному образу (120 Мб) началось формирование сборки для установки на USB Flash.

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

По сравнению с прошлым выпуском добавлено 134 новых пакета, обновлены версии 87 пакетов. В частности, добавлены такие пакеты, как busybox, udev, vlc, transmission, sudo, fish, gconf, gimp, gnumeric, kmod, mplayer, openmpi, wireless-tools и wpa-supplicant. Задействованы новые версии программ dmd-0.2, ffmpeg-2.3, gcc-4.9.1, gnupg-2.0.25, gnutls-3.2.15, grep-2.20, gstreamer-0.10.36, gtk+-3.10.1, lua-5.2.3, openssl-1.0.1h, python-2.7.6, qemu-2.0.0, qt-5.2.1, texlive-2014, tor-0.2.4.22. В дополнение к архитектурам x86_64-linux и i686-linux началось формирование бинарных сборок пакетов для платформы mips64el-linux.

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

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

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

По сравнению с прошлым выпуском для команды "guix package" реализована опция "--show", а для команды "guix refresh" - опция "--list-dependent". Представлен новый модуль "guix gexp" c реализацией G-выражений - нового механизма для встраивания операций управления сборкой в блоки кода, выполняемые на стороне хоста. Модуль "gnu system" и связанные с ним модули переведены на использование G-выражений, что позволило заметно упростить их код и обеспечить более качественный контроль зависимостей при сборке.

Добавлены новые модули:

  • guix build vm - поддержка образов виртуальных машин;
  • guix build activation - активация системы;
  • guix build syscalls;
  • guix build install, gnu system install - компоненты инсталлятора;
  • gnu system file-systems - для определения файловых систем;
  • gnu - обобщает обращение к некоторым модулям "gnu *".


  1. Главная ссылка к новости (http://lists.gnu.org/archive/h...)
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/40278-guix
Ключевые слова: guix, packet, gnu
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:59, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    > guix build activation - активация системы;

    А где взять активатор?

     
  • 1.2, Аноним (-), 12:25, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > кроме типичных функций управления пакетами поддерживает такие возможности, как

    Всё это есть в nix.

     
  • 1.3, A.Stahl (ok), 13:02, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Т.е. у ГНУ есть и пакетный менеджер и сервисный менеджер, а люди вокруг продлжают изобретать всякие клики, дебы и прочие апстарты с системД?
    Ок, так и запишем -- мир сошёл с ума.
     
     
  • 2.4, freehck (ok), 13:34, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    http://xkcd.com/927/
     
  • 2.5, Zenitur (ok), 14:30, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сначала не было стандартов, и линуксовые программы распространялись в виде исходного кода. Потом появился LSB - компиляешь программу в Red Hat, и она потом везде запускается. Казалось бы, всё хорошо.

    Потом появился Humble Bundle, а вместе с ним массовое появление игр для Linux. Сначала всё было хорошо: каждая игра распространялась в RPM/DEB/tar.gz. Потом отдельные мейнтейнеры стали выкладывать такие бинарники игр, которые требовали экзотические версии libpng и libavcodec, и офигеть какой новый libc. Потом так стали делать все, включая Icculus: компилировать в своих домашних убунтах, минтах, арчах и так далее, забыв про LSB.

    Потом появился Steam для Linux, стандартом стал Ubuntu 12.04. Мейнтейнеры сразу поняли что если ты скомпилировал программу в Ubuntu 12.04, то она потом запустится у всех. Правда это распространяется только на игры, да и то если примут в Steam. Совсем не то что LSB, который на всех и для всех. Потом отдельные игры стали компилироваться в SteamOS и в Ubuntu 14.04, отдельные игры стали выходить только в 64-битном варианте... Следующий шаг - все забудут и про этот "стандарт".

     
  • 2.7, Stax (ok), 15:48, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ну для начала, upstart и systemd хотя бы на C, а не на guile..
    А потом, upstart и systemd уже существуют несколько лет, а dmd несколько месяцев отроду, он сейчас в версии 0.2 "альфа" и не умеет практически ничего из того, что хочется от современного init. Так что кто тут создает новое, а кто "продолжает изобретать" велосипеды - большой вопрос.

    Про пакетный менеджер даже комментировать не буду.

    GNU чем примазываться к линуксу все время давно пора выпустить уже свою ОС. Linux-то без GNU спокойно обходится (напр. андроид), а проекту GNU уже сколько лет, а до сих пор ничего толком самостоятельного работающего не выпустили. На хрена еще одна система инициализации - взяли бы GPL'ный systemd, а силы бы потратили на выпуск полноценного ядра.                                              

     
     
  • 3.11, Аноним (-), 20:37, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >хотя бы на C, а не на guile..

    будто что-то хорошее

     
     
  • 4.12, Аноним (-), 21:02, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > будто что-то хорошее

    На си код обычно хотя-бы удается прочитать, если это не obfuscated C code contest. А то что в этом проекте...

     
  • 3.18, Аноним (-), 13:26, 27/07/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    скажите, любезный, а где еще linux обходится без GNU? без мобильного сектора
     
  • 3.19, chinarulezzz (ok), 14:40, 28/07/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >upstart и systemd хотя бы на C, а не на guile
    >кто тут создает новое, а кто "продолжает изобретать" велосипеды - большой вопрос
    >GNU чем примазываться к линуксу все время давно пора выпустить уже свою ОС
    >проекту GNU уже сколько лет, а до сих пор ничего толком самостоятельного работающего не выпустили
    >На хрена еще одна система инициализации - взяли бы GPL'ный systemd, а силы бы потратили на выпуск полноценного ядра.                                              

    ты невероятно толст.


     
  • 2.8, Аноним (-), 15:59, 26/07/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Т.е. у ГНУ есть и пакетный менеджер и сервисный менеджер

    Есть, пля. Я вот случайно код этого добра посмотрел. Знаете, на фоне ЭТОГО даже systemd просто эталон простого, прозрачного и хорошо документированного кода...

     

  • 1.6, Константавр (ok), 14:33, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Хм, название сбивает с толку, я в начале подумал, что Guix это Gui для Nix.
    Заманьячиться, чтоли, поставить? А там Nouveau, VLC и ffmpeg, как, работают с VDPAU? И вообще, возможно воспроизведение проприетарных форматов мультимедии? А то копаться в полной тишине будет скучно :)
     
  • 1.14, SergMarkov (ok), 22:16, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Пакетный менеджер на самом деле интересный, все остальное столлменовская хня.
     
  • 1.15, Exler (?), 23:21, 26/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    а я вообще в этом не разбираюсь, случайно попал на эту страницу ;/
     
     
  • 2.16, Аноним (-), 09:59, 27/07/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Угу, и случайно оставил комментарий.
     

  • 1.17, Аноним (-), 12:11, 27/07/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    GNU Guix не нужен. Тем кому нужен, продолжают юзать Nix.
     

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



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

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