Загрузка...
Linux
Новости, статьи, обсуждения, - все что связано с GNU Linux, FreeBSD, OpenBSD, Sun Solaris, Mac OS X и другими системами. Если вы интересуетесь данной темой - добро пожаловать в сообщество.
     

Контроль содержимого /etc

13.01.11, 21:28
Автор ggg

А бывало у вас такое, что после установки какой-нибудь программы (например свежих драйверов NVidia) система начинает жутко глючить (не запускаются иксы, сбиваются собираемые годами глобальные настройки и т.п.), а резерзвной копии каталога /etc - нет. Как не допустить появления такой проблемы?

 

 

Нам поможет программа etckeeper. Эта утилита создает репозиторий для каталога /etc, который помогает отслеживать изменения, сделанные в результате установки или удаления той или иной программы. Программа поддерживает такие системы контроля версий как Git, Mercurial, Darcs и Bazaar. Чем же etckeeper лучше ручного создания репозитория той или иной VCS? Очень просто - etckeeper вешает хуки на операции установки и удаления программ с помощью apt и dpkg, а так же отслеживает наличие изменений в каталоге /etc после указанных операций. Если изменения отсутствуют - то ничего не происходит, если имеются изменения - то программа создает очередную ревизию в репозитории. Таким образом etckeeper берет на себя всю грязную работу, давая при этом возможность откатить конфиги, если что-то пойдет не так как ожидается.

Подводя итог рассмотрим процесс установки и начальной настройки etckeeper-а в Ubuntu 10.10 (в качестве системы контроля версий будем использовать Git).

Устанавливаем необходимые пакеты

sudo apt-get install git-core etckeeper

В вашем любимом текстовом редакторе открываем файл /etc/etckeeper/etckeeper.conf, раскомментируем строку

VCS="git"

и закомментируем строку

VCS="bzr"

Становимся рутом:

sudo su -

Переходим в каталог /etc/ и инициализируем репозиторий

cd /etc && etckeeper init

Создаем начальный коммит

git add . && git ci -a -m 'Initial commit'

Избавляемся от ненужных файлов и оптимизируем репозиторий

git gc

Теперь etckeeper настроен и готов к работе. При установке и удалении программ проводятся автоматические коммиты в репозиторий, но так же никто не мешает нам сделать изменения файлов настроек руками и создать новую ревизию.

Использование etckeeper сильно снижает цену ошибки при работе с системными настройками в каталоге /etc и поэтому просто обязано быть на любом более-менее приличном сервере.

Комментарии

Класс! Использую просто гит-репо в /etc.
Про кипера не знал. Спасибо за инфу!

Спасибо, очень удобно! Иногда выдает сообщение, когда скачал пакеты и собирается ставить, что есть изменения после последнего коммита и надо сначала закоммитить вручную ( Можно как-то указать, чтоб в таких случаях делал коммит и ставил, потом как обычно делал коммит после устоновки? Может я что-то не так настроил (

Похоже за такое поведение отвечает параметр AVOID_COMMIT_BEFORE_INSTALL=1 /etc/etckeeper/etckeeper.conf

вроде мелочь, а очень полезная, лучше настроить эту штуку заблаговременно, это как бекапы, пока система не навернется – не поймешь всей ценности, но когда поймешь – будет уже поздно

Войдите, чтобы оставить комментарий