tarはエラーを返しますが、「tar --no-ignore-command-error -xvzf file.tar.gz」を使用してもファイルを解凍します。

tarはエラーを返しますが、「tar --no-ignore-command-error -xvzf file.tar.gz」を使用してもファイルを解凍します。

file.tar.gzという破損したファイルがあり、このファイルの抽出に失敗したいと思います。使用しましたが、tar --no-ignore-command-error -xvzf file.tar.gzまだファイルを抽出してエラーを無視します。

[root@SmartSwitch zconf]# tar --no-ignore-command-error -xvzf a.tar.gz
gzip: crc error
gzip: error inflating
DBversion
License
textual_db.txt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

答え1

圧縮アーカイブを抽出すると、データを解凍するためにGNUがtar実行されます。gzip -dアーカイブがgzip正しく解凍できない方法で破損した場合、gzip質問に報告されたものと同様のエラーが発生します。

tar解凍されたデータを正常に読み取り、gzipそのデータを処理して終了します(表示されているように、圧縮されていないアーカイブの終わりが予期せず発生するとエラーが発生します)。

この--no-ignore-command-errorオプション(デフォルト設定)は主に--to-command=utilityこのオプションと一緒に使用されます。マニュアルによると--ignore-command-error特に環境変数の一部にする場合はさらにそうですTAR_OPTIONS

子プロセスに影響があるかどうかは--no-ignore-command-errorわかりません。--ignore-command-errorいいえパスを開始します--to-command=utility

関連情報