LINUX.ORG.RU

Ну вот и дождались Linux Registry!!! Ура!!!


0

1

Идея унификации разрозненных по формату текстовых конфигурационных файлов привела к появлению проекта Linux Registry - объединяющего конфигурационный параметры различных программ в одном хранилище (XML формат). Информация представлена в виде иерархического списка, для манипуляции параметрами предусмотрен простой API. На сайте можно найти набор патчей и конверторов для перевода некоторых программ под Linux Registry. (это сообщение взято целиком с www.opennet.ru)

>>> Подробности

anonymous

Проверено: svyatogor

Ответ на: комментарий от infinite

>А смысл? Для фронтэндов? Пусть их пишет тот кому они нужны. Я лично после M$ пользованся сначала ГУЕм, потом всякими фронтэндами, а теперь всё больше прихожу к файлам и vi.

>В *NIX мире есть один постулат - файлы, и не надо выдумывать всякие API, они от M$. Почти все вещи решаются скриптами гораздо легче чем на том же C хоть пюсуй его, хоть нет.

Там прямо на сайте пример был - чтобы одна программа могла изменить конфиг другой (в примере вроде конфиг Х-ов менялся для драйвера или что-то в этом роде). Это только одна из возможностей. А API это не синоним Microsoft всё ж.

anonymous
()
Ответ на: комментарий от infinite

просто для визуального удобства редатирования.

и идеально соответствует методу KISS.

gr_buza ★★★★
()

RPM'ка всего 50 килобайт.
Это-то в 2004 году. С ума сойти. Респект.

anonymous
()
Ответ на: комментарий от infinite

> Есть стандартная функция --- read и не надо других

Да пожалуйста =) В том и красота этой схемы: если ты придерживаешься точки зрения "read и не надо других" - пожалуйста, так и делай, это твои тараканы. А другие - кому не хочется тратить время на парсинг метаданных, комментариев etc и кто знает о такой вещи как "code reuse" - возьмут готовую либу.

int19h ★★★★
()
Ответ на: комментарий от gr_buza

> можно ли хранить бинарные значения в виде "01000100", а не "$"??

Я не совсем понял, о чем речь... там по сути только два типа данных - текст и бинарные данные. Как они интерпретируются - дело ваше. В принципе никто не мешает засунуть прочитанную строку в atoi или там sscanf, со всеми вытекающими.

int19h ★★★★
()
Ответ на: комментарий от infinite

а тут не в этом дело, просто если юзерские конфиги будут храниться в каталогах типа /etc/registry/users/vasya/..., то резко повысится удобство администрирования - достаточно будет скопировать ОДИН каталог на другую машину. И все.

а так приходится по хомякам бегать...

а если юзеров будет около 20000, как на том хосте, с которого я сейчас сижу, например??

gr_buza ★★★★
()
Ответ на: комментарий от ananas

>очередная херня типа krename. прекратится мода на xml. перестанут делать из него к каждой бочке затычку и починет в бозе и этот проект

>ananas (*)

Like "прекратится мода на http, перестанут по нему данные гонять и Web смотреть, и все вернутся на нормальный человеческий ftp, gopher, ping. uutp."

УМРИТЕ, динозавры! Когда же вы поймете, что Unicod, XML, УЖЕ как TCP/IP, http - краеугольные камни ИТ-индустрии, а страусам останется только голову сунуть в песок.

anonymous
()
Ответ на: комментарий от svu

> Нет предела человеческой извращенности:) А Вы уверены, что это реально нужно? Может, это тоже уже не очень конфиг? Можете привести реальный жизненный пример?

Жизненный приер такой. Один и тот же кросплатформенный софт (postgres + tomcat + megaprogram) я на Irix/2Linux/OSX ставлю быстрее чем коллега на 2W2k/2WXP. И при этом я сижу в одном кресле, а коллега шастает по оффису. И дело не в том что винду нельзя настроить можно. Проблема в идеалогии. Идеологически Unix-like системы в принципе хорошо управляемы сразу. А W2k системы только потенциально управляемы. Если постараться. (BTW ни я ни он не сисадмины).

