
У меня есть машина, которая не используется, и я хочу сделать чистую установку Linux на машине. На машине могут быть важные файлы.
Как составить список всех файлов, созданных пользователем после чистой установки?
Я думал сделать простой поиск всех файлов в /
и затем цикл for для итерации с последующим rpm -q --whatprovides
перечислением всех файлов, которые создал пользователь (т.е. не перечисленных ни в одном манифесте RPM). Я думаю, это сработает... Но это может быть очень медленно и занять более 8 часов. Мне придется попробовать.
Я указал rpm, но думаю, это применимо к любому дистрибутиву Linux... Но мне сначала нужно решение с rpm в краткосрочной перспективе.
решение1
rpm -qla
быстро выведет список всех файлов из пакетов rpm. Вы можете отсортировать оба списка и сравнить их с comm
. Однако как насчет файлов конфигурации из пакетов rpm, которые были отредактированы пользователем, например /etc/exports
. Вы можете использовать rpm -qVa
для проверки того, были ли изменены установленные файлы, но он проигнорирует файлы, которые должны быть изменены, например /etc/shadow
. Обычно хорошей идеей является сохранение копии всего на /etc
всякий случай. У вас все еще есть определенные пакеты, о которых нужно беспокоиться, например mysql и файлы в /var
...
решение2
Два способа, в зависимости от того, что вам нужно:
Вы могли бы использоватьctime(change-time) файлов с
find
командой поиска тех, которые были недавно изменены, и из них соответствующих пакетов. Это может найти файлы, которые не являются частью пакетов, например, если вы найдете файлы в/var
.Вы можете использовать
rpm -qai
, чтобы получить даты установки всех пакетов и получить отчет о тех, которые были установлены недавно, а из этого списка, используяrpm -ql
, вывести список файлов для каждого пакета, которые были установлены.Например,CentOS: Перечислить установленные RPM-пакеты по дате установки/обновления?указывает, что эта
--last
опция сортирует список поrpm -qa
дате, и вам нужно будет только отфильтровать список, чтобы ограничить пакеты в соответствии с тем, когда вы выполнили первоначальную установку.