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
。