Орять же для сравнения. Дали мне пустой irix с ssh доступом - и все сделал первый раз увидев зверя без отрывания здницы от стула. Сегодня полез в друвнюю солярку (тоже первый раз) - не отрывая задницы от стула все работает и там (солярка в японии). Вот сижу тут и занимательно наблюдаю как человек лазит по офису от машинки к машинке настраивая ремотный аксесс к реестру, сервисам и тд и тп.

Все дело в идеалогии.

r ★★★★★
()
Ответ на: комментарий от int19h

нет, для удобства редактирования обычным текстовым редактором, а то вылезет какая-то кразябрина, и разбирайся, какой это значение :))

а так будет проще, по крайней мере для фанатов vim-style :))

gr_buza ★★★★
()
Ответ на: комментарий от int19h

>$ vim /etc/registry/system/users/root/home > Хоть обредактируйся, да?

Ну хорошо... осбенно странные люди с параноидальным стремлением к сортировке могут при сборке ну скажем .... муть

сказать --sysconfdir=/etc/system/mail/clients/mutt и получить ТЕЖЕЯЙЦАВИДСБОКУ, только в отличии от сей фишки доку по формату МОЖНО бодет найти на сайте разработчика, ну или проще воспользоватся комментариями. ГИПЕР-странные люди могут залезть в парсер и заставить его подымать куски конфига из кучи файлов...

dObryi
()
Ответ на: комментарий от anonymous

А что чтением, изменением, записью этого нельзя сделать? Или для работы обязательно нужно иметь аналог виндузного апи?

Что такое UNIX - файлы и операции с ними: чтение, запись ... А зачем усложнять и плодить лишние сущности в виде ключей и функций для работы с ними?

Если эту лабуду прикрутят - свалю в план9

infinite
()
Ответ на: комментарий от infinite

> В *NIX мире есть один постулат - файлы, и не надо выдумывать всякие API, они от M$. Почти все вещи решаются скриптами гораздо легче чем на том же C хоть пюсуй его, хоть нет.

откуда такая упертость? давайте не смешивать мух с супом. излишняя простота оборачивается большим гимором порой :(
unix - наверное не самая лучшая система [взглядов]. но по совокупности пока ничего лучше [для меня] не появилось. но это не значит что и через 100 лет так все будет. появится. или видоизменится так что K&R не узнают. обсуждаемый проект - одна из попыток изменить (читай - усовершенствовать и приблизить к новым реалиям) систему. не эта - так другая удастся. тем более предпосылок достаточно. оставаясь неизменной unix вымрет. он почти сделал это один раз, что мешает повторить?

HellAngel ★★
()
Ответ на: комментарий от dObryi

дык зачем лезть в парсер, если есть библиотека??

и по поводу ее огромнейшего веса ничего говорить не надо, плиз, вот тут товарищ уже сказал, что рпм 50 килобайт весит...

имхо неплохое и весьма элегантное решение...

а вместо sysconfdir можно просто сделать переменую типа #CONFIGS=/etc/registry/users/root/sw

ну и ссответственно выглядеть это все будет как --sysconfigdir=$CONFIGS/mutt.

вот и все.

gr_buza ★★★★
()
Ответ на: комментарий от infinite

нет, просто эта прога позволяет не писать отдельный парсер конфига для каждой программы, а просто взять уже готовый.

и все.

gr_buza ★★★★
()
Ответ на: комментарий от gr_buza

> нет, для удобства редактирования обычным текстовым редактором, а то вылезет какая-то кразябрина, и разбирайся, какой это значение :))

Ну дык. Если это число то оно в plaintext. Если бинарные данные - они все равно хранятся в виде текста, просто там значения байтов записаны шестнадцатеричными цифрами =)

int19h ★★★★
()
Ответ на: комментарий от gr_buza

> а так будет проще, по крайней мере для фанатов vim-style :))

Да не будет. Ибо

if has("gui_running")
    set background=light
    set guifont=CMU\ Typewriter\ Text\ 14
    colo sand
else
    set background=dark
endif

ты в ключ-значение не уложишь, хоть пополам разорвись :)

anonymous
()
Ответ на: комментарий от gr_buza

> нет, просто эта прога позволяет не писать отдельный парсер конфига для каждой программы, а просто взять уже готовый.

Их (парсеров конфига и встаиваемых языков) уже сейчас до фига готовых. Что это изменило? Ничего.

