私の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) マルチコール バイナリ
答え1
tarファイルが破損しているか切り捨てられているようです。
これtarファイルヘッダsize
ファイルの長さを含むフィールドを含みます。実際のファイルがヘッダーで指定されたものより短い場合、tar はファイルのファイルシステムの末尾を読み取ろうとし、予想より短い読み取りを返すことによって表示されるメッセージを生成します。
1この機能は、tarが主にテープの保管に使用されていた頃にさかのぼり、テープからEOFマークが表示されるまで読んで「ファイル」の長さだけを知ることができました。これは以前のバージョンとの互換性のために維持され、ヘッダーとファイルの一貫性の良い(やや安い)チェックを提供します。
答え2
このメッセージは通常、tar アーカイブが不完全な場合に表示されます。実行すると、tar tvf ./VM_DECOMPTEST.tar
tarファイルに矛盾があるかどうかを確認します。
答え3
これは実行中のtarバージョンによるものである可能性があり、特にGNU 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で修正されました。