Как вывести список файлов и папок, которые не поддерживаются ни одним пакетом DEB


12

Я нахожусь в процессе перемещения моих файлов с одной машины Debian на другую, чтобы я мог использовать старую машину для других целей. Я не хочу пропустить ни одного файла, потому что я буду безвозвратно форматировать жесткий диск старой машины.

Подумав об этом больше, я понял, что все файлы и папки, которые мне нужно скопировать, - это файлы, которые не поддерживаются ни одним из установленных пакетов Debian. Есть ли простой способ перечислить такие файлы и папки?

Ответы:


16

cruftЭто полезный инструмент именно для этой цели: он сравнивает файловую систему и базу данных установленных пакетов Debian. В дополнение к списку неизвестных файлов в нем также перечислены файлы, которые отсутствуют, но должны быть там.

Я использую его регулярно вместе с тем, debsumsкогда мне нужно запустить системное администрирование или обновить работу на компьютере, о котором я раньше не заботился. Это позволяет мне обнаруживать любые локальные модификации и установки и планировать их, а не клиент, сообщающий мне после обновления, что их программное обеспечение больше не работает.

Установка:

apt-get install cruft

Перечислите все "cruft", но игнорируйте названные каталоги:

cruft --ignore "/dev /proc /sys /root /home /tmp"

Дополнительная информация:

man cruft
zless /usr/share/doc/cruft/README.gz

4

Если ничего необычного не будет сделано, то ответ , что все в /bin, /boot, /lib*, /sbinи /usrприходят из пакетов Debian, за исключением того, что /usr/localза вами; остальная часть системы - ваша. Типичные места , которые нужно будет сделать резервные копии /homeи /etc(всегда), /var(большинство из них, например , /var/cacheне нужно выполнять резервное копирование), /srv(если вы используете его), и /usr/localи , возможно /opt.

Чтобы вывести список файлов в /файловой системе, которые не входят в пакеты Debian:

find / -xdev -type f | sort >/tmp/root.list
sort /var/lib/dpkg/info/*.list >/tmp/dpkg.list
comm -23 /tmp/root.list /tmp/dpkg.list

Если у вас есть отдельная файловая система для /usr, включите ее в findкоманду. Если у вас есть отдельная файловая система для /homeили /varдругого пользовательского расположения, включите ее в резервную копию.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.