anonymous
()
Ответ на: комментарий от anonymous

в принципе да, с исполняемыми конфигами будет трабла...

но вот у обычных резко повышается простое удобство редактирования...

gr_buza ★★★★
()
Ответ на: комментарий от anonymous

> УМРИТЕ, динозавры! Когда же вы поймете, что Unicod, XML, УЖЕ как > TCP/IP, http - краеугольные камни ИТ-индустрии, а страусам останется > только голову сунуть в песок.

??nking to the world .... ???king to yourself blah bla blah NEW boooooorn. (что - то не поется...)

Какой нах краегуольный камень, так ... пятна на пороге... пещеры...

dObryi
()
Ответ на: комментарий от infinite

> А что чтением, изменением, записью этого нельзя сделать? Или для работы обязательно нужно иметь аналог виндузного апи?

Да можно, можно, только успокойся, деточка... тихо... спокойно... все хорошо, никто тебя не тронет и не заставит изучать этот мерзкий апи

> Что такое UNIX - файлы и операции с ними: чтение, запись ... А зачем усложнять и плодить лишние сущности в виде ключей и функций для работы с ними?

А что есть этот реестр как не воплощение униховой идеологии "everything is a file"?

> Если эту лабуду прикрутят - свалю в план9

"NEWSFLASH: IBM свернула все работы над своим проектом по созданию единой инфраструктуры хранения конфигурации в ОС Linux после того, как оскорбленный до глубины души нововведениями пользователь Linux перешел на plan9" =)

int19h ★★★★
()
Ответ на: комментарий от anonymous

>> а так будет проще, по крайней мере для фанатов vim-style :))

>Да не будет. Ибо

>if has("gui_running")
> set background=light
> set guifont=CMU\ Typewriter\ Text\ 14
> colo sand
>else
> set background=dark
>endif

>ты в ключ-значение не уложишь, хоть пополам разорвись :)

а религия запрещает сделать в конфиге так?
gui_background=light
cli_background=dark

а в программе:
background=(mode==gui)?gui_background:cli_background

HellAngel ★★
()
Ответ на: комментарий от anonymous

> ты в ключ-значение не уложишь, хоть пополам разорвись :)

Да ну? =)

/etc/registry/user/foobar/sw/vim/vimrc:

RG002
40
<DATA>
if has("gui_running")
    set background=light
    set guifont=CMU\ Typewriter\ Text\ 14
    colo sand
else
    set background=dark
endif

int19h ★★★★
()
Ответ на: комментарий от anonymous

> Их (парсеров конфига и встаиваемых языков) уже сейчас до фига готовых. Что это изменило? Ничего.

Если за это взялась IBM, да их еще поддержит Novell - изменит еще как. Когда вся системная конфигурация (включая иксы и KDE/Gnome) будет в этом их реестре, остальные тоже никуда не денутся =)

int19h ★★★★
()
Ответ на: комментарий от HellAngel

Я согласен что стандарт нужен, но не на содержание файлов, а на их положение, даже вернее сказат на способ их найти - некий аналог which

infinite
()
Ответ на: комментарий от int19h

Ага, попался :) Вот попробуй, высунься с таким регистром - тут же из-за угла выскочит svu и скажет, что ты заставляешь его парсить значения ключей.

anonymous
()
Ответ на: комментарий от infinite

> Я согласен что стандарт нужен, но не на содержание файлов, а на их положение

На содержание тоже. По крайней мере, хотелось бы увидеть стандартный способ хранения метаданных (комментарии etc).

int19h ★★★★
()
Ответ на: комментарий от anonymous

>ты в ключ-значение не уложишь, хоть пополам разорвись

неймспейс + суб-неймспейс GUI_RUNNING, ключи которого переопределяют ключи основного, а if-else в конфигах, это хак по стилю..правда весь юникс такой..

anonymous
()
Ответ на: комментарий от anonymous

> KISS - Keep It Simple Stupid > and - отсутствует, так как это обращение!

Не разводи дезинформацию, Дурень. stupid - прилагательное и относится оно к it, а вовсе не обращение. :)

mihalych ★★★
()
Ответ на: комментарий от anonymous

> Вот попробуй, высунься с таким регистром - тут же из-за угла выскочит svu и скажет, что ты заставляешь его парсить значения ключей.

