Tar.gzファイルがあり、それをterminalを使って解凍したいのです。 tar tvzf ldtp_3.5.0.orig.tar.gz
とtar -xvzf ldtp_3.5.0.orig.tar.gz
というコマンドを使いました。ただし、両方のファイルで同じ結果が得られます。
tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
Fileコマンドの出力は、そのgzipファイルを示しています。
$ file ldtp_3.5.0.orig.tar.gz
ldtp_3.5.0.orig.tar.gz: gzip compressed data, from Unix
それを右クリック - >抽出を使って抽出することができますが、私は端末を使ってそれをしたいです。誰もがそれを行う方法を教えてもらえますか?
あなたが実際にそれを解凍することができるという事実と相まってあなたが見ているエラーを見ることはファイルが本物のTAR/Gzipアーカイブであると言うが、おそらく即時のTARはGzipの後に作られない。
つまり、これをWebサーバーからダウンロードした場合、コンテンツのダウンロードを高速化するために、Gzip圧縮がサーバーレベルでWebコンテンツに適用されることがあります。しかし、このようにすでに圧縮されているコンテンツを無視するようにサーバー上で正しく設定されていないと、誤ってGzipファイルを二重にする可能性があります。
それを念頭に置いて、何が起きるのかを確認するために、単にコマンドラインからGzipを解除するだけでよいのです。このようなコマンドを使用してください。
gzip -d ldtp_3.5.0.orig.tar.gz
そして、結果のファイルが何であるかを見てください。そのコマンドを実行した後、私は変な感じをします。ディレクトリにldtp_3.5.0.orig.tar
は表示されず、むしろソースのような名前のファイルldtp_3.5.0.orig.tar.gz
が表示されますが、おそらく変更が変更されたでしょうか?もしそうであれば、それは本当にダブルGzipされています。そのため、この時点で(最初のGzipの解凍後)、次のようにしてtar
コマンドを実行できます。
tar -xvzf ldtp_3.5.0.orig.tar.gz
そしてそれは今完全なTARアーカイブを適切に解凍するべきです。
この2ステップのプロセスに似た別の方法は、gzip
の出力を次のようにtar
にパイプ処理することです。
gzip -dc ldtp_3.5.0.orig.tar.gz | tar -xvzf -
コマンドの最後にあるc
内のgzip
と-
が重要です。
c
のgzip
オプションは、gzip
に標準出力ストリームへの解凍を指示します。tar
コマンドの最後にある-
は、「標準入力を使用する」という意味です。したがって、gzip
内の-c
と組み合わせると、パイプはgzip
からパイプされた標準出力ストリームをtar
内の標準入力に接続します。