etckeeper
sourcejedi.etckeeper
Установите etckeeper. Отслеживайте содержимое директории /etc с помощью системы управления версиями.
Текущие данные из /etc
записываются в репозиторий Git. Etckeeper создает новые коммиты в репозитории с ежедневными интервалами, а также при создании или изменении файлов менеджером пакетов (если это поддерживается).
Статус
Эта роль написана для работы на существующей системе. Она протестирована для работы независимо от того, была ли уже установлена etckeeper, существует ли репозиторий etckeeper или репозиторий существует, но без каких-либо коммитов.
Режим --check
Ansible поддерживается.
Если вы запустите режим проверки, когда etckeeper не полностью установлен, игра завершится с ошибкой. Это поведение ожидаемо, так как роль сложная, и некоторые задачи зависят от предыдущих. Мы стараемся обеспечить такое поведение, чтобы режим проверки не пропускал определенные типы задач и не давал вводящий в заблуждение отчёт "changed=0".
Требования
Успешно использовалось на Fedora, CentOS, Debian и Ubuntu 16.04+. Я предполагаю, что большинство дистрибутивов Linux предоставят пакет etckeeper, который будет хорошо работать с этой ролью.
На CentOS будет добавлен репозиторий EPEL для предоставления пакета etckeeper.
Некоторые более старые версии Ubuntu не подойдут, так как в их упаковке изменился основной бэкенд с git
на bzr
. Etckeeper не рекомендует это - бэкендом должен быть git
, если у пользователя нет сильных предпочтений в пользу чего-то другого. Эта роль реализована специально для git
(см. ниже). Я приму минимальные pull-запросы для альтернатив.
Зависимости
user.email
автоматически устанавливается для репозитория git. Это требуется git, и более старые версии etckeeper не предоставляют значение для этого в некоторых случаях. Я не включил переменную роли, чтобы изменить, какое именно значение используется. Однако если user.email
уже установлено (например, в /root/.gitconfig
), этот шаг пропускается. Так что если вам важно, какое значение используется, убедитесь, что ваш /root/.gitconfig
настроен заранее. (Либо отправьте мне сообщение о проблеме / pull-запрос, чтобы объяснить, почему вам нужна переменная роли).
Лицензия
Эта роль лицензирована под GPLv3, пожалуйста, сообщите, если это создает какие-либо проблемы.
ansible-galaxy install sourcejedi/ansible-etckeeper