Як я бачу контрольну суму файлу btrfs?


12

Btrfs обчислює контрольну суму crc32c для кожного файлу. Чи є спосіб я побачити, яка контрольна сума зберігається (на відміну від простого читання файлу та його перерахунку)?


Опублікував відповідь на подібне запитання: superuser.com/a/1030443/44360
webminal.org

Відповіді:


3

Btrfs обчислює контрольну суму crc32c для кожного файлу.

Це неправильно. Обидві файлові системи з відкритим кодом контрольної суми (ZFS та BTRFS) обчислюють контрольну суму для кожного логічного блоку (правильне використання неназваного джерела Awe правильне). Це контрольна сума даних на диску.

Якщо у файловій системі увімкнено стиснення (все більш поширене налаштування), ця контрольна сума складається з даних після стиснення. Це означає, що навіть якщо файл вміщується в один логічний блок, можливо (і все більш імовірно), що дані контрольної суми файлової системи вам будуть марні.

Якщо вам потрібна контрольна сума файлів, найкращим способом її отримання було б її обчислити.


1

З аналогічної відповіді у суперпользователя:

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

Значення. Контрольні суми не створюються в btrfs за файлом. Згадується @superuser є патч для додавання функціональності до внутрішньої підкоманди inspect: btrfs перевіряють внутрішній dump-csums цей дамп - для всіх блоків, зайнятих заданим файлом, - блок контрольних сум. Множина, якщо файл не вписується в один блок.


1
Будь ласка, посилайтесь на відповідь, яку ви цитуєте, та вкажіть її автора.
Скотт

для чого? Це НЕ відповідь на власне питання. Цитата швидше пояснює, чому технічно це неможливо через неправильні припущення під час постановки питання. Це не повторення відповіді.
Awe

1
Оскільки (1)  цитувати чужі слова без ідентифікації автора - це плагіат , і (2) якщо ви цитуєте чужі слова, не ідентифікуючи автора, ви не даєте читачеві ніякої можливості оцінити достовірність твердження.
Скотт


0

Я думаю, що це неможливо через CLI btrfs, але тут є вихідний код, який, я сподіваюся, може допомогти вам прочитати чехсу для одного блоку у файловій системі btrfs. Корінь потребує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.