А мы просто для gconf бэкенд сделаем, и пусть он им парсит эти их значения =)

Кстати они это вполне сознательно сделали:

"There are very good reasons why types like Integer, Time, Font, List, etc were not implemented: The Registry was designed to be usefull to any type of program, so having more specific data types implicates in the definition of limits, separators, etc, that may be good for some program and bad for other. So the semantics of the data is handled by the application. A program or framework may define its own special data handling methods using this essential basic types."

int19h ★★★★
()
Ответ на: комментарий от HellAngel

> а религия запрещает сделать в конфиге так?

> gui_background=light

> cli_background=dark

> а в программе:

> background=(mode==gui)?gui_background:cli_background

А в програ-а-а-амме. Давай уж сразу зашьем в программе, что background всегда light, а пользователя зовут Иван Иванович Иванов.

P.S. gui_background - внушаить. Почему не sw_editor_vim_option_gui_background?

anonymous
()
Ответ на: комментарий от anonymous

>Почему не sw_editor_vim_option_giu_background?

потому что это будет выглядеть как /etc/registry/users/pupkin/sw/editors/vim/gui/background

:))))

gr_buza ★★★★
()
Ответ на: комментарий от anonymous

> неймспейс + суб-неймспейс GUI_RUNNING, ключи которого переопределяют ключи основного,

А потом при попытке разобраться с мало-мальски сложным конфигом придется заранее покупать веревку.

> а if-else в конфигах, это хак по стилю..правда весь юникс такой..

Зато коротко и ясно.

anonymous
()
Ответ на: комментарий от gr_buza

В одном они правы - нельзя скрипты запихать в более-менее жесткую структуру единой системы конфигурации. Но скрипты в роли конфигов - это несколько особое явление =) И несколько "хакерское". При всем моем уважении к такому подходу - он зачастую _слишком_ гибкий. Вот вы запихните эти ваши скрипты в LDAP, тогда посмотрим...

А эта штука - это попытка предотвратить раскол GConf/KConf путем продвижения независимого стандарта "сверху", и распространить единую схему и на системные конфиги (еще раз подчеркну: конфиги, а не скрипты).

int19h ★★★★
()
Ответ на: комментарий от anonymous

> А потом при попытке разобраться с мало-мальски сложным конфигом придется заранее покупать веревку.

А еще можно отказаться от старых привычек, и попробовать для начала почитать документацию. А заодно и комментарии к ключам.

int19h ★★★★
()
Ответ на: комментарий от svu

Определённо - по разному понимаем. Я давно уже с трудом могу различить разницу между программой и конфигом - везде хочется засунуть исполнимые данные. И это не есть плохой дизайн - это единственный путь к приемлимому уровню расширябельности. Наелся я уже этого - пихать код на Scheme или Tcl в PCDATA... Не самое это лучшее дело - когда код должен не PCDATA же и породить, а кусок иерархии. Ну а писать *конфиги* на XSLT - это уж было бы совсем извращеньице...

По поводу ebXML R/R - просто рекомендую посмотреть (http://www.ebxml.org/) - хороший пример того, до чего дурь может довести, если начинать с LDAP и ему подобных. ;)

Antichrist
()
Ответ на: комментарий от infinite

> По моему крментарий начинается за редким исключением после #

Да, но вот к чему он относится, когда в одном файле несколько пар "ключ-значение"?

int19h ★★★★
()
Ответ на: комментарий от anonymous

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

HellAngel ★★
()
Ответ на: комментарий от int19h

> А еще можно отказаться от старых привычек, и попробовать для начала почитать документацию.

Нифига. Конфиг дожен быть самодокументируемым. Иначе простые пользователи вас не поймут.

> А заодно и комментарии к ключам.

В том числе к отсутсвующим?

anonymous
()
Ответ на: комментарий от svu

И во сколько проходов этот препроцессор с "функциями" будет перелопачивать скрипт, пока тот в "конфиг" не превратиться?

Antichrist
()
Ответ на: комментарий от int19h

> скрипты в роли конфигов - это несколько особое явление =) И несколько "хакерское".

и это правильно. живучесть в разнообразии, а монстры IT индустрии её не переваривают

Пусть еще сверху всех чсадят за кде или гном, а всё остальное запретят

infinite
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.