Cатсн²² (in)sесuяitу / ChrisJohnRiley

Because we're damned if we do, and we're damned if we don't!

Fixing Cydia

At some point in the last 24 hours Saurik released a couple of updates to Mobilesubstrate through Cydia. Usually I try to keep updated with the latest and greatest (I’m a technology junkie) so I ran the upgrade will I grabbed my morning cup of tea (I’m also English after all). Normally after an upgrade you’ll see a prompt to restart springboard, however with this update the phone rebooted part way through the install. A worrying signal. After the reboot everything seemed to be fine, except Cydia refused to start fully. After showing the default Cydia screen fir a few seconds, Cydia would disappear.

After a couple of reboots to make sure the issue wasn’t going to solve itself, I had a quick look on Saurik’s twitterfeed but he had no mention of the issue. Several followers however were having the same issue. Time to find a solution.

I dropped to the terminal (although making an SSH connection would also have done the trick) and su’d to root. For those new to this the default password for root is alpine and if you’ve upgraded to version 3.0 this WILL have been reset. So change the root and mobile users passwords using ‘passwd’ before somebody else connects and does 😉 Anyway, I digress.

After getting root access it’s time to see what state the mobilesubstrate and cydia packages were in. After an ‘apt-get update’ (to get the updated package lists) and and ‘apt-get install cydia’ it looks like the package is corrupted, as I’m prompted to run the dpkg configure

dpkg –-configure -a

After this is completed, I reran the ‘apt-get install cydia’, and then an ‘apt-get upgrade’ to reinstall the failed mobilesubstrate and  in my case the new VoIP 3G app. After another reboot (type reboot at the prompt or whatever your preferred method is) things seem to be running fine again.

For those with short attention spans .:

  • Shell access (terminal or ssh)
  • Su to root
  • dpkg –-configure -a
  • apt-get update
  • apt-get install cydia (if this fails add –fix-missing)
  • apt-get upgrade (to install mobilesubstrate correctly)
  • reboot

I hope this solves your issues as easily as it did mine. Let me know if you have any issues.

Update: There are a few other guides going around telling you to connect the iphone to your system (or useiFile) and then delete specific files. I’ve not tested these fixes, but the chance of deleting files you need are always there. I’d suggest using the easy fix using apt-get before trying the file deletion route. However it’s a personal choice.

Update: As a few comments have noted, the nice people at wordpress reformed the –– into a single – when displaying the page. This should now be fixed using the magic trickery of HTML comments to split the two characters ;)–>

39 responses to “Fixing Cydia

  1. HackinDoc August 15, 2010 at 13:14

    Ok, for all you folks stuck without open ssh, or terminal installed, I was able to get cydia running by doing the following:
    1.Open up iFile and navigate to:
    2.Once in the updates folder, delete the files in it.
    3.Do NOT delete the updates folder
    Reboot your iphone and Cydia will start.

  2. HackinDoc August 15, 2010 at 13:51

    After getting Cydia up and running, I wanted to update it so that it won’t go kaput again, so I installed the apt 0.7 strict app from cydia
    (Get into Cydia > Manage > Settings > Tap on Hacker +, then go to search Apt 0.7 Strict), downloaded Mobile Terminal (never getting rid of that now, BTW and openSSH)

    I logged onto the mobile terminal and followed the instructions given above and I’m good as gold now!

  3. Younes September 14, 2010 at 19:34

    I tried every solution and none of them work. Finally, by deleting metadata.plist from /var/lib/cydia, cydia become stable again.
    hope this help someone.
    remember backup before deleting.

  4. Eric Falcon October 5, 2010 at 03:22

    Hi there, do you still need a wifi connection to do the procedures listed above?

  5. ChrisJohnRiley October 6, 2010 at 07:57

    You need some sort of data connection… either wifi or 3G/EDGE/GPRS data!

%d bloggers like this: