{{tag>backup}}

====== etckeeper ======

etckeeper позволяет легко сохранять содержимое каталога /etc в хранилище системы контроля версий (VCS). Он отслеживает когда apt автоматически сохраняет изменения в /etc при установке или обновлении пакетов. Помещение /etc под контроль версий сейчас рассматривается как лучшая практика в индустрии, и преимуществом etckeeper является то, что он делает этот процесс безболезненным насколько это возможно.
Установите etckeeper, ведя следующее в терминале:

<code sh>
sudo apt-get install etckeeper
</code>

Основной файл конфигурации, /etc/etckeeper/etckeeper.conf, достаточно простой. Основной опцией является выбор какую VSC использовать. По умолчанию etckeeper настроен на использование в качестве системы контроля версий bzr. Хранилище автоматически инициализируется (и сохраняет начальное состояние) в процессе установки. Есть возможность отменить это, выполнив следующую команду:

<code sh>
sudo etckeeper uninit
</code>

По умолчанию etckeeper будет сохранять незафиксированные изменения в /etc ежедневно. Это может быть отменено использованием опции настройки AVOID_DAILY_AUTOCOMMITS. Он также будет автоматически сохранять изменения до и после установки пакетов. Для более точного отслеживания изменений рекомендуется фиксировать изменения вручную, добавляя описание фиксации следующим образом:

<code sh>
sudo etckeeper commit "..Reason for configuration change.."
</code>

Используя команды VCS, вы можете просматривать информацию в журнале по поводу файлов в /etc:

<code>
sudo bzr log /etc/passwd
</code>

Для демонстрации интеграции с системой управления пакетами, установим postfix:

<code>
sudo apt-get install postfix
</code>

Когда установка завершится, все конфигурационные файлы 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 вы сможете увидеть какие файлы были изменены:

<code>
sudo bzr status /etc/
</code>

modified:
  hosts
Теперь зафиксируем изменения:

<code>
sudo etckeeper commit "new host"
</code>