tar
を解凍するとエラーが発生します。
私はこれをします:
tar xvf VM_DECOMPTES.tar
しばらくすると、次のエラーが発生します。
tar: short read
ここで何が問題になっていますか?
tar:認識されないオプション `--version 'BusyBox v1.9.1-VMware-visor-klnext-2965(2010-04-19 12:53:48 PDT)マルチコールバイナリ
Tarfileが破損しているか、切り捨てられているようです。
tarfileのヘッダー には、ファイルの長さを含むsize
フィールドが含まれています。¹実際のファイルがヘッダーよりも短い場合、tarは過去のファイルを読み込もうとしますファイルシステムのファイルの終わりになり、予想よりも短い読み取りが返されるため、表示されるメッセージが生成されます。
¹この機能は、tarが主にテープアーカイビングに使用されたときまで遡り、テープ上のEOFマーカーに到達するまで読み取ることによって「ファイル」の長さを知ることしかできませんでした。下位互換性があり、ヘッダーとファイルの整合性に対するニースチェック(少々安い場合)も提供します。
通常、このメッセージは、tarアーカイブが不完全な場合に表示されます。 tar tvf ./VM_DECOMPTEST.tar
を実行すると、tarファイルに不整合がないかチェックされます。
これは、特にGNU tarでこの問題を再現できない場合に、実行しているtarのバージョンが原因である可能性があります。
次のコマンドのようなものを実行することにより、プラットフォーム用の新しいバージョンのbusyboxを構築できます。
$ wget https://busybox.net/downloads/busybox-1.31.0.tar.bz2
$ tar xjf busybox-1.31.0.tar.bz2
$ cd busybox-1.31.0
$ LDFLAGS=--static make -j16 # if applicable: CROSS_COMPILE=...-linux-gnu-
特に、busybox v1.22.1(おそらく他のバージョンも)での展開には、v1.31.0で修正されたある種のバグがあるようです。