Восстановить старый /etc на более новую систему (CentOS)

Для экономии места я не делаю резервную копию /usr (Кроме /usr/local), /bin, /sbin а также /lib, Вместо этого я делаю rpm -qa --qf '%{NAME}\n' чтобы получить список пакетов, которые мне нужно установить, чтобы восстановить содержимое этих каталогов.

При восстановлении без изменений, после установки минимальной системы CentOS, я устанавливаю пакеты в списке с помощью yum.

Следующим шагом является восстановление /etc, но здесь есть проблема: пакеты, которые я только что установил, могут быть более новой версией, чем те, которые присутствовали в моей старой системе, когда я создавал резервную копию. Таким образом, копирование моего старого / etc может привести к поломке, если форматы конфигурации тем временем изменились, или сделать мою установку менее безопасной, если тем временем были добавлены важные директивы конфигурации. Проверка каждого файла конфигурации является опцией, но я бы предпочел этого избежать. Можно ли сделать это более автоматизированным способом?

2 ответа

Решение

Бежать rpm -Vac, Вы получите список всех файлов конфигурации, установленных RPM, которые были изменены.

Также, если вы восстановите содержимое /etc перед установкой пакетов yum заметит и разместит любые файлы конфигурации, отличающиеся .rpmnew расширение. Затем вы можете пойти и посмотреть на эти файлы по отдельности.

Вы могли бы взглянуть на etckeeper.

etckeeper - это набор инструментов для хранения / etc в репозитории git, mercurial, bazaar или darcs. Он подключается к [apt, yum] для автоматической фиксации изменений, внесенных в / etc во время обновления пакета. Он отслеживает метаданные файла, которые git обычно не поддерживает, но это важно для /etc, например права доступа /etc/shadow,

Другие вопросы по тегам