問題 :名前でgzip圧縮されたファイルのように見えるファイルMyFile.tar.gzを解凍しようとしました。しかし、解凍中に「gzip形式ではないgzipstdin」というエラーが発生しました。これは次のとおりです。
$tar xvzf MyFile.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors
エラーは、ファイルがgZip形式ではないことを示しています。では、どのフォーマットになっていますか?調べるために、「file」コマンドを実行しました:
file MyFile.tar.gz
MyFile.tar.gz: POSIX tar archive (GNU)
理由 :エラーの理由は非常に明白です。このファイルはgzip圧縮されたファイルではなく、POSIXtarアーカイブファイルです。つまり、zip形式ではなく、tarを使用して圧縮されたということです。後で名前が変わっただけだと思います。
おそらく、ファイルの作成者はディレクトリをgzipで圧縮したいと思っていましたが、最初にtarを使用してディレクトリをアーカイブする必要があるため、それができませんでした。混乱している? tarとzipの違いについては、この記事を読むことをお勧めします。
解決策 :gzipで圧縮されたファイルではなかったため、単純なtarでファイルを抽出できます:
tar xvf MyFile.tar.gz
これが私がこの問題を修正した方法です。ファイルに対してfileコマンドを実行して、アーカイブファイルの種類を確認することをお勧めします。
ファイルもPOSIXtarアーカイブ形式の場合は、上記の例で使用したのと同じコマンドを使用できます。
他のアーカイブ形式の場合は、適切なコマンドを実行してアーカイブファイルを抽出する必要があります。その特定の種類のアーカイブファイルを抽出する方法について、インターネットで少し検索する必要があります。 Linuxコマンドの経験が少しでもあれば、難しい作業ではありません。
お役に立てば幸いです。乾杯:)