The OpenNET Project / Index page

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

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

23.12.2016 09:31

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

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

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

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

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

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

  • По сравнению с прошлым выпуском добавлено 853 новых пакетов, в том числе сформированы пакеты с bind, clojure, dash, ecryptfs-utils, fcgi, gparted, kdevelop, kwayland, nfs-utils, openh264, p7zip, sddm, sendmail, snappy, utox, wayland-protocols, weston, xwayland. Добавлена большая порция новых модулей для Perl, R, Python, Emacs, Lua и Haskell;
  • Обновлены версии программ в 864 пакетах, в том числе gnome-3.20.4, mate-desktop-1.16.1, bash-4.4.0, blender-2.78a, emacs-25.1, enlightenment-0.21.5, ffmpeg-3.2.2, perl-5.24.0, ruby-2.3.3, python-3.5.2, qt-5.6.2, windowmaker-0.95.7, wine-1.9.24, xorg-server-1.18.4;
  • Добавлены новые системные сервисы: система печати на базе CUPS, SPICE vdagent, дисплейный менеджер SDDM, управление сеансами, реализация консоли в пространстве пользователя (kmscon), почтовый сервер на базе opensmtpd, Git, wpa-supplicant, rottlog, OpenSSH, Cuirass и набор сервисов для обеспечения работы с NFS;
  • Представлен новый инструментарий для кросс-компиляции arm-none-eabi. Добавлена новая целевая архитектура для кросс-компиляции - i686-w64-mingw32 (MinGW);
  • В команду 'guix system' добавлены новые операции 'switch-generation' и 'roll-back';
  • В дистрибутиве GuixSD обеспечена возможность использования зашифрованного корневого раздела (используется LUKS);
  • Добавлена поддержка установки в окружении GNU/Hurd;
  • Монолитный пакет qt разделён на серию пакетов, с разбиением по модулям;
  • Добавлена поддержка сборки Guix с использованием Guile 2.1/2.2;
  • В пакетный менеджер добавлена новая опция "--with-graft" для трансформации пакетов (grafting);
  • Добавлена поддержка системы сборки cargo и компоненты для импортирования пакетов для языка Rust;
  • Добавлена поддержка системы сборки asdf для пакетов Common Lisp;
  • Система сборки для Python переведена на использование по умолчанию setuptools;
  • Реализована новая система обновления пакетов из ахрива CPAN.



  1. Главная ссылка к новости (http://lists.gnu.org/archive/h...)
  2. OpenNews: Фонд СПО признал Guix полностью свободным дистрибутивом
  3. OpenNews: Вышел дистрибутив NixOS 16.09, использующий пакетный менеджер Nix
  4. OpenNews: Выпуск дистрибутива GoboLinux 016 с самобытной иерархией файловой системы
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45753-guix
Ключевые слова: guix
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:30, 23/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Вот это действительно концептуальное развитие GNU/Linux, а не перемешивание старого болота, как с большинством других дистрибутивов.
     
     
  • 2.5, АБВГД (?), 11:40, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    угу, концептом и останется...
     
     
  • 3.11, Crazy Alex (ok), 15:15, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очень на это надеюсь. Экое извращение.
     
     
  • 4.14, Andrey Mitrofanov (?), 16:25, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Очень на это надеюсь. Экое извращение.

    Вы оба успеете свалить, "пока это не стало обязательным"(ц рабинович).

    Я почти :DDD уверен!

     

  • 1.2, Sunderland93 (ok), 10:36, 23/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    >>Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre 4.4.36, очищенным от несвободных элементов бинарных прошивок.
    >>В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей

    Ненужно в квадрате.

     
     
  • 2.3, Аноним (-), 10:51, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > развиваемый как альтернатива SysV-init с поддержкой зависимостей

    OpenRC чтоли?

     
  • 2.4, Аноним (-), 11:07, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Спасибо, что помогаете нам поддерживать в актуальном состоянии список технологий, не нужных лично пользователю Sunderland93.
     
     
  • 3.6, АБВГД (?), 11:41, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Спасибо, что помогаете нам поддерживать в актуальном состоянии список технологий, не нужных
    > лично пользователю Sunderland93.

    о каких технологиях идет речь?

     
     
  • 4.7, АБВГД (?), 11:46, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> Спасибо, что помогаете нам поддерживать в актуальном состоянии список технологий, не нужных
    >> лично пользователю Sunderland93.
    > о каких технологиях идет речь?

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

     
     
  • 5.8, Andrey Mitrofanov (?), 13:12, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> о каких технологиях идет речь?
    > я вижу только пакетны

    А вот мне интересно, где вы, две обезьянки "Не нужно" и "Не Вижу", потеряли третью свою сестричку -- "Не скажу"?

     
     
  • 6.9, ILoveIslam (?), 13:28, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Не скажу
     
  • 5.12, Andrey Mitrofanov (?), 15:39, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >>> лично пользователю Sunderland93.
    >> о каких технологиях идет речь?
    > я вижу

    https://www.opennet.ru/openforum/vsluhforumID3/109779.html#297

     

  • 1.10, J.L. (?), 14:05, 23/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Добавлена поддержка системы сборки cargo и компоненты для импортирования пакетов для языка Rust;
    > Добавлена поддержка системы сборки asdf для пакетов Common Lisp;
    > Система сборки для Python переведена на использование по умолчанию setuptools;

    что за "поддержка системы сборки" такая ? тоесть Guix можно обучить собирать maven-проекты на жаве в жарники, а жарники упаковывать в Guix-пакеты и это будет "поддержка системы сборки maven" ?

     
     
  • 2.13, Andrey Mitrofanov (?), 16:23, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Добавлена поддержка системы сборки cargo и компоненты для импортирования пакетов для языка Rust;
    >> Добавлена поддержка системы сборки asdf для пакетов Common Lisp;
    >> Система сборки для Python переведена на использование по умолчанию setuptools;
    > что за "поддержка системы сборки" такая ? тоесть Guix можно обучить собирать
    > maven-проекты на жаве в жарники, а жарники упаковывать в Guix-пакеты и
    > это будет "поддержка системы сборки maven" ?

    Оборачивание привычных искажений и локальных непришейкобылехвост пакедж-манеджеров в короткие заклинания в вот именно пакетах guix. Поддержка неродных пакажировщиков в себе родном.

     

  • 1.15, paulus (ok), 16:53, 23/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Это то чудо, которое все складывает в "C:/Program Files"?
     
     
  • 2.16, Аноним (-), 16:59, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Не только ставит но и подчистую убирает
     
  • 2.21, Andrey Mitrofanov (?), 12:37, 24/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Это то чудо, которое все складывает в "C:/Program Files"?

    Нет.
    https://www.opennet.ru/openforum/vsluhforumID3/109929.html#79  @;  своя "самобытная FS-H."
    https://www.opennet.ru/openforum/vsluhforumID3/109929.html#123   + ./var/guix

    //И у т-тя слэш не той системы  --  продавецЬ бисплатного "wsl"?

     
     
  • 3.22, Andrey Mitrofanov (?), 12:40, 24/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Это то чудо, которое все складывает в "C:/Program Files"?
    > Нет.

    Учкудук, два пробела P-/ . Исправил:
    > https://www.opennet.ru/openforum/vsluhforumID3/109929.html#79 @  своя "самобытная FS-H."
    > https://www.opennet.ru/openforum/vsluhforumID3/109929.html#123 @  ./gnu/store + ./var/guix

    ++ ./gnu/store + ./var/guix из того архива это /gnu/store + /var/guix в [целевой] системе.

     

  • 1.17, Аноним (-), 17:04, 23/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Всем привет, пишу из под NixOS
     
     
  • 2.18, ANISEND (?), 20:14, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сочувствую тебе.
     
     
  • 3.19, Аноним (-), 21:06, 23/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут не сочувствовать, а радоваться надо, дружище
     
  • 3.23, Andrey Mitrofanov (?), 12:43, 24/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Сочувствую тебе.

    Cочувствую NixOS.

     
     
  • 4.28, Аноним (-), 23:05, 24/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сочувствую сочувствующим
     
  • 2.33, Guix (ok), 13:06, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня кстати завелась NixOS нормально, попозже попробую усановить её на диск. Ты на диск её установил, или с live пишешь?
     

  • 1.20, Pofigist (?), 22:23, 23/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre 4.4.36, очищенным от несвободных элементов бинарных прошивок.

    Перевожу - работает только в качестве гостевой VM.

     
     
  • 2.24, Andrey Mitrofanov (?), 12:43, 24/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre 4.4.36, очищенным от несвободных элементов бинарных прошивок.
    > Перевожу - работает только в качестве гостевой VM.

    Враньё.

     

  • 1.25, Аноним (-), 12:59, 24/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    раньше "концептами" называли "ось" в виде браузера, а сейчас уже и пакетный менеджер стали осью называть...
     
     
  • 2.27, Аноним (-), 17:28, 24/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Так тут это больше, чем пакетный менеджер. Вся система из этой хрени настраивается.
    Да и крутость такого пакетного менеджера (неломаемые зависимости, задание списков необходимых пакетов в конфигурационных файлах, отсутствие не заданных пользователем пакетов в глобальном PATH) подталкивает к этому.
    В конце концов, что делает любую ОС полезной пользователю - это именно максимально беззаботное руление софтом
     

  • 1.29, Аноним (-), 23:10, 24/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Проект GNU представил выпуск пакетного менеджера GNU Guix 0.12 и построенного на его основе дистрибутива GNU/Linux - GuixSD

    А теперь что, дистры строят на основе пакетных манагеров? А мужики то не знают!!!

     
     
  • 2.30, Аноним (-), 06:52, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Выше обмуссолено.
    А на основе чего же еще? Ядро и юзерленд особо не пошатаешь, а вот пакетный менеджер можно извращать почти без последствий
     
     
  • 3.32, Guix (ok), 13:04, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А на основе чего же еще? Ядро и юзерленд особо не пошатаешь, а вот пакетный менеджер можно извращать почти без последствий

    На втором месте по важности - система инициализации, её сменить труднее всего. Только в Генте можно сменить родную openrc на системдэ, кроме неё я не слышал про остальных где это тоже можно было бы сделать.

     

  • 1.31, Guix (ok), 13:00, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отличная новость, отписывайтесь, у кого какие подводные камни,

    У меня чего-то не с окружением видимо не срастается, не стартует демон:



    [root@localhost ~]# tar --warning=no-timestamp -xf /mnt/b/guix-binary-0.12.0.x86_64-linux.tar.xz
    [root@localhost ~]# mv var/guix /var/ && mv gnu /
    [root@localhost ~]# ln -sf /var/guix/profiles/per-user/root/guix-profile /home/a/.-/
    [root@localhost ~]# groupadd --system guixbuild
    [root@localhost ~]# for i in 'seq -w 1 10';
    >   do
    >     useradd -g guixbuild -G guixbuild           \
    >             -d /var/empty -s 'which nologin'    \
    >             -c "Guix build user $i" --system    \
    >             guixbuilder$i;
    >   done

    [root@localhost ~]# guix-daemon --build-users-group=guixbuild
    -bash: guix-daemon: команда не найдена
    [root@localhost ~]#


     
     
  • 2.34, Andrey Mitrofanov (?), 13:34, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Традиционный - может, всё-таки по хэндбуку - подводный камень Не лечится _ни... большой текст свёрнут, показать
     
     
  • 3.35, Guix (ok), 14:04, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >Я понятно излагаю?---

    Для меня на всё полностью понятно, но стартануть я его стартанул

    [root@localhost ~]# /home/a/.-/guix-profile/bin/guix-daemon --build-users-group=guixbuild
    сейчас проверил, процесс guix-daemon запущен.

    Но автозапускаться он гад не хочет:

    [root@localhost ~]# systemctl start guix-daemon && systemctl enable guix-daemon
    Failed to enable unit: Too many levels of symbolic links

    Буду разбираться дальше, спасибо за помощь!

     
     
  • 4.38, Andrey Mitrofanov (?), 15:22, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Но автозапускаться он гад не хочет:
    > [root@localhost ~]# systemctl start guix-daemon && systemctl enable guix-daemon
    > Failed to enable unit: Too many levels of symbolic links

    Во всём виноват Майкрософт и, в данном случае, сын его s-d:
      https://lists.gnu.org/archive/html/help-guix/2016-12/msg00081.html

    Systemd didn't support symlinked unit files until version 231:

    https://github.com/systemd/systemd/commit/f777b4345e8c57e739bda746f78757d0fb13

    ЯуверенТМ!1 P))

    > Буду разбираться дальше, спасибо за помощь!

     
  • 3.36, Guix (ok), 14:29, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вроде бы все шаги выполнил, пытаюсь пробно установить hello word, ругается на и... большой текст свёрнут, показать
     

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



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

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