Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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