Самый простой способ, хотя и не обязательно самый быстрый или эффективный, состоял бы в том, чтобы:
ddrescue
в режиме заполнения -для маркировки поврежденных секторов уникальным шаблон. Они рекомендуют что-то вроде этого :ddrescue --fill-mode=- <(printf "BAD-SECTOR ") outfile mapfile
Чтобы избежать ложных срабатываний, вы хотите использовать шаблон, который обычно не существует ни в одном файле. e2fsck
в Linux, для проверки и, возможно, восстановления структуры каталогов файловой системы. Любые плохие сектора, которые попадают в структуры файловой системы, сначала должны быть разрешены, прежде чем вы сможете искать все повреждения файлов.Repairing directory structures is an art in and of it's self which is out of this answers scope.
grep
, чтобы просканировать все файлы в файловой системе и составить список тех, которые содержат уникальный шаблон, которым они заполнены в режиме -. Это не зависит от операционной системы, поэтому я намеренно не привожу подробности, зависящие от конкретного типа файловой системы. Сначала мне пришлось сделать это в файловой системе NTFS с помощью утилит Windows, но та же идея и в ext3/4 и т. д.
Для скачивания файлов не требуются специальные привилегии, поэтому, когда это возможно, apt
отказывайтесь от привилегий. Существует ряд условий, которые должны быть выполнены :настроенный пользователь с ограниченными привилегиями(_apt
по умолчанию )должен существовать, ему должно быть разрешено записывать в цель загрузки и, в некоторых случаях,должно быть разрешено чтение из «загружаемого» источника (, если это предполагает копирование файлов, а не загрузку с удаленного хоста ). Если эти условия не выполняются, apt
возвращается к загрузке с правами root, а не полностью прерывает операцию.
apt
может использовать внешние помощники загрузки (в /usr/lib/apt/methods
по умолчанию ), что делает сброс привилегий -еще более интересным.
Последние версии apt
также могут использовать фильтрацию seccomp, но по умолчанию она отключена, поскольку она не работает на некоторых архитектурах Debian .