Леннарт Поттеринг представил confd

Инициатор таких известных проектов как Systemd и PulseAudio представил свою новую разработку, кардинально изменяющую архитектуру ОС Linux. По его словам, текущая ситуация с хранением настроек программ в Linux — настоящий кошмар, который требует скорейшего упорядочивания и стандартизации. Например, разные программы используют разные форматы хранения настроек (ini, xml, json и т. д.), при этом в большинстве случаев опции либо имеют неинформативную контекстную справку, либо не имеют её вовсе. Леннарт Поттеринг предлагает кардинально унифицировать хранение настроек ПО в Linux и существенно облегчить работу с ними в рамках нового системного демона — confd.

Концепцию confd автор излагает в следующих тезисах:

  • Настройки всех программ хранятся в едином бинарном формате, всё множество файлов в /etc, ~/.config и прочих каталогах замещается файлами /.system.conf и ~/.user.conf — таким образом, эти каталоги уйдут в прошлое;
  • Взаимодействие с базой настроек происходит через общение с демоном confd посредством dbus или прямого вызова утилит confd, которые обеспечивают максимально быструю работу с настройками;
  • Максимально необходимые настройки, которые нужны для начала работы самого confd, systemd, dbus, предлагается вписывать в исходный код этих программ;
  • confd обеспечивает разграничение прав доступа к настройкам и их защиту от чтения и изменения, исходя из политик PAM, SELinux или собственной модели контроля доступа (confd-accessctl);
  • Интеграция с systemd позволяет легко управлять подсистемой confd, а также вести подробный журнал операций с хранилищем настроек посредством journald;
  • Настройка программ максимально облегчена благодаря мощной справочной системе, встроенной в confd — так, для каждой опции доступна контекстная справка, извлекаемая из страниц man и других источников, а возможные значения подсказываются автодополнением с контекстной справкой;
  • Поддержка существующих форматов хранения настроек обеспечена через модуль-транслятор (confd-generator), в дальнейшем планируется вытеснение всех старых форматов в пользу собственного формата confd.

Так как проект очень далёк от рабочего состояния, Леннарт Поттеринг присвоил ему версию 20 и открыл публичный git-репозиторий с приглашением для всех желающих принять участие в очередном усовершенствовании ОС Linux.

 confd, etc, lennart poettering, настройки

©  Linux.org.ru