Автор Гілка: центральне сховище конфігів  (Прочитано 6288 раз)

Відсутній pvl

  • Новачок
  • *
  • дописів: 39
  • Карма: +0/-0
Re: центральне сховище конфігів
« Відповідей #15 : 2008-05-29 00:53:05 »
так - я неправильно пояснив - це бібліотека яка дає АПІ для роботи з конфігами.
Тобто програма запитує в бібліотеки свою конфігурацію. бібліотека в залежності від конфігу для цієї програми або відкриває локальний файл або звертається куди треба в мережі. а потім програма з допомогою функцій отримує своє налаштування

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: центральне сховище конфігів
« Відповідей #16 : 2008-05-29 14:05:05 »
так - я неправильно пояснив - це бібліотека яка дає АПІ для роботи з конфігами.
Тобто програма запитує в бібліотеки свою конфігурацію. бібліотека в залежності від конфігу для цієї програми або відкриває локальний файл або звертається куди треба в мережі. а потім програма з допомогою функцій отримує своє налаштування

Значно простіше працювати з двома сутностями: програмою і файловою системою, ніж з декількома: програмою, файловою системою, бібліотекою та/або демоном, мережею. Ніколи не глючить той код, якого немає взагалі. :-)

Значно простіше сконфігурувати файлову систему так, щоб вона зверталася куди треба в мережі взагалі без бібліотек - так працюватиме значно більше програм без ніякого переписування. Згадайте Plan9 - там все працює через ФС.
[Fedora Linux]

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: центральне сховище конфігів
« Відповідей #17 : 2008-05-29 16:22:26 »
про фс я не подумав - це варіант.
варіант 1
маємо наприклад лдап сервер в якому зберігаються налаштування домену. демон наприклад купс звертається до свого конфігу який насправді є віртуальним і створюється на основі того ж лдап. я бачу такі недолік - форматів багато і для кожного доведеться писати якийсь перетворювач. я думаю що цей варіант підійде для старих або закритих програм.
варіант 2
якась фс що перетворює лдап на теки з файлами. (я думаю такі для фусе вже є). доведеться переписувати програми на роботу з цими теко-файлами :).
Проблем з локальними конфігами нема - хочемо підключаємо домен а ні то створюємо файл з конфігом.
Я правильно зрозумів вашу думку?

Ви не могли б трохи зв’язніше і гарніше оформлювати свою думку? Текст без розділових знаків і з неправильним регістром букв  доводиться перечитувати по два-три рази. Я, особисто, так і не зрозумів що ви запропонували. :-/
[Fedora Linux]

Відсутній pvl

  • Новачок
  • *
  • дописів: 39
  • Карма: +0/-0
Re: центральне сховище конфігів
« Відповідей #18 : 2008-05-30 11:14:52 »
вибачаюсь. дійсно дурня

Як я зрозумів ви пропонуєте створити модуль наприклад для fuse який буде перетворювати конфігурацію що зберігається наприклад в  ldap в віртуальний файл для програми (наприклад cups).
Я бачу 2 проблеми (тільки я зовсім не розбираюсь в будові фс - тож не бийте сильно :) ):
1. надійність - якщо станеться якась помилка, то вона відіб'ється на всіх програмах що користуються цією фс. Якщо ж помилка станеться в бібліотеці - то постраждає тільки один програма.
2. доведеться написати якісь бакенди для кожного типу|виду файлів|конфігів. До тож проблема зворотнього завантаження - наприклад при встановленні.

Я думаю це непоганий варіант для закритих програм, або для таких, модифікація яких небажана чи неможлива.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: центральне сховище конфігів
« Відповідей #19 : 2008-05-30 15:30:28 »
вибачаюсь. дійсно дурня

Як я зрозумів ви пропонуєте створити модуль наприклад для fuse який буде перетворювати конфігурацію що зберігається наприклад в  ldap в віртуальний файл для програми (наприклад cups).
Можна й так. Каталоги /proc та /sys - гарний приклад такої системи конфігурації (поцупленої з Plan9). Тобто можна взяти якусь базову файлову систему, туди скопіювати /etc, зверху наліпити unionfs і зверху накласти якийсь аналог /proc, який буде перекривати певні вказані файли з /etc та дозволяти змінювати їх на льоту через якесь API, дружнє до утиліт. Непогана тема для дипломної роботи. :-)

Але я робив узагальнення трошки вищого рівня - якщо у вас тільки дві сутності, то все стає значно простіше, так як є тільки один зв’язок - пргограма <-> файлова система. Якщо додавати нові сутності (бібліотеки, демони, мережі, etc.), то складність системи (кількість зв’язків між компонентами) росте по O(n!), де n - кількість компонентів.

Якщо у вас тільки програма і ФС, то n! - 2. Якщо у вас програма, ФС, бібліотека, демон/БД, мережа, то n! - 120. У першої системи значно кращий потенціал для росту - до 60-ти раз. :-)

