組み込みマシンのgunzip

組み込みマシンのgunzip

私は組み込みLinuxシステム(カーネルv3.10.31)でBusyBox 1.24.1を使用していますが、ファイルを解凍すると理解できない動作が発生します。 「既知の良い」ファイル(たとえば、同じシステム上でコマンドで作成したばかりのファイル)が提供されていても、コマンドは出力されずgunzip(常にそうではない)失敗します(エラーメッセージも表示されません)。実際に解凍できるファイルを見つけるのは難しいです。 「ユーレカ!」を感じた人はいますか?これを見て?.gzgzip

テキストファイルのどれかが原因で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進ダンプをインポートして比較することも役立ちます。

おすすめ記事