Використання git для керування / тощо?


15

Я думаю про систему, де /etcвідслідковувались на віддаленому сховищі git. Я думаю про робочий процес git, де кожен хост-апарат де інша галузь.

Всі попередні версії на кожній машині можна було легко відстежувати, порівнювати, об'єднувати.

Якщо /etcмодифікацію довелося здійснити на багатьох машинах, це може бути легко виконано за допомогою якогось сценарію об'єднання.

У разі "небажаної" /etcзміни це може бути добре видно (навіть сценарії тривоги можна налаштувати на це).

Хтось уже використовував таку конфігурацію? Чи є з цим проблеми із безпекою?


6
Є те, etckeeperщо вже використовується в багатьох системах. Він пропонує не всі функції, про які ви просили. Наприклад, воно має одне сховище на хості, а не центральне.
jofel

Які файли вас цікавлять або які файли були змінені небажаними в минулому? Я запитую, тому що я вважаю, що Git - це не правильний спосіб вирішити проблеми, викликані в іншій точці вашого робочого процесу. Далі: якщо хтось забуде здійснити кілька змін, Git марний. Не могли б ви пояснити своє оточення? Чи є у вас тестові та якісні умови оточення, ідентичні виробництву? У вас набагато більше двох-трьох хостів одного типу / призначення чи це гетерогенно? Що важливіше: порівняти конфігурації хостів або відстежувати конфігурацію хостів з часом?
try-catch-нарешті

Відповіді:


8

Програма etckeeperдійсно вдається /etcв git, вам просто потрібно змінити значення за замовчуванням VCS BACKEND від bzrдо gitв /etc/etckeeper/etckeeper.conf.

Він встановлений за замовчуванням в Ubuntu Linux і обробляє поширені випадки, коли потрібно здійснювати автоматично.
Вона бере на себе зобов’язання перед встановленням пакетів у випадку, якщо є невмілі зміни вручну та після встановлення.


6

Проблема з конфігурацією відстеження для /etcв gitтому, що все, що ви насправді отримуєте, це контроль над версією (більшість gitновачків навіть не знає, як tagі як branchправильно, настільки малоймовірно в цей момент) і можливість відката (знову ж таки, якщо ви не ' t taggingналежним чином, ви не отримуєте нічого, крім журналу, щоб звинувачувати людей); але ви втрачаєте шаблони (нахилений шаблон, оскільки git цього не забезпечує), і масштабування (ви не можете застосувати конфігурацію деінде; особливо якщо ви використовуєте розподілені бази даних, такі як Elasticsearch), і автоматизоване управління системами (знову ж, git не забезпечує це ).

З урахуванням цього, ви, ймовірно, шукаєте управління конфігурацією ; що зв'язку в шаблонних , gitі основних сценаріях для управління конфігурацією. Це, звичайно, йде в напрямку DevOps та інфраструктури як Код .

Додати до цього; Відповідь має те, ansible-pullщо може витягнути останнє репо з ваших ігор git; те саме стосується і шеф-кухаря. В основному сучасні адміністратори Linux не повинні використовувати щось подібне etckeeper. Шеф - кухар також має режим клієнт-сервер , де ви можете управляти всіма системами з на chef-clientоснові environment, rolesі кухонної версій; речі, з якими не можна займатися gitвиключно і в масштабах.


Не тільки відкат я отримую з git. Я отримую також порівнянність (як між машинами, так і між часом), а також синхронізацію. Але я думаю, що ідея про ще більш цілеспрямовані інструменти корисна.
петерх
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.