Jump to content

Меловая система GNU

Штукатурная система
Система Guix под управлением Xfce , GNU IceCat и GNU Emacs
Разработчик Проект GNU [1] [2]
Семейство ОС Linux ( Unix-подобный )
Рабочее состояние Текущий [3]
Исходная модель Бесплатное программное обеспечение , ФСДГ
Последний выпуск 1.4.0 [4]  Отредактируйте это в Викиданных / 19 декабря 2022 г .; 19 месяцев назад ( 19 декабря 2022 г. )
Маркетинговая цель Рабочий стол
Менеджер пакетов ГНУ Мел
Платформы x86_64, i686, aarch64, Armv7, powerpc64le
ядра Тип Монолитный: Linux-libre (рабочий)Микроядро: GNU Hurd (в разработке)
Пользовательское пространство ГНУ
Лицензия лицензия GPL
Официальный сайт мел .gnu .org

Система GNU Guix или система Guix [5] [6] (ранее известный как GuixSD [7] ) — это постоянно обновляемый с открытым исходным кодом , бесплатный дистрибутив Linux построенный на основе GNU Guix менеджера пакетов . [8] [9] Он обеспечивает декларативную конфигурацию операционной системы. [10] и позволяет выполнять обновления системы, которые пользователь может отменить . [11] GNU Shepherd. инициализации Он использует систему [12] [13] и ядро ​​Linux-libre с поддержкой ядра GNU Hurd, находящегося в стадии разработки. [14] 3 февраля 2015 года Фонд свободного программного обеспечения добавил этот дистрибутив в свой список одобренных бесплатных дистрибутивов Linux. [15] Менеджер пакетов Guix и система Guix были основаны на Nix менеджере пакетов и NixOS соответственно. [16]

Поддержка архитектуры

[ редактировать ]

Поддерживаются следующие архитектуры ЦП: [17]

Системные службы

[ редактировать ]

Системные службы, определенные в схеме Guile, [20] разрешить пользователю декларативно составлять конфигурацию демонов и фоновых служб и указывать конфигурации. Это позволяет пользователю в рамках одного файла конфигурации или модульной конфигурации настроить всю операционную систему (например, иметь Tor прокси-сервер , ssh -сервер и веб-сервер, обслуживающий guix-web через nginx на определенном порту при загрузке). Они могут: [21]

  • генерировать файлы в файловой системе (необходимо для некоторых приложений, например файлов в /etc )
  • запустите любой код для настройки демонов
  • создать определенные учетные записи пользователей и групп (например, пользователя базы данных для PostgreSQL )

Система инициализации GNU Shepherd

[ редактировать ]

Система Guix использует GNU Daemon Shepherd, ранее известную как «dmd» («Демон, управляющий демонами»), в качестве системы инициализации , которая разработана совместно с Guix и написана и настраивается на Guile . [22] Он предоставляет функциональность пользовательского пространства асинхронно в виде сервисов, которые в Shepherd представляют собой общие функции и типы объектных данных , которые он использует для расширения базовой операционной системы определенным образом. В отличие от systemd , процесс-пастух пользовательского пространства запускается от имени пользователя. Центральным элементом модели инициализации пользовательского пространства Shepherd является концепция расширения — форма компонуемости , при которой сервисы проектируются для наложения на другие сервисы, дополняя их более сложными или специализированными вариантами поведения по желанию. [23] Это выражает отношения зависимости, основанные на создании экземпляров, которые можно найти во многих современных системах инициализации. [24] делая систему модульной, но также позволяет службам по-разному взаимодействовать с другими службами произвольными способами, например, служба, которая расширяет две другие службы, требуя присутствия только одной, но легко расширяя вторую, если позже будет создан ее экземпляр без необходимости любая дальнейшая реконфигурация или настройка.

Shepherd также предоставляет виртуальные службы , которые обеспечивают динамическую диспетчеризацию по классу связанных объектов служб, например, всех тех, которые создают экземпляр агента передачи почты (MTA) для системы. [25] Система, управляемая через демон Shepherd, может представлять свое пользовательское пространство в виде направленного ациклического графа с «системной службой», которая отвечает за ранние фазы загрузки и инициализации, в качестве ее корня, а все впоследствии инициализированные службы — как расширения системы. -функциональность сервиса, напрямую или транзитивно по отношению к другим сервисам. [23] [26]

Он предназначен для легкого программирования системным администратором с использованием Guile, но его также можно использовать для управления индивидуальными профилями непривилегированных демонов и служб. [27] Его сервисы и конфигурация хранятся единообразно в виде объектно-ориентированного кода Scheme , и хотя основной набор сервисов предоставляется базовой системой Guix, [28] Guile произвольные новые сервисы могут быть гибко объявлены, а через объектную систему , GOOPS, существующие сервисы могут быть переопределены по усмотрению пользователя, попросив Shepherd динамически переписать сервисы указанными способами при создании экземпляра. [29] [30]

GNU Shepherd изначально был разработан для работы с GNU Hurd , а позже был принят Guix System. [31]

Параметризованные пакеты

[ редактировать ]

Благодаря модели Guix, заключающейся в сборке каждого пакета из исходного кода, Guix может воспользоваться этим и включить опции времени компиляции почти для всех своих пакетов. Параметризованные пакеты представляют собой инновационный подход к преобразованию пакетов, который расширяет возможности точной настройки параметров времени компиляции. Сюда входят такие задачи, как устранение избыточных зависимостей или настройка пакета для поддержки только определенных локалей. Приложения этого достижения разнообразны: от высокопроизводительных вычислений до встроенных систем. Кроме того, он потенциально может решить некоторые проблемы Linux, такие как слишком большие двоичные файлы и сложные структуры зависимостей. В случае заменителей пока неизвестно, как будет обрабатываться комбинация параметров, однако предполагается, что важные комбинации следует включать в хранилище. Это похоже на Gentoo Linux USE-флаги . Он все еще находится в разработке и поэтому еще не представлен в официальном выпуске Guix. [32]

Релиз и стабильность

[ редактировать ]

На сегодняшний день система Guix зависит от нестабильной разработки репозитория git. [33] используется совместно с Guix, но позволяет пользователям или организациям самостоятельно настраивать каналы стабильных выпусков с помощью функции канала. [34]

Обновления

[ редактировать ]

Пакеты в Guix, как правило, очень актуальны. [ по мнению кого? ] благодаря отсутствию узких мест сопровождения пакетов. Любой может внести обновление при условии одобрения сообществом, и этому процессу помогают такие инструменты, как обновление guix . [35]

Изменения в репозитории git проверяются членами сообщества и фиксируются одним из 45 человек, имеющих доступ к фиксации. [36] На практике эти сборки иногда [ как часто? ] вызывают сбои в системе пользователей из-за опечатки или подобной ошибки, но часто они решаются в течение нескольких минут. Принцип работы Guix pull означает, что пользователи тем временем сохраняют работающую систему. [ нужна ссылка ]

Откат назад

[ редактировать ]

Если обновление системы приводит к поломке системы, пользователи могут легко откатить отдельные пакеты, а также состояние всей системы с помощью простой команды:
guix package --roll-back[37]
Это означает, что стабильный канал, который очень распространен в других дистрибутивах Linux, больше не нужен пользователям, которые готовы сообщить об ошибке и подождать несколько минут при попытке обновления через guix pull . Это достигается за счет комбинации функционального менеджера пакетов Guix , который рассматривает каждый пакет и конфигурацию системы как неизменяемый и воспроизводимый объект. [38] и систему генерации, которая сохраняет историю конфигураций системы как «поколения». Эти поколения сохраняются как отдельные профили, которые позволяют вернуться к любой предыдущей конфигурации. [39] и вы можете увидеть эти поколения с
guix package --list-generations.

Джесси Смит из DistroWatch Weekly рассмотрел GNU Guix System 0.15.0 (в то время называвшуюся GuixSD) и сказал: «У GuixSD есть менеджер пакетов, который мне нравится», но раскритиковал ограниченную поддержку оборудования и ограниченную документацию. [40] С тех пор документация была расширена и улучшена за счет видео. [41] и кулинарная книга [42] на шести языках с обучающими материалами, практическими руководствами и примерами.

