Btrfs предлагает эти команды для проверки целостности данных / контрольных сумм:
btrfs scrub start <path>|<device>
btrfs check --check-data-csum
Однако AFAIK всегда проверяет целые файловые системы; аргумент path
должен идентифицировать файловую систему на устройстве, а не файл / каталог в файловой системе.
Теперь у меня есть файловая система Btrfs объемом 3 ТБ. Очистка занимает несколько часов. Иногда мне нужно убедиться, что bitrot еще не затронул только определенный файл / каталог, например, перед использованием установочного образа * .iso или восстановлением резервной копии. Как мне использовать Btrfs для этого - не прибегая к хранению хеш-файлов вручную для каждого файла?
Мне известно, что Btrfs не хранит контрольные суммы для отдельных файлов - он хранит контрольные суммы для блоков данных. В этом случае я ищу команду / инструмент, который идентифицирует все блоки, используемые для хранения определенных файлов / каталогов, и проверяет только эти блоки.
Я где-то читал, что Btrfs якобы проверяет контрольные суммы на чтение. То есть, если файл был бит-гнилой, чтение его не удастся или что-то в этом роде. Это тот случай?