New Reply
Name
×
Email
Subject
Message
Files Max 5 files10MB total
Tegaki
Password
[New Reply]


GNU GUIX (произносится гикс /ɡiːks/) — функциональный пакетный менеджер и операционная система, разработанные Ludovic Courtès. Отличительной особенностью является создание полностью воспроизводимых билдов и декларативное описание. Guix можно поставить на существующий дистрибутив GNU/Linux или в качестве отдельной системы на базе Linux или GNU Hurd. Раньше существовало разделение менеджера пакетов Guix и операционной системы GuixSD.

Определения пакетов описываются на диалекте языка Scheme – GNU/Guile. Большая часть исходников написана на нём же. Система изначально была основана на Nix. Отличиями от Nix(OS) являются язык для описания пакетов и сервисов, система инициализации (GNU Shepherd), использование ядра Linux-Libre (Linux без блобов) и отсутствие проприетарных пакетов.

Чем интересен Guix: https://habr.com/ru/post/436938/

GNU Guix (из коробки) не имеет проприетарного firmware. Потому при переходе на эту систему надо учитывать, что возможно wifi адаптер, gpu и другие компоненты системы могут не работать полностью или частично.

Список свободных wifi адаптеров:
https://gist.github.com/sirikid/2817f36d67d1480a428cbf33b220cfcc

Как завести систему с несвободным железом:
* Канал с несвободными пакетами NonGuix
* Установочный образ с несвободным ядром и firmware

Научные статьи о Guix:
* Functional Package Management with Guix 
* Reproducible and User-Controlled Software Environments in HPC with Guix
* Code Staging in GNU Guix

Научные статьи о Nix:
* The Purely Functional SoftwareDeployment Model


Сайт проекта: https://guix.gnu.org/ru
Документация: https://guix.gnu.org/manual/ru/html_node/
Cookbook: https://guix.gnu.org/cookbook/en/guix-cookbook.html
Шпаргалка: https://guix.gnu.org/guix-refcard.pdf
Видео-туториалы: https://guix.gnu.org/videos/
Поиск пакетов: https://hpc.guix.info/browse
Баг-трекер: https://issues.guix.gnu.org
Emacs интерфейс Guix: https://emacs-guix.gitlab.io/website/manual/latest/emacs-guix.html

Доклады:
* https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/talks
* https://cbaines.net/projects/guix/fosdem-2018/presentation/
* FOSDEM 2020: https://t.me/gnu_guix_ru/2993
* Guix Days 2020: https://xana.lepiller.eu/guix-days-2020/
* Guix Days 2022: https://xana.lepiller.eu/guix-days-2022/

Скачать Guix: https://guix.gnu.org/download/
Архитектуры пакетного менеджера: i686, x86_64, ARMv7, AArch64
Архитектуры системы: i686, x86_64

Исходный код: https://git.savannah.gnu.org/cgit/guix.git/

Примеры конфигураций:
* Репозиторий с конфигурациями русскоязычных пользователей
* Пример из кода проекта

Guix в других системах:
* Debian: https://packages.debian.org/experimental/guix

Сайт GNU Guile: https://www.gnu.org/software/guile/
Документация GNU Guile: https://www.gnu.org/software/guile/manual/html_node/

Guix может установить недостающие пакеты, если подключить канал с нужными описаниями пакетов. Подробнее: https://guix.gnu.org/manual/en/html_node/Channels.html

Публичные каналы:
* https://gitlab.com/nonguix/nonguix
* https://gitlab.com/mbakke/guix-chromium
* https://gitlab.com/guix-gaming-channels

Где искать помощь?  
* Посмотреть архив списков рассылки: https://lists.gnu.org/archive/html/help-guix/
Если там нет, то можно самому задать вопрос, отправив письмо на [email protected].
* телеграм канал https://t.me/gnu_guix_ru

Как создать пакет:
* https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/

Как "закрепить" версии пакетов:
https://guix.gnu.org/manual/en/html_node/Inferiors.html

Как выводить логи:
Флаг -v или --verbosity со значением от 0 до 2 для пользователя.
Например guix build hello -v 2

Перевод проекта на русский язык:
https://translate.fedoraproject.org/projects/guix/guix/ru/
Last edited by Hidden User
Доступен системный менеджер GNU Shepherd 0.10 (бывший dmd), сочетающий возможности системы инициализации и инструментария для управления системными сервисами. Проект развивается разработчиками дистрибутива GNU Guix System в качестве альтернативы системе инициализации SysV-init, поддерживающей зависимости. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов. Shepherd уже применяется в дистрибутиве GNU Guix System и нацелен также на использование в GNU/Hurd, но может работать в любой POSIX-совместимой ОС, для которой доступен язык Guile.

Shepherd выполняет работу по запуску и остановке сервисов, учитывая взаимосвязь между сервисами, динамически определяя и запуская сервисы, от которых зависит выбранный сервис. Shepherd также поддерживает определение конфликтов между сервисами и предотвращает их одновременное выполнение. Проект может использоваться как в роли основной системы инициализации (init c PID 1), так и в обособленном виде для управления фоновыми процессами отдельных пользователей (например, для запуска tor, privoxy, mcron и т.п.) с выполнением с правами данных пользователей.

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

    * Добавлены новые промежуточные состояния сервисов - "starting" и "stopping", отображаемые при выполнении команды "herd status" и определяющие нахождение сервиса в процессе запуска или остановки (ранее поддерживались только состояния "running" и "stopped").
    * Обеспечена блокировка повторного выполнения операций "start" и "stop", если сервис уже запущен или остановлен (ранее выполнение "herd start SERVICE" приводило к попытке запуска второго экземпляра сервиса).
    * Обеспечено распараллеливание запуска зависимостей и сервисов, запускаемых в режиме "start-in-the-background".
    * Реализован учёт времени сбоев и изменений состояний каждого сервиса. Накопленная статистика показывается при выполнении команды "herd status".
    * Добавлена команда "herd log" для показа сводного лога событий и списка всех изменений состояния сервиса.
    * Добавлена команда "herd graph" для генерации данных, позволяющих при помощи Graphviz ("herd graph | xdot -") отобразить наглядный граф зависимостей.
    * Реализовано цветное подсвечивание вывода команды herd.
    * Добавлены новые сервисы: "monitoring" для отслеживания потребления ресурсов процессом shepherd и "repl" для запуска отладочного интерфейса REPL (read-eval-print loop).
    * Объявлен устаревшим интерфейс GOOPS (Guile’s Object-Oriented Programming System). 


https://www.opennet.ru/opennews/art.shtml?num=59131
https://www.mail-archive.com/[email protected]/msg03181.html
[New Reply]
Connecting...
Show Post Actions

Actions:

Captcha:

- feedback - news - rules - faq -
jschan 1.4.1