Цитата
Я бачу 2 проблеми (тільки я зовсім не розбираюсь в будові фс - тож не бийте сильно :) ):
1. надійність - якщо станеться якась помилка, то вона відіб'ється на всіх програмах що користуються цією фс. Якщо ж помилка станеться в бібліотеці - то постраждає тільки один програма.
...то постраждають всі програми, які користуються цією бібліотекою.

Цитата
2. доведеться написати якісь бакенди для кожного типу|виду файлів|конфігів.
Точно так само як і з бібліотекою. Але у випадку бібліотеки, доведеться правити також і програми, які ними користуються.

Цитата
До тож проблема зворотнього завантаження - наприклад при встановленні.
Я не знаю що таке зворотнє завантаження (розвантаження?).

Цитата
Я думаю це непоганий варіант для закритих програм, або для таких, модифікація яких небажана чи неможлива.
Угу. При чому таких програм переважна більшість.
[Fedora Linux]

Відсутній pvl

  • Новачок
  • *
  • дописів: 39
  • Карма: +0/-0
Re: центральне сховище конфігів
« Відповідей #20 : 2008-05-30 18:31:20 »
так ми прийшли до двох варіантів:
1 (подобається мені)
Бібліотека схожа на ПАМ.
Порядок роботи такий:
  • Програма викликає ВІДК_КОНФ(ІМ'Я_ПРОГ)
  • Бібліотека шукає в /etc/PKM.d/ІМ'Я_ПРОГ інструкції які бакенди і в якому порядку використовувати
  • Бібліотека передає дані в бакенди і з результатів їх роботи формує конфіг для прогами
  • Програма отримує конфіг
2 з двома варіаціями
Варіація Перша - Низькорівнева
Цитата
Можна й так. Каталоги /proc та /sys - гарний приклад такої системи конфігурації (поцупленої з Plan9). Тобто можна взяти якусь базову файлову систему, туди скопіювати /etc, зверху наліпити unionfs і зверху накласти якийсь аналог /proc, який буде перекривати певні вказані файли з /etc та дозволяти змінювати їх на льоту через якесь API, дружнє до утиліт. Непогана тема для дипломної роботи.
Варіація Друга - Високорівнева
Програма має свій конфіг /etc/ПРОГРАМА. Є сервер СЕРВЕР на якому запущений ldap. Адміністратор монтує цей сервер /net/СЕРВЕР/LDAP. Далі він робить ln -s /net/СЕРВЕР/LDAP /etc/ПРОГРАМА. Тільки тоді ОС буде називатись не Linux a Inferno :)

Тепер я правильно вас зрозумів?

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: центральне сховище конфігів
« Відповідей #21 : 2008-05-30 21:11:17 »
так ми прийшли до двох варіантів:
1 (подобається мені)
Бібліотека схожа на ПАМ.
Порядок роботи такий:
  • Програма викликає ВІДК_КОНФ(ІМ'Я_ПРОГ)
  • Бібліотека шукає в /etc/PKM.d/ІМ'Я_ПРОГ інструкції які бакенди і в якому порядку використовувати
  • Бібліотека передає дані в бакенди і з результатів їх роботи формує конфіг для прогами
  • Програма отримує конфіг
Таких бібліотек є купа. Всього-то треба вибрати одну з них і поправити кількадесят гігабайт програм, щоб вони її використовували. Можеш приступати, якщо подобається. Реально напр. LDAP чи MySQL для конфігурації підтримує всього декілька програм. Ніхто не горить бажанням збільшувати цю кількість, так як зайві з’єжнання з мережею - це нові дирки в безпеці.

Цитата
2 з двома варіаціями
Варіація Перша - Низькорівнева
Цитата
Можна й так. Каталоги /proc та /sys - гарний приклад такої системи конфігурації (поцупленої з Plan9). Тобто можна взяти якусь базову файлову систему, туди скопіювати /etc, зверху наліпити unionfs і зверху накласти якийсь аналог /proc, який буде перекривати певні вказані файли з /etc та дозволяти змінювати їх на льоту через якесь API, дружнє до утиліт. Непогана тема для дипломної роботи.
Варіація Друга - Високорівнева
Програма має свій конфіг /etc/ПРОГРАМА. Є сервер СЕРВЕР на якому запущений ldap. Адміністратор монтує цей сервер /net/СЕРВЕР/LDAP. Далі він робить ln -s /net/СЕРВЕР/LDAP /etc/ПРОГРАМА. Тільки тоді ОС буде називатись не Linux a Inferno :)

Тепер я правильно вас зрозумів?

Майже. Технічні деталі відрізняються, але суть приблизно та сама - програму переписувати не потрібно, просто програмі підсовуються її конфіги з допомогою трюків з файловою системою. Подібні способи зараз використовуються в кластерах.
[Fedora Linux]