
コマンドを実行します:
tar -cf myArchive.tar myDirectory/
gzip myArchive.tar
次に、信頼性の低い媒体を介してファイルをコピーし、後で次のコマンドを使用して解凍します。
tar -xzf myArchive.tar.gz
tar ボールを圧縮したという事実によって、何らかの形で整合性が保証されるのでしょうか、あるいは少なくとも解凍されたコンテンツの CRC が保証されるのでしょうか?
答え1
tar
それ自体は、後で比較するためのチェックサムを記録しません。アーカイブの場合は、gzip
そのtar
機能を利用できます。
tar
を使用しますcompress
。-Z
アーカイブの作成時にフラグを使用すると、アーカイブの読み取りまたは書き込み時にプログラムtar
が使用されます。manページから:compress
gzip
標準圧縮するフォーマットは一貫性チェックを可能にするように設計されていません。
ただし、-z
パラメータを使用できます。その後、tar
を介してアーカイブを読み書きしますgzip
。CRCgzip
チェックサムを書き込みます。そのチェックサムを表示するには、次のコマンドを使用します。
$ gzip -lv archive.tar.gz
method crc date time compressed uncompressed ratio uncompressed_name
defla 3f641c33 Sep 25 14:01 24270 122880 80.3% archive.tar
マンページからgzip
:
最初の2つの形式(gzipまたはzipは)、gunzip は 32 ビットの CRC をチェックします。
答え2
はいgzip ファイル形式アーカイブが破損しているかどうかを検出するために使用できる CRC-32 チェックサムが含まれています。
もちろん、チェックサムはgzip教えてアーカイブが破損していることはわかりますが、アーカイブ内のデータを回復するのに役立つことはありません。したがって、これは主に、Web からダウンロードしたアーカイブが実際に正しくダウンロードされたかどうかを確認する場合などに便利です。
信頼性の低いメディアでアーカイブを保存または送信することに不安がある場合は、次のようなアーカイブ形式の使用を検討してください。パー実際に提供するエラー訂正エラー検出に加えて、このような形式の欠点は、エラー訂正に必要な冗長性によって必然的にファイル サイズがいくらか増加することです。
答え3
tar
整合性チェックはありません。例:
$ echo JJJJJJJJJJJJJJJJJJ > b
$ tar cvf a.tar b
$ sed -i s/JJJJJJJJJJJJJJJJJJ/tttttttttttttttttt/g a.tar
$ tar xvf a.tar
$ cat b
tttttttttttttttttt
アーカイブの内容がa.tar
変更されたため、ファイルのb
内容が完全に異なりますが、tar はこれを認識しませんでした。これは、両方の tar 形式の tar-1.28 (最新) を含むすべての tar に当てはまります--format=gnu --format=posix
。pax
コマンド (代替 tar リーダー)pax -r < a.tar
もアーカイブの変更を認識しません。
答え4
PKZip パッケージ (win/dos) には、破損したアーカイブからファイルを回復できる PKZipFix というプログラムが付属しています。私は以前このユーティリティを使用したことがありますが、このユーティリティは、解凍できないほど中程度に破損したアーカイブからファイルを回復できます。