Стань властелином директории /etc с помощью программы etckeeper

Идея etckeeper очень проста. Все конфигурационные файлы, размещаемые в директории /etc помещаются в систему контроля версий. Таким образом, вы всегда можете "вспомнить" какие изменения и когда вы вносили в конфигурацию и в случае проблем сможете одной командой откатиться к предыдущей версии файлов.

Сперва установите etckeeper:

sudo apt-get install etckeeper

По умолчанию etckeeper использует систему контроля версий Bazaar. Многим кажется более удобным использовать git. Для этого необходимо внести небольшие изменения: установите git и переключите в конфигурационном файле /etc/etckeeper/etckeeper.conf переменную VCS со значения «bzr» на значение «git». Поддерживается большое число и других систем: Mercurial, Darcs и т.п. Учтите, что если вы поменяли значение переменной VCS, то вам придется провести первичную инициализацию:

etckeeper init

Теперь любое изменение файлов в директории /etc не останется незамеченным. В любой момент мы можем поинтересоваться кто, когда, какие файлы редактировал и какие изменения вносил:

sudo etckeeper vcs diff -c2 
[sudo] password for linuxari: 
=== modified file '.etckeeper'
--- .etckeeper     2012-06-02 10:03:22 +0000
+++ .etckeeper  2012-06-02 10:08:53 +0000
@@ -1987,6 +1987,7 @@
 maybe chmod 0755 './systemd/system/multi-user.target.wants'
 maybe chmod 0755 './terminfo'
 maybe chmod 0644 './terminfo/README'
+maybe chmod 0644 './test'
 maybe chmod 0755 './texmf'
 maybe chmod 0755 './texmf/dvipdfm'
 maybe chmod 0755 './texmf/dvipdfm/config'
 
=== added file 'test'

Как видим, был модифицирован файл /etc/.etckeeper и был создан новый файл /etc/test. Если нас устраивают изменения, то мы можем дать команду принять их:

$ etckeeper commit "test"
Committing to: /etc/
modified .etckeeper
added test
Committed revision 2.

После этого все изменения сохранятся как новая версия и мы всегда сможем к ней вернуться, как и к любой другой, предыдущей или последующей.

Таким образом, etckeeper выполняет две важнейшие задачи, которые стоят перед любым ответственным администратором. Во-первых, мы видим все изменения в конфигурации. Любые несанкционированные попытки вмешаться в работу системы будут сразу обнаружены. Этим мы лишаем зловредные программы возможности скрывать свое присутствие. Иногда и вполне добропорядочные программы (например, графические утилиты настройки) вносят изменения в конфигурацию и эти изменения в некоторых случаях приводят к конфликтам. Очень сложно потом вручную установить причину этих конфликтов. Во-вторых, в случае потери работоспособности системы из-за некорректных настроек в конфигурационных файлах, мы можем легко восстановить предыдущее состояние.

Дополнительную информацию можно найти на сайте проекта etckeeper.

Использованы примеры с сайта Линуксария.

Пока без оценки

А почему не весь диск? Такая вещь должна быть частью файловой системы.

Ваша оценка: Нет Средняя оценка: 1 (1 vote)
pomidorius аватар

Во-первых нет смысла весь контролировать весь диск. Например, зачем нужно создавать версии /var, /dev и т.п.? Во-вторых, системы контроля версий хранят diff-файлы изменений. Получится рекурсия, когда сохраняются версии изменений изменений изменений и т.д. В-третьих, систему контроля версий можно использовать для любых директорий, а не только /etc. Я, например, использовал Subversion для сохранения изменений в коде сайта и для сохранения файлов с электронными картами, когда занимался ГИС. Не знаю как etckeeper, но одну из VCS изучить и уметь применять на практике стоит.

Ваша оценка: Нет

Не, надо что-нибудь такое, что было бы принудительно встроено во все редакторы, чтобы они не забывали историю отмен, и чтобы она сама была не такой плоской.

Ваша оценка: Нет
pomidorius аватар

Перерасход памяти же. Да и плановые бэкапы по крону частично решают проблему.

Ваша оценка: Нет

Отправить комментарий

КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Яндекс.Метрика