В последнем PwnageTool встроенная версия Cydia то ли косячная, то ли просто где-то что-то не так упаковали.
И так, при проблемах с Cydia первым делом ее надо обновить (или переустановить, если дальше обновлять некуда).
Но что делать, если Cydia не запускается или просто вылетает?
Достаточно только вспомнить, что Cydia - всего лишь графический интерфейс к мощной системе управления пакетами APT.
Доберитесь до консоли любым удобным для вас способом (MobileTerminal, SSH). Естественно надо работать с правами root.
Работаем с утилитами APT
Теперь рассмотрим функциональные воможности APT. Самая часто используемая - это apt-get, и она используется для установки, удаления, обновления и прочих издевательств над deb пакетами.
apt-get update обновляет список пакетов. При этом могут возникать ошибки, в основном связанные с сетью. Если у вас не обновляются все репозитории, попробуйте попинговать например гугл (ping google), если ответа нет - сеть не работает. Ошибки вида «NetDB: xxx nodename nor servname provided, or not known» означают проблему либо опять же с сетью (которую вы уже проверили), либо с сервером репозитория. В этом случае сделать ничего нельзя, придется подождать и попробовать позже.
apt-get install xxx устанавливает пакет «xxx». При этом имя пакета - это не отображаемое название, а уникальный идентификатор (это касается только графических програм, консольные называются как всегда). Как определить имя пакета, я вам сообщу позже, а пока посмотрим, что можно узнать из вывода install. Во-первых, сколько пакетов надо установить по зависимостям, сколько призется скачать и сколько займет результат на диске. Кроме того вы можете воспользоватся ключом –reinstall для переустановки уже установленного пакета (например apt-get install –reinstall apt).
apt-get remove xxx - обратная операция, удаляет пакет. Помимо самого пакета может поубивать все пакеты, которые без него не работают. В remove всторена достаточно высокая степень защиты от дурака, так попытка удалить libxml2 приводит к такому выводу:
# apt-get remove libxml2 Reading package lists... Done Building dependency tree... Done The following packages will be REMOVED: com.sysprosoft.gfxmonk.gris iphone-python libxml2 pyobjc python setuptools uicaboodle.py WARNING: The following essential packages will be removed. This should NOT be done unless you know exactly what you are doing! libxml2 0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded. Need to get 0B of archives. After unpacking 51.2MB disk space will be freed. You are about to do something potentially harmful. To continue type in the phrase 'Yes, do as I say!' ?]
apt-get upgrade обновит вашу систему установив самые новые пакеты для всего что есть в наличии. Собственно больше даже и сказать нечего, настолько простая команда.
Теперь перейдем к apt-cache.
apt-cache search xxx выполняет поиск пакета. При этом в качестве «xxx» может выступать регулярное выражение, но если вы не знаете что это такое - просто пользуйтесь поиском строки. Ищет как в названии, так и описании пакета.
Работаем с dpkg
Иногда приходится опускатся на самый низкий уровень - dpkg.
dpkg -i xxx устанавливает deb пакеты вручную (вот кстати способ установить то, что вы не можете скачать с ифона или если вам просто жалко трафика)
dpkg -r xxx удаляет пакеты. Тут надо опять же указывать не имя пакета, а идентификатор. Куда более опасно чем удалять через apt-get, т.к. ничего не спрашивает. «Вы знаете, что вы делаете» ©
dpkg -s xxx выдает информацию по пакету
dpkg -L xxx показывает какие файлы входят в пакет
dpkg -S xxx - обратная операция: показывает в какой пакет входит файл xxx. При этом «ххх» может быть как полным путем к файлу, так и частичным, или просто именем.
dpkg -l показывет все установленные пакеты, вместе с их версией и описанием
Решение проблем
Первое что хочется сказать: НЕ ПАНИКУЙ!
При проблемах с cydia для начала надо попробовать обновить ее (apt-get update && apt-get install cydia) и apt (apt-get install apt), либо просто обновить все (apt-get update && apt-get upgrade).
Если версия последняя - попробуйте переустановить (apt-get install –reinstall cydia).
Пока что это помогало во всех ситуациях.