セクション「ヘッダー」より
オフセット | サイズ | 内容 |
---|---|---|
0 | 100 | ファイル名 |
100 | 8 | ファイルモード |
108 | 8 | 所有者 User ID |
116 | 8 | グループ User ID |
124 | 12 | ファイルサイズ(Byte) |
136 | 12 | 最終更新時刻(UNIX時間) |
148 | 8 | チェックサム |
156 | 1 | リンクインジケーター(通常ファイル、ハードリンク、シンボリックリンク) |
157 | 100 | リンクされたファイルの名前 |
チェックサムがあるということは verify できるのだろうか
$ yes | head --bytes 1024 > yyyyyyyy $ tar cvf yyyyyyyy.tar yyyyyyyy $ binview yyyyyyyy.tar
バイナリエディターで、yyyyyyyy.tar 中の無数の y
の一つを z
にする
$ tar tvf yyyyyyyy.tar -rw-rw-rw- 0 0 0 1024 3 04 17:00 yyyyyyyy $
BSD tar も GNU tar も特にエラー出ず。何の為のチェックサムだ。照合用のオプション等ないのだろうか?
なお、GNU tar で --diff オプションを指定して、ファイルシステム上のファイルと比較すると、さすがに見つかる。
$ ~/scoop/shims/tar.exe dvf yyyyyyyy.tar yyyyyyyy yyyyyyyy: Mode differs yyyyyyyy: Uid differs yyyyyyyy: Gid differs yyyyyyyy: Mod time differs yyyyyyyy: Contents differ
一方、zip の場合はちゃんとチェックサムを見ているようだ。
$ unzip -t corrupt .zip Archive: corrupt .zip testing: zerozero bad CRC 8e31045b (should be efb5af2e) At least one error was detected in corrupt .zip.