См. также

[ редактировать ]
  1. ^ «О программе — GuixSD» . gnu.org . Архивировано из оригинала 12 апреля 2017 года . Проверено 16 марта 2017 г.
  2. ^ «Часто задаваемые вопросы по GNU/Linux — Проект GNU — Фонд свободного программного обеспечения» . Фонд свободного программного обеспечения . Архивировано из оригинала 7 сентября 2013 года . Проверено 14 мая 2017 г.
  3. ^ «Загрузить — GNU Guix» . Архивировано из оригинала 1 августа 2020 года . Проверено 3 ноября 2019 г.
  4. ^ Людовик Куртес (19 декабря 2022 г.). «Выпущен GNU Guix 1.4.0 (английский)» . Проверено 30 декабря 2022 г.
  5. ^ «О программе — GNU Guix» . guix.gnu.org . Проверено 11 декабря 2021 г.
  6. ^ «Бесплатные дистрибутивы GNU/Linux» . www.gnu.org .
  7. ^ «Как называть Гикса?» (Список рассылки). gnu-система-обсудить. 15 января 2015 года. Архивировано из оригинала 7 августа 2020 года . Проверено 3 августа 2020 г.
  8. ^ «Список бесплатных дистрибутивов GNU/Linux» . www.gnu.org . Архивировано из оригинала 6 июля 2020 года . Проверено 3 февраля 2015 г.
  9. ^ «Guix: новый менеджер пакетов и дистрибутив GNU» . Фороникс . Архивировано из оригинала 2 февраля 2015 года . Проверено 3 февраля 2015 г.
  10. ^ «Использование системы конфигурации» . www.gnu.org . Архивировано из оригинала 29 апреля 2019 года . Проверено 27 апреля 2019 г.
  11. ^ «Управление пакетами» . www.gnu.org . Архивировано из оригинала 21 мая 2019 года . Проверено 27 апреля 2019 г.
  12. ^ «Интерфейс программирования (Справочное руководство GNU Guix)» . guix.gnu.org . Архивировано из оригинала 7 августа 2020 года . Проверено 3 августа 2020 г.
  13. ^ «Guix: новый менеджер пакетов и дистрибутив GNU — Phoronix» . www.phoronix.com . Архивировано из оригинала 6 июля 2018 года . Проверено 3 августа 2020 г.
  14. ^ «Выпущены GNU Guix и GuixSD 0.12.0» (список рассылки). guix-devel. 21 декабря 2016 года. Архивировано из оригинала 1 августа 2020 года . Проверено 3 августа 2020 г.
  15. ^ «FSF добавляет дистрибутив системы Guix в список одобренных дистрибутивов» . Фонд свободного программного обеспечения. 3 февраля 2015 года. Архивировано из оригинала 3 февраля 2015 года . Проверено 3 февраля 2015 г.
  16. ^ «Справочное руководство GNU Guix — Благодарности» .
  17. ^ "Скачать" . gnu.org . Архивировано из оригинала 6 октября 2021 года . Проверено 12 января 2024 г.
  18. ^ Матье Оташе. «Портирование GuixSD на ARMv7» . Архивировано из оригинала 25 декабря 2017 года . Проверено 17 февраля 2018 г.
  19. ^ Марусич, Крис; Ле Бутер, Лео (12 апреля 2021 г.). «Новая поддерживаемая платформа: powerpc64le-linux» . Архивировано из оригинала 16 мая 2021 года . Проверено 6 октября 2021 г.
  20. ^ "guix.git" . git.savannah.gnu.org . Архивировано из оригинала 11 мая 2019 года . Проверено 11 мая 2019 г.
  21. ^ Вурмус, Рикардо. «Re: Помощь в подготовке к переходу с Arch Linux на Guix» (список рассылки). Архивировано из оригинала 1 августа 2020 года . Проверено 11 мая 2019 г.
  22. ^ «списки рассылки guix-devel» . Архивировано из оригинала 19 сентября 2019 года . Проверено 5 ноября 2016 г.
  23. ^ Перейти обратно: а б «Справочное руководство GNU Guix: Состав службы» . Проект ГНУ. Архивировано из оригинала 1 января 2019 года . Проверено 5 ноября 2016 г.
  24. ^ «systemd: Зависимости и порядок модулей» . Журнал Федора. 25 ноября 2015 года. Архивировано из оригинала 1 августа 2020 года . Проверено 5 ноября 2016 г.
  25. ^ «Руководство GNU Shepherd: быстрый старт» . Проект ГНУ. Архивировано из оригинала 1 августа 2020 года . Проверено 5 ноября 2016 г.
  26. ^ «Справочное руководство GNU Guix: Службы Shepherd» . Проект ГНУ. Архивировано из оригинала 1 января 2019 года . Проверено 5 ноября 2016 г.
  27. ^ «Руководство GNU Shepherd» . Проект ГНУ. Архивировано из оригинала 1 августа 2020 года . Проверено 5 ноября 2016 г.
  28. ^ «Справочное руководство GNU Guix: Службы» . Проект ГНУ. Архивировано из оригинала 25 декабря 2018 года . Проверено 5 ноября 2016 г.
  29. ^ «Справочное руководство GNU Guix: Типы служб и службы» . Проект ГНУ. Архивировано из оригинала 5 января 2019 года . Проверено 5 ноября 2016 г.
  30. ^ «Справочное руководство GNU Guix: Использование системы конфигурации» . Проект ГНУ. Архивировано из оригинала 29 апреля 2019 года . Проверено 5 ноября 2016 г.
  31. ^ «Пастух ГНУ» . проект ГНУ. Архивировано из оригинала 12 февраля 2016 года . Проверено 12 февраля 2016 г.
  32. ^ Шах, Сартак. «Параметризованные пакеты для GNU Guix» . guix.gnu.org .
  33. ^ «Re: Нам нужна процедура RFC» (список рассылки). Архивировано из оригинала 1 августа 2020 года . Проверено 27 апреля 2019 г.
  34. ^ «Каналы» . www.gnu.org . Архивировано из оригинала 7 мая 2019 года . Проверено 27 апреля 2019 г.
  35. ^ «Вызов обновления guix» . www.gnu.org . Архивировано из оригинала 26 декабря 2018 года . Проверено 16 мая 2019 г.
  36. ^ «GNU Guix — Краткое описание: Список участников проекта» . savannah.gnu.org . Архивировано из оригинала 1 августа 2020 года . Проверено 27 апреля 2019 г.
  37. ^ «Вызов системы guix» . www.gnu.org . Архивировано из оригинала 26 мая 2019 года . Проверено 27 апреля 2019 г.
  38. ^ Куртес, Людовик (2013). «Функциональное управление пакетами с помощью Guix». п. 2. arXiv : 1305.4584 [ cs.PL ].
  39. ^ «Многомерные транзакции и откаты, о боже!» . guix.gnu.org .
  40. ^ Смит, Джесси. «Распространение системы Guix 0.15.0 и ReactOS 0.4.9» . distrowatch.com (778). Архивировано из оригинала 30 июля 2019 года . Проверено 30 августа 2018 г.
  41. ^ «Видео» . Архивировано из оригинала 1 августа 2020 года . Проверено 3 марта 2020 г.
  42. ^ «Кулинарная книга» . Архивировано из оригинала 1 августа 2020 года . Проверено 3 марта 2020 г.
  43. ^ «О программе — GuixSD» . www.gnu.org . Архивировано из оригинала 27 декабря 2015 года . Проверено 3 мая 2018 г.
  44. ^ «NixBSD: этот проект объединяет FreeBSD и NixOS в одном!» . Это новости ФОСС . 5 марта 2024 г. Проверено 28 марта 2024 г.
  45. ^ nixos-bsd/nixbsd , NixBSD, 28 марта 2024 г. , получено 28 марта 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c480b15bf76b4ef92b62fe8afe9b5fd8__1720149480
URL1:https://arc.ask3.ru/arc/aa/c4/d8/c480b15bf76b4ef92b62fe8afe9b5fd8.html
Заголовок, (Title) документа по адресу, URL1:
GNU Guix System - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)