![Восстановите старый /etc на новой системе (CentOS)](https://rvso.com/image/617249/%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D0%B5%20%D1%81%D1%82%D0%B0%D1%80%D1%8B%D0%B9%20%2Fetc%20%D0%BD%D0%B0%20%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9%20%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B5%20(CentOS).png)
В целях экономии места я не делаю резервных копий /usr
(за исключением /usr/local
), /bin
, /sbin
и /lib
. Вместо этого я делаю , rpm -qa --qf '%{NAME}\n'
чтобы получить список пакетов, которые мне нужно установить для восстановления содержимого этих каталогов.
При восстановлении на «голое железо» после установки минимальной системы CentOS я устанавливаю пакеты из списка с помощью yum.
Следующий шаг — восстановить /etc, но здесь есть проблема: пакеты, которые я только что установил, могут быть более новой версии, чем те, которые присутствовали в моей старой системе, когда я создавал резервную копию. Таким образом, копирование моего старого /etc может все сломать, если форматы конфигурации тем временем изменились, или сделать мою установку менее безопасной, если за это время были добавлены важные директивы конфигурации. Проверка каждого отдельного файла конфигурации — это вариант, но я бы предпочел этого избежать. Можно ли сделать это более автоматизированным способом?
решение1
Запустите rpm -Vac
. Вы получите список всех файлов конфигурации, установленных RPM.который был изменен.
Также, если вы восстановите содержимое/etc
доустанавливая пакеты, тогда yum заметит и разместит любые файлы конфигурации, которые отличаются расширением .rpmnew
. Затем вы можете пойти и посмотреть на эти файлы по отдельности.
решение2
Вы можете взглянуть наetckeeper.
etckeeper — это набор инструментов, позволяющих хранить /etc в репозитории git, mercurial, bazaar или darcs. Он подключается к [apt, yum] для автоматического сохранения изменений, внесенных в /etc во время обновлений пакетов. Он отслеживает метаданные файлов, которые git обычно не поддерживает, но которые важны для /etc, например, разрешения
/etc/shadow
.