Часто бывает, что после редактирования нескольких конфигурационных файлов система отказывается нормально работает. Если изменения были сделаны недавно, то вы вполне по памяти сможете восстановить конфиги. А что если изменения были давно но вы заметили о них только сейчас ? А что если файлов очень много ?

Одним из способов решения данной проблемы, является использование системы контроля версий. В прошлой статья я выкладывал ссылки, по ним вы сможете узнать о них, на примере git.

Для начала создадим новый репазиторий:
# cd /etc
# git init

В принципе, нам вовсе не нужно контролировать все файлы, для того, чтобы исключить из «контроля» некоторые файлы создадим файл .gitignore и запишем их имена туда, к примеру, вот мой /etc/.gitignore :

.gitignore
*.pacnew
mtab
motd
ssl
ld.so.cache
asound.state
adjtime
*~
*-

Можете еще исключить различные файлы/папки.

Когда с .gitignore покончено, добавим файлы( добавить файлы — add, а удалить — rm ) из /etc под контроль git( мы в /etc ):
# git add .
Теперь сделаем первый снимок:
# git commit -a -m ‘hello world’

Что теперь ?

# pacman -Syu && cd /etc && git commit -a -m ‘Обновился :D’
Если у нас что-то отвалилось:
# git log
Находим хэш комита ‘hello world'( ну или последнего обновления =) ), у меня это 627f291f985247c618de805cc5cda4fc9a31230f. Посмотрим разницу:
# git diff 627f291f985247c618de805cc5cda4fc9a31230f
И вернемся к данной версии:
# git checkout 627f291f985247c618de805cc5cda4fc9a31230f
И вуаля, мы в начале начал.

Или восстановим один конкретный файл:
# git checkout 627f291f985247c618de805cc5cda4fc9a31230f rc.conf

Ну вот как-то так 🙂 И да, я показал лишь базу =)

Навигация по записям