Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

「中央ディレクトリ終端署名が見つかりません」エラーの原因と解決方法

圧縮ファイルは現代のデジタルライフにおいて欠かせない存在となっています。ファイルサイズが日々大きくなる中、データを効率的に保存・転送するために圧縮技術を活用する人はますます増えています。しかし、圧縮ファイルを解凍しようとした際に、「End-of-central-directory signature not found(中央ディレクトリ終端署名が見つかりません)」というエラーメッセージが表示され、困っているユーザーも少なくありません。このエラーは、unzipコマンドなどでファイルを展開しようとしたときに発生します。

エラーが発生する主な原因

このエラーメッセージの原因は比較的わかりやすいものです。最も一般的なのは、ダウンロードしたファイルが不完全であるか、ダウンロード中に何らかのエラーが発生したケースです。ただし、それだけが原因ではありません。以下に、考えられる主な原因を詳しく解説します。

  • ファイルの破損 — このエラーが表示される最大の要因は、破損したファイルを解凍しようとすることです。ダウンロードが途中で中断されたり、正常に完了しなかったりすると、ファイルが壊れてしまうことがあります。この場合は、問題のあるファイルを削除して、再度ダウンロードするのが最も確実な対策です。
  • 不適切なユーティリティの使用 — unzipコマンドは、.gz(gunzip)形式など、対応していない圧縮形式のファイルには使用できません。対応外の形式にunzipを使うと、このエラーが発生する可能性が高くなります。.gzファイルの場合は、専用のgunzipコマンドを使用しましょう。
  • 分割アーカイブ — ファイルが複数のパートに分割されている場合も、このエラーの原因となります。分割されたアーカイブを正しく解凍するには、すべてのパートが揃っている必要があります。その場合は、まずファイル同士を結合してから解凍してください。

原因がわかったところで、次に具体的な解決方法を見ていきましょう。

方法1:別の解凍ツールを使う

unzipコマンドは、圧縮ファイルの末尾にある「中央ディレクトリ終端」を示すコードを探して動作します。そのコードが見つからない場合、このエラーが表示され、ファイルを解凍できません。しかし、末尾のコードを厳密にチェックしない他のツールを使えば、問題のファイルでも解凍できることがあります。

7-Zip(p7zip)を使う

まず試したいのが、無料で利用できる7-Zip(p7zip)です。導入手順は以下の通りです。

  1. まず、お使いの環境に7-Zipをインストールします。
  2. Macをお使いの場合は、Homebrewでインストールできます。ターミナルで次のコマンドを実行してください:
    brew install p7zip
  3. Ubuntuをお使いの場合は、次のコマンドを使用します:
    sudo apt install p7zip-full
  4. Windowsの場合は、公式サイトからインストーラーをダウンロードしてインストールしてください。
  5. インストールが完了したら、次のコマンドでファイルを展開します:
    7z x filename.zip
  6. これでエラーが解消されるか確認してみてください。

fastjar / ditto を使う

同じ問題に直面した他のユーザーの報告によると、Javaベースのアーカイブツール「fastjar」でも解凍できることがあります。また、Macユーザーなら、macOS標準搭載の「ditto」コマンドを利用することも可能です。

  1. Ubuntuにfastjarをインストールするには、ターミナルで次のコマンドを実行します:
    sudo apt install fastjar
  2. Windowsの場合は、SourceForgeからfastjarをダウンロードし、ツールが配置されているディレクトリへ移動してください。
  3. インストール後、次のコマンドでファイルを解凍します:
    jar xvf filename.zip
  4. Macユーザーは、代わりにdittoコマンドを使用します:
    ditto -xk YourZipfile.zip ./
  5. ここで「./」は現在のディレクトリを意味します。つまり、ファイルは作業中のディレクトリに展開されます。

注意点

.gzファイルに対してunzipコマンドを使用すると、今回のようなエラーが発生することがよくあります。特にUbuntu環境では.gz形式の圧縮ファイルが多いため注意が必要です。.gzファイルを解凍する場合は、gunzipコマンドまたはtarコマンドを使用してください。

方法2:ファイルを再ダウンロードする

「中央ディレクトリ終端署名が見つかりません」エラーは、多くの場合、ファイルが正しくダウンロードされていないか、ダウンロード中に破損していることが原因です。ファイルが壊れていると、unzipコマンドがファイルを正しく読み取れず、エラーが発生します。上記の方法で解決しない場合は、問題のファイルを再度ダウンロードしてみてください。完全な状態でダウンロードできれば、エラーなく解凍できるはずです。

  1. Xinput1_3.dllが見つからないエラーを解決する方法【Windows 10対応】

    PCでゲームをプレイしているときやアプリケーションを実行した際に、「Xinput1_3.dllが見つかりません」というエラーメッセージが表示されてお困りではありませんか?この記事では、Windows 10で発生するxinput1_3.dllが見つからないエラーの解決方法について詳しく解説します。 XInputは、アプリケーションがXbox 360コントローラーからの入力を受け取るためのAPIです。そのため、ゲームをプレイする際にxinput1_3.dllが見つからないと、エラーが表示されます。このエラーを解決する最も効果的な方法は、DirectXを再インストールするか、Microsoftの公式

  2. Bugsplat.dll が見つからないエラーの原因と解決方法を徹底解説

    BUGSPLAT.DLL は、Windows オペレーティングシステムにおける重要なシステムファイルの一つです。Windows で利用される一連のドライバー関数やプロシージャを含んでおり、このファイルが欠落すると、関連するソフトウェアの動作に深刻な支障をきたす可能性があります。 Bugsplat.dll が見つからないエラーを解決する最良の方法 1. エラーについて 「bugsplat.dll was not found(bugsplat.dll が見つかりません)」「bugsplat.dll could not be located(bugsplat.dll を特定できません)」「Canno