新米エンジニアの失敗再発防止メモ

自分そしてこの世界の皆が、同じ失敗をしないためのメモ

Twitterやってます!@rakuton_t
欲しいものリストのブタメンを送ってくれた方、ありがとうございます!

【Linux】unzipコマンドが失敗するときはおそらくwgetで失敗している「unzip: cannot find zipfile directory in one of ...」

unzipコマンドが失敗する理由はおそらくwgetで失敗しているであろう理由とその対処方法を解説します。

現象

$ unzip -o ファイル名

Archive:  artforce21_design.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of ファイル名 or
        ファイル名, and cannot find ファイル名, period.

直接的な原因

対象のファイルが、zipファイルと認識されていません。
ファイルが壊れている可能性が高いです。

zipファイルが壊れている原因

zipファイルを外部からwgetで取得している場合ですが、wgetで失敗している可能性が高いです。
wgetコマンドをした時、このようなメッセージが出ていませんでしたでしょうか。

Cannot write to ‘ファイル名’ (Success).

これは例えば、空き容量が足りない時などに発生することがあります。
そもそもファイルの全てがダウンロードできていないというね。
wgetコマンド時、100%取得できていない

AWSのEC2を無料の範囲内で使っていたりするとこうなることがありますね。

私の記事が役に立ったら、どうぞ何か買ってください!→ Amazon欲しいものリスト