最近よく「脱獄アプリをdebファイルからインストールする時【dpkg: status database area is locked by another process】エラーが発生する」というご質問をいただくようになりました。
実はこのエラー、非常に簡単な部分が原因になっている物です。が、意外と気がつきにくい!
ということで、非常に簡単なのでサクッと解決方法についてご紹介。よく発生する問題ですので、覚えておきましょう!
発生するエラー
debファイルからインストールを行おうとすると、【dpkg: status database area is locked by another process】といったエラーが発生する場合があります。これはiFileだけに限らず、コマンドによるインストールでも同様に発生します。
このエラーが発生すると、インストール自体が失敗におわってしまうのです。
原因…
『Cydiaがバックグラウンドで動いたまま』が主な原因となっています。
実は【Cydia v1.1.14】より、Cydiaがマルチタスク対応していますので、一度Cydiaを起動すると、閉じても規定時間中はバックグラウンドで動作したまま…といった状態です。
安全面から、複数のプロセス・アプリから同時にデータベースなどへアクセスが出来ない様になっています。
そのため、裏でCydiaが動いたままだとそちらが優先され、debファイルのインストール作業が行えない…となり、先ほどのエラーが発生してしまうのです!
解決策
ということで、解決策も簡単。Cydiaを終了しましょう!
単純にホームボタンで閉じるだけではダメですので、アプリスイッチャーを開き、そこから上にスワイプして完全にCydiaを終了させてください。
終了さえしていれば、先ほどのエラーは発生しなくなります。
〆
最近は脱獄アプリのdebファイルをあらかじめ保存しておいて…なんて方も増えていますし、こういったインストール作業も多くなると思います。
そのため、このエラーを見かける事も多くなりますので、覚えておくと安心です!
Cydiaのマルチタスク対応は便利なのですが、こういった問題も出てきますのでご注意ください!
コメント
これ、よくなるんですよね…
W
コメント失礼します。
先日のVirtualHome iOS8のタップ速度を早くする記事ですが、iFileで変更した設定がRespeing後に戻ってしまうのですが、何がかんがえられるでしょうか(;_;)?
plistを書き換え後、他のアプリや動作を行わず速やかにリスプリングを行ってください。または、再起動を行ってみてください
VirtualHome iOS8 は入れてないので確認できないのですが、もし cfprefsd が保持してるせいだとしたら、書き換え後すぐに cfprefsd を殺せばいいかもしれません。
また cfprefsd のせいだとしたら、ハードルはかなり上がりますが、あらかじめ /Library/LaunchDaemons/com.apple.cfprefsd.xpc.daemon.plist を unload → plist書き換え → /Library/LaunchDaemons/com.apple.cfprefsd.xpc.daemon.plist を load すると万全です。
iFileを開いたままSSH接続してもこのエラー出るよね
時々やっちゃうわ