etckeeper
etckeeper позволяет легко сохранять содержимое каталога /etc в хранилище системы контроля версий (VCS). Он отслеживает когда apt автоматически сохраняет изменения в /etc при установке или обновлении пакетов. Помещение /etc под контроль версий сейчас рассматривается как лучшая практика в индустрии, и преимуществом etckeeper является то, что он делает этот процесс безболезненным насколько это возможно.
Установите etckeeper, ведя следующее в терминале:
sudo apt-get install etckeeper
Основной файл конфигурации, /etc/etckeeper/etckeeper.conf, достаточно простой. Основной опцией является выбор какую VSC использовать. По умолчанию etckeeper настроен на использование в качестве системы контроля версий bzr. Хранилище автоматически инициализируется (и сохраняет начальное состояние) в процессе установки. Есть возможность отменить это, выполнив следующую команду:
sudo etckeeper uninit
По умолчанию etckeeper будет сохранять незафиксированные изменения в /etc ежедневно. Это может быть отменено использованием опции настройки AVOID_DAILY_AUTOCOMMITS. Он также будет автоматически сохранять изменения до и после установки пакетов. Для более точного отслеживания изменений рекомендуется фиксировать изменения вручную, добавляя описание фиксации следующим образом:
sudo etckeeper commit "..Reason for configuration change.."
Используя команды VCS, вы можете просматривать информацию в журнале по поводу файлов в /etc:
sudo bzr log /etc/passwd
Для демонстрации интеграции с системой управления пакетами, установим postfix:
sudo apt-get install postfix
Когда установка завершится, все конфигурационные файлы postfix будут переданы в хранилище:
Committing to: /etc/ added aliases.db modified group modified group- modified gshadow modified gshadow- modified passwd modified passwd- added postfix added resolvconf added rsyslog.d modified shadow modified shadow- added init.d/postfix added network/if-down.d/postfix added network/if-up.d/postfix added postfix/dynamicmaps.cf added postfix/main.cf added postfix/master.cf added postfix/post-install added postfix/postfix-files added postfix/postfix-script added postfix/sasl added ppp/ip-down.d added ppp/ip-down.d/postfix added ppp/ip-up.d/postfix added rc0.d/K20postfix added rc1.d/K20postfix added rc2.d/S20postfix added rc3.d/S20postfix added rc4.d/S20postfix added rc5.d/S20postfix added rc6.d/K20postfix added resolvconf/update-libc.d added resolvconf/update-libc.d/postfix added rsyslog.d/postfix.conf added ufw/applications.d/postfix Committed revision 2.
В качестве примера, как etckeeper отслеживает изменения вручную, добавьте новую систему в /etc/hosts. Используя bzr вы сможете увидеть какие файлы были изменены:
sudo bzr status /etc/ modified: hosts
Теперь зафиксируем изменения:
sudo etckeeper commit "new host"
Дополнительную информацию по bzr смотрите в разделе Bazaar.