日記:バックアップは重要!! VMware: 翻訳魂 on FreeBSD 7.0-RELEASE-p12
10月 12

はじめに
 iPhone 3G(OS.3.1)をJailbreakし、CydiaのManageより
 Cydia/APT URLを追加したところ、以下のエラーが表示されるように
 なった。修正の仕方が判らないので調べてみた。
- 2009.10.26 修正:削除したURLが復活する。(参照:コメント欄)

IMG_0001.PNG

環境

  • iPhone OS 3.1.2
  • Cydia 1.0.3044-65

修正方法

  1. Cyda を終了する。
  2. /var/lib/cydia/metadata.plist を削除
  3. /var/cache/opt下のpkgcache.bin と、srcpkgcache.binを削除
    (不要かもしれない)
  4. /etc/apt/sources.list.d/cydia.list を削除 (*1)
  5. Cydia を起動
  6. Cydiaのmanageで(*1)で、必要なURLを追加する。
    以上で終わり(保証なし)

修正方法:NG

 iPhone上の以下のファイルを開き、追加し問題となったURL(*1)を削除し、Cydia又はiPhoneを再起動する。
(キャッシュがあるらしく、エラーが出る場合があるが、いずれ消える)

/etc/apt/sources.list.d/cydia.list

deb http://iphone.feelmy.com/ ./ ←(*1):この行を削除した。
deb http://cydia.hackulo.us/ ./
以上で、終わりです。

調べ方

 ググってみても明確な対処が見当たらない、英語も読めないし…(泣)
 っということで、Cydiaを調べる。
 多分、追加したURLはどこかにファイルとして保存してるハズなので、
 そのファイル名がベタで書かれてると勝手に検討したら、やはりそうでした。

  1. /Applications/Cydia.app にそれらしき、Cydia,Cydia_がある。

    1. Cydia の中身は、bashのスクリプトでCydia_を起動している。
    2. Cydia_は、バイナリです。(どうもこれらしい)
  2. Cydia_を、Mac OSX本体にコピーし、stringsでテキスト文字列を抜き出し、ファイル名を探す。
    $ scp <iphone のIPアドレス>:/Applications/Cydia.app/Cydia_ .
    $ strings Cydia_
    : (沢山出力するので、省略)
    /etc/apt/sources.list.d/cydia.list
    :
  3. 探したファイルを grep でURLが記載されてるか確認する。
    % grep 'iphone.feelmy.com' < 探したファイル>

     以上より、cydia.listが候補になり、対策してみました。

備考

  • 修正は、iPhoneに入れたエディタ vimで修正しました。



6 Responses to “iPhone: Cydia Error Refreshing Data の修正方法”

  1. ihey より:

    はじめまして。
    Cydia Error Refreshing Dataについて調べていたところ、こちらの
    webサイトに辿りつきました。
    修正方法通りにcydia.listの該当するURLを削除したところ、エラーは
    消えました。
    ところが新たにレポジトリを追加しようとすると、再びこのエラーが発生して
    しまいます。
    もし、解決策を御存知でしたら教えて頂けないでしょう?
    よろしくお願い致します。

  2. splwtr より:

    はじめまして。
    上述、写真の内容から説明すると「bzip2 returned an error code(2)」
    とあります。このエラーは圧縮ファイルの破損を意味します。

    配布元の対策が必要と思いますので、
    こちらからは何も出来ないと思います。
    (開発者に連絡する!が一番かもしれません)

    p.s.
    また、破損した圧縮ファイルを修復する方法はあるようですが、
    そんなチェックもCydiaの開発者に手を入れて頂くしかないと思います。

    対策されるまで、待つしかないのかもしれませんね!?

  3. ihey より:

    ありがとうございます。
    説明不足で申し訳ございません。
    該当するURLを削除すれば一端エラーは消えるのですが
    このレポではない別のレポを削除したり追加しようとした場合に
    再びこのエラーが発生します。
    cydia.listから消したはずのURLが再び形成されてしまいます。
    完全に消すことができずに困ってます。
    cydia.list以外にもURLの記録が残っているのでしょうか?

  4. splwtr より:

    こちらでも起きました。
    消したはずのURLが復活しますね。
    以下、調べた結果です。
    ー /var/lib/cydia/metadata.plist
     /etc/apt/sources.list.d/cydia.listの定義を削除しても上述のファイルに残ってました、新しくリポジトリを追加すると、こことマージされるようで、消したハズのリポジトリが復活するようです。あまり確認してませんが、回復させる手順は以下の通りです。(保証はしません)

    回復手順:(リポジトリの初期化という意味合い?)
    1. Cyda を終了する。
    2. /var/lib/cydia/metadata.plist を削除
    3. /var/cache/opt下のpkgcache.bin と、srcpkgcache.binを削除
     (不要かもしれない)
    4. /etc/apt/sources.list.d/cydia.list を削除 (*1)
    5. Cydia を起動
    6. Cydiaのmanageで(*1)で、必要なURLを追加する。

    以上です。
    リポジトリ管理とパッケージ管理は別々なようで、この手順は
    リポジトリ管理を初期化するような感じです。

    確認した環境:
    - iPhone OS 3.1.2
    - Cydia 1.0.3044-65

  5. ihey より:

    こんばんわ。
    非常に丁寧な解説で教えて頂き大変ありがとうございました。
    現在、エラーが発生することなく問題なく動作しております。
    本当にありがとうございました。

  6. splwtr より:

    良かったですね。
    手順としても正しければよいのですが、
    再度、念のため、後々問題が生じても知りませんので
    ご了承願います。

コメントをどうぞ

preload preload preload