Etckeeper

Материал из ALT Linux Wiki
Версия от 16:46, 9 февраля 2023; CausaPrincipalis71 (обсуждение | вклад) (Создание страницы)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Etckeeper — это коллекция инструментов для хранения /etc в репозитории VCS. Получает доступ к apt/yum/packman/etc для автоматического внесения изменений, выполняемых в /etc в ходе обновления пакета. Имеет модульное исполнение и широкие возможности настройки, а также несложен в использовании при наличии понимания базовых принципов работы с VCS.

Проще говоря, утилита позволяет автоматически сохранять изменения в конфигурационных файлах при помощи таких средств как git, bazaar, mercurial, darcs. Использование систем контроля версий позволяет легко отслеживать критические изменения в настройках, производить откат на предыдущие версии и анализировать работу с директорией /etc.

Установка

Установить пакет etckeeper из репозитория

Настройки

Файл конфигурации - /etc/etckeeper/etckeeper.conf

По умолчанию задаётся система контроля версий git, её можно изменить, убрав комментарии в начале. Так же можно добавить параметры для VCS, изменив переменную *_COMMIT_OPTIONS и задать некоторые другие параметры

Использование

Примечание: Все настройки etckeeper`а нужно проводить от рута

После установки пакета, для инициализации репозитория используется команда

etckeeper init

После чего нужно провести первый коммит, от которого начнётся вестись слежка за изменениями

etckeeper commit "Initial commit"

Теперь после каждой установке пакета при помощи apt-get автоматически будет создаваться коммит с изменениями, которые произошли в /etc

Автоматическая загрузка на удалённый репозиторий

Периодически бывает удобно хранить /etc на удалённом репозитории, etckeeper поддерживает такой функционал. Для этого сначала нужно создать удалённый репозиторий и добавить его в SCV

su -
cd /etc/
git remote add origin *адрес удалённого репо*

После чего нужно редактировать файл настроек /etc/etckeeper/etckeeper.conf. В нём задать значение переменной PUSH_REMOTE="origin"

Теперь при каждом вызове etckeeper commit автоматически будет происходить загрузка на удалённый репозиторий.

Ссылки