私は組み込みLinuxシステム(カーネルv3.10.31)でBusyBox 1.24.1を使用していますが、ファイルを解凍すると理解できない動作が発生します。 「既知の良い」ファイル(たとえば、同じシステム上でコマンドで作成したばかりのファイル)が提供されていても、コマンドは出力されずgunzip
(常にそうではない)失敗します(エラーメッセージも表示されません)。実際に解凍できるファイルを見つけるのは難しいです。 「ユーレカ!」を感じた人はいますか?これを見て?.gz
gzip
テキストファイルのどれかが原因でgunzip
コマンドが失敗するようですが、何がわかりません。以下を参照してください。
# ls -l
-rw------- 1 root root 65 Sep 13 10:02 cantunzip
-rw------- 1 root root 64 Sep 13 10:01 canunzip
more cantunzip
fsdgafjklsdfasdsdjfhjafasdohfkl asdfas a fsd a
2132313 12 51515
# more canunzip
fsdgafjklsdfasdsdjfhjafasdohfkl asdfas a fsd a
2132313 12 51515
# hexdump cantunzip
0000000 7366 6764 6661 6b6a 736c 6664 7361 7364
0000010 6a64 6866 616a 6166 6473 686f 6b66 206c
0000020 7361 6664 7361 6120 6620 6473 6120 0a0a
0000030 3132 3233 3133 2033 3231 3520 3531 3531
0000040 000a
0000041
# hexdump canunzip
0000000 7366 6764 6661 6b6a 736c 6664 7361 7364
0000010 6a64 6866 616a 6166 6473 686f 6b66 206c
0000020 7361 6664 7361 6120 6620 6473 6120 320a
0000030 3331 3332 3331 3120 2032 3135 3135 0a35
0000040
# gzip canunzip
# gzip cantunzip
# ls -l
-rw------- 1 root root 77 Sep 13 10:04 cantunzip.gz
-rw------- 1 root root 77 Sep 13 10:03 canunzip.gz
# gunzip canunzip.gz
# echo $?
0
# gunzip cantunzip.gz
# echo $?
1
# ls -l
-rw------- 1 root root 77 Sep 13 10:04 cantunzip.gz
-rw------- 1 root root 64 Sep 13 10:04 canunzip
ベストアンサー1
gunzipコマンドを使用すると、解凍失敗のエラーコードを確認できます。
echo $?
これにより、失敗に関する手がかりを得ることができます。
両方のファイルの16進ダンプをインポートして比較することも役立ちます。