Btrfs menghitung checksum crc32c untuk setiap file. Apakah ada cara saya bisa melihat checksum apa yang disimpan (bukan hanya membaca file dan menghitung ulang)?
Btrfs menghitung checksum crc32c untuk setiap file. Apakah ada cara saya bisa melihat checksum apa yang disimpan (bukan hanya membaca file dan menghitung ulang)?
Jawaban:
Btrfs menghitung checksum crc32c untuk setiap file.
Ini tidak benar. Kedua sistem file checksumming sumber terbuka (ZFS dan BTRFS) menghitung checksum untuk setiap blok logis (sumber yang tidak disebutkan namanya yang digunakan Awe benar). Ini adalah checksum dari data pada disk.
Jika sistem file memiliki kompresi diaktifkan (pengaturan yang semakin umum), checksum ini adalah data setelah kompresi. Ini berarti bahwa, bahkan jika file tersebut cocok dengan satu blok logis, dimungkinkan (dan semakin mungkin) bahwa data checksum sistem file tidak akan berguna bagi Anda.
Jika Anda memerlukan file checksum, cara terbaik untuk mendapatkannya adalah dengan menghitungnya.
Dari jawaban serupa di superuser:
Saya tidak percaya adalah mungkin untuk mengekstrak checksum level blok dari sistem file ZFS, tetapi karena checksum berada di level blok, bukan level file, mungkin tidak akan membantu Anda.
Berarti. Checksum tidak dibuat per file oleh btrfs. Disebutkan @superuser ada tambalan untuk menambahkan fungsionalitas ke sub-perintah internal-inspeksi: btrfs-internal-memeriksa dump-csums dump ini - untuk semua blok yang ditempati oleh file yang diberikan - blok checksum. Jamak, kecuali file tersebut cocok menjadi satu blok.
Saya pikir ini tidak mungkin melalui btrfs CLI, tetapi di sini ada kode sumber yang, saya harap, dapat membantu Anda membaca chechsum untuk satu blok dalam sistem file btrfs. Membutuhkan root.