Re: как правильно конфигурировать системы при помощи chef,puppet, etc
On 04/17/2013 04:34 PM, Владимир Скубриев wrote:
> Изучаю chef уже целую неделю.
>
> В процессе изучения способов конфигурации пакетов пришел к выводу, что
> это можно делать разными способами.
>
> Первый и самый простой вариант - это поддержка нужных конфигурационных
> файлов пакетов с использованием шаблонов и переменных.
>
> Второй способ это конфигурирование пакетов при помощи стандартных
> средств конфигурации системы. Например debconf: debconf-get-selections,
> debconf-set-selections.
>
> Третий и видимо - это совместное использование обоих способов.
>
> В связи с этим возникает вопрос а как правильно сочетать данные методы
> или не сочетать?
>
> Простой пример с которым я столкнулся.
>
> Например мы хотим установить на клиенте libnss-ldapd. Но при этом на
> клиенте:
>
> 1. Она может быть не установлена
> 2. Она может быть установлена - но не правильно сконфигурирована
> 3. Нам может понадобится изменить какие-то дополнительные параметры этой
> библиотеки, конфигурирование которых не доступно через debconf.
>
> Мы можем описать наш рецепт следующим образом:
>
> 1. Чтобы при установке использовался наш конфигурационный файл debconf
> 2. Чтобы при переустановке использовался наш конфигурационный файл debconf
> 3. Дописывать скриптами в нужные нам конфигурационные файлы нужные
> парамтеры.
>
> Насколько я понимаю смысл использования chef, puppet - достижения
> идемпотентности конфигурации настраиваемых машин. Насколько я понимаю
> мне необходимо учитывать все возможные факторы, описывать решения для
> них в рецептах и в дальнейшем совершенствовать свои рецепты, с целью
> чтобы они соответствовали максимально той конфигурации, которую я хочу
> получить.
>
> Еще возникает вопрос про обновление системы.
>
> Что будет в случае, если пакет был сконфигурирован через копирование
> конфигурационного файла . Пользователь выполнил обновление системы.
> Сработала пере конфигурация обновленного пакета и изменились
> конфигурационные файлы.
если конфиг был изменен вручную, то по умолчанию dpkg спросит - а менять
ли конфиг или оставить как было.
у юзера есть root ? или sudo на aptitude update/upgrade ?
>
> В этом отношении у меня полная каша в голове. Проясните пожалуйста как
> все должно быть. Что-то я совсем запутался.
>
> Еще возникает вопрос чисто по системе debconf.
>
> Где посмотреть в системе какие именно скрипты изменяют конфигурационные
> файлы и вообще занимаются обработкой параметров базы данных debconf.
>
man debconf
It's more typical for debconf to be used via dpkg-preconfigure(8) or
dpkg-reconfigure(8).
а так preinst/postinst и т.д. скрипты лежат в /var/lib/dpkg/info/
> Как данные скрипты относятся к ручной правке конфигурационных файлов из
> практики ?
>
в зависимости от того как они написаны :) .
> И как вообще принято администрировать систему debian в рамках моего
> вопроса?
>
админ - хозяин. какой конфиг он установил такой и должен стоять.
в крайнем случае Debian это конструктор в которым можно переставить
пакет как надо.
главное не забывать бекапы важных, рабочих конфигов.
> Я конечно понимаю, что очень много всего спросил. Увы подсказать не кому.
>
> Надеюсь на понимание. Спасибо!
>
>
Удачи,
Alex
Reply to: