このガイドでは、Cydia 出力で時々発生する可能性のある次の厄介なエラーを削除する方法を説明します。
dpkg: 警告: ファイル '/var/lib/dpkg/status' を解析中…メンテナが見つかりません
これはCydiaでよく見られるメッセージで、インストール画面やアンインストール画面を乱雑にし、数十行もの冗長な出力行を追加してしまうことがあります。これは見苦しいだけでなく、インストール画面の表示が重くなり、より深刻なCydiaエラーのトラブルシューティングを困難にする可能性があります。ここでは、これらの無害でありながら冗長すぎるメッセージへの対処方法をご紹介します。
「メンテナーが見つかりません」というエラーとは何ですか?
メッセージ自体が示唆しているように、これらのエラーはCydiaパッケージで「Maintainer」フィールドが指定されていないために発生します。Maintainerはパッケージのアップデートとサポートの責任者であり、すべてのCydiaパッケージにバンドルされているファイル内の他のパッケージ詳細(バージョン番号、バンドルID、名前、依存関係など)の中に記載されるはずです。
Cydiaはインストール(アンインストール)時にこのファイルを解析し、パッケージの詳細をインターフェースに表示します。また、不足している依存関係があれば警告を発します。不足しているフィールドがある場合、たとえ今回のケースのように必須ではないフィールドであっても、エラーが表示されます。メンテナーを手動で指定することで、Cydiaの要求に応え、以下のエラー出力をなくすことができます。
1) まだインストールしていない場合は、 Cydia からFilza File Manager をインストールします。
2) Filzaを使って、エラーで指定されたファイルへ移動します。このファイル( status )には、すべてのCydiaパッケージの詳細が保存されており、新しいパッケージがインストールされたり、古いパッケージが削除されたりするたびに更新されます。移動先のファイルのパスは以下のとおりです。
/var/lib/dpkg/status
3) 「status」というファイルを選択すると 、Filzaはファイルをどのように表示するか尋ねてきます。 「テキストエディター」を選択すると、ファイルが開きます。
4) このファイルに誤って入力ミス、削除、追加を行わないように注意してください。そうしないと、Cydia で読み取れなくなる可能性があります。
ユーザーエラーが発生した場合に備えて、編集する前にファイルのバックアップを作成することを検討してください。
5) 次に、ファイル内を順に進み、 Maintainer フィールドが不足しているパッケージにMaintainer フィールドを追加します。パッケージの数によっては、この作業は面倒な場合があります。作業を始める前に、Cydia の出力を参照して、問題のあるパッケージ/リポジトリをメモしておくと、作業をスピードアップできます。メンテナーが不足しているパッケージ/リポジトリがわかっている場合は、 以下のように検索 機能を使ってそのパッケージ/リポジトリにジャンプできます。
この例では、以前FBHideStoriesSwipeLeftパッケージに関連するCydiaエラーに気づいたので、 「Facebook」という単語を検索します 。パッケージ情報にジャンプし、左側の画像にMaintainerフィールドがないことを確認します。タップしてドキュメントを編集し、次の行に次のテキストを追加します。
Maintainer: CydiaGeek
例として右側の画像をご覧ください。Cydiaによってドキュメント内のフィールドが検出できれば、メンテナーとして誰が記載されているかは関係ありません。ここではパッケージ作成者の名前を使用しました。編集中に余分な改行を入れないようにし、次のパッケージの詳細の前に空行を残すようにしてください。
6) メンテナーがいないパッケージごとにこの手順を繰り返します。完了したら、 画面右上の「保存」 をタップし、 「完了」をタップしてファイルを終了します。
7) アプリスイッチャーからCydiaを終了し、再度開いて 「更新」を押します。 再読み込みが完了したら、パッケージのインストール、アンインストール、または再インストールを試してください。「メンテナーが見つかりません」エラーや、不適切な編集によって発生した可能性のある関連エラーにも注意してください。よくあるエラーは、「メンテナーが複数存在します」エラーです。これは、既にメンテナーがリストされているパッケージにメンテナーを追加した場合に発生します。また、「ドキュメントの末尾に改行を入れ忘れています」エラーも発生し ます 。
8) 数回実行すれば、最初に見逃したパッケージのファイルを編集し、上記の手順7で述べたエラーを修正できるようになります。/dpkg/status/ やメンテナーエラーが表示されずにパッケージをインストールできるようになったら、完了です。ステータスファイルを編集するたびに、Cydiaを終了して再起動することを忘れないでください。
9) 完了したら、 手順 4 で作成したステータス ファイルのバックアップを削除してもかまいません。編集中にステータス ファイルを完全に破損してしまった場合は、バックアップに戻してやり直してください。
これで完了です。パッケージをインストールすると、以下に示すように、きれいな出力画面が表示されるはずです。
残念ながらこれはパッケージ自体の問題であるため、お持ちのデバイスごとに個別に実行する必要があります。恒久的な修正には、パッケージの作成者がリポジトリの詳細を更新する必要があります。
しかし、私が見つけた良い回避策は、ステータスファイルへの変更を 一度だけ行い、その後 redebを使って問題のあるパッケージの.debファイルをバックアップする ことです。作成されたファイルには変更内容が保存されています。その後、リポジトリにあるメンテナのいないパッケージではなく、保存したこれらの .deb ファイルを他のデバイスにインストールできます。これにより、調整を再インストールするたびに、すべてのデバイスでステータスファイルを編集する必要がなくなります。
これまでにも、メンテナーが見つからないというエラーメッセージが大量に表示されたことはありませんか?他に解決に困っているCydiaエラーに遭遇したことはありますか?コメント欄か[email protected]までお知らせください。