Cydia не работают твики

Решение проблем с пустыми репозиториями Cydia после джейлбрейка

Минувшей ночью у нас на почте собралась приличная коллекция похожих вопросов: счастливые пользователи сделали себе джейлбрейк с помощью Absinthe или seas0npass, но радость продолжалась недолго. При попытке что-либо установить из Cydia ничего не получалось, потому что большинство нужных пакетов и твиков просто не находились через поиск. Более того, многие стандартные репозитории Cydia (например, BigBoss или Modmyi) изначально были пусты.

Напомним несколько простых советов по борьбе с такой напастью.

Если у вас опустели репозитории в Cydia, нет смысла нажимать на кнопку Reload на главной странице, с большой долей вероятности она вам не поможет. Нужно перейти на вкладку Changes и нажать там кнопку Refresh.

В том случае, если и это не поможет, подключите устройство к компьютеру, запустите любой файловый менеджер (например, iExplorer), зайдите на своём гаджете в папку /var/lib/apt/lists/ и удалите всё, кроме папки partial. После этого перезагрузите устройство.

Если похожие проблемы с невозможностью найти или установить что-либо настигли вас на Apple TV, нужно узнать IP-адрес приставки (меню Настройки-Основные-Сеть), затем запустить Терминал и ввести там следующие команды:

[php]ssh root@10.0.1.5
yes
alpine
killall -9 apt-get aptitude
rm -f /var/lib/apt/lists/lock
apt-get -y update[/php]

10.0.1.5 замените на IP-адрес Apple TV. После ввода всех команд потребуется перезагрузка приставки.

Источник

Cydia не работают твики

Только для девайсов с jailbreak-ом!
Инструкции по получению джейлбрейка для своей iOS смотрите в этом разделе:
[FAQ] Путеводитель по инструкциям для получения джейлбрейка

Для решения некоторых проблем вам могут понадобится:

ˇЗаходите в Режим Safe Mode (безопасный режим), после чего идете в Cydia и удаляете проблемный твик.

— Идете по пути /Library/MobileSubstrate/DynamicLibraries ˇ
— По очереди переименовываете твики ( НАЗВАНИЕ_ТВИКА.dylib переименовываем, например, в НАЗВАНИЕ_ТВИКА.disabled ) и перезагружаете девайс.
Т.е. переименовали один твик, перезагрузились. Переименовали следующий, перезагрузились.
Таким образом, вы найдете твик, из-за которого произошел сбой работы системы.
Обнаружив проблемную программу, вы сможете удалить ее через Cydia

ˇ
Как видите у меня есть репозиторий с названием «vk.com», а добавился он таким образом из-за того что ссылка была скопирована с социальной сети Вконтакте. И так приступим к удалению данного репозитория:

Для этого на понадобится:
— iFile или Filza File Manager (если редактируем на устройстве);
— iFunBox [PC] или iTools [РС] (если редактируем на ПК)

Через текстовый редактор открываем файл /User/Library/Caches/com.saurik.Cydia/ sources.list
(в старых версиях Cydia /var/lib/cydia/ metadata.plist

( если используете iFunBox [PC] или iTools [РС] , файлы сначала скачиваем на компьютер и открываем через программу plist Editor Pro [PC] . После редактирования закидываем файлы обратно на девайс )
Находим строки связанные с «ненужным репозиторием» и удаляем их.

Т.е. удаляем строчки с » deb. » по » «.
Нажимаем сохранить. Перезапускаем Cydia и все — репозиторий удален.

Внимание! В новых версиях Cydia необходимо редактировать файл com.saurik.Cydia.plist , который находится в директории /User/Library/Preferences .
Если у вас не хватает навыков редактирования plist-файлов, просто удалите этот файл com.saurik.Cydia.plist и перезапустите Cydia (а лучше перезагрузите устройство). Но в данном случае загрузятся только стандартные репозитории, все пользовательские (включая неудаляемый ранее) удалятся.

  • Для Uncover iOS 12 после удаления нужной строчки зайдите в приложение Uncover
  • Далее в Настройки и поставьте ползунок на «Reset Cydia Cashe”
  • После вернитесь на главную вкладку
  • Сделайте “Re-Jailbreak”. Иначе репозиторий ссылкой так и останется висеть, даже после редактирования .plist

В некоторые репозитории Cydia встроена реклама. Реклама эта в виде javascript-a и перенаправляет пользователя с Cydia в AppStore.
Говоря простым языком, бегаем мы по репозиториям Cydia, смотрим различные приложения, а потом бац! и нас выкидывает в AppStore, где предлагают установить на девайс какую-нибудь ненужную программулину.

Вернемся к скриншоту.
В окошке у пользователя Cydia спрашивает, что делать с такими редиректами — открывать AppStore или нет. Если мы хотим, чтобы Cydia нас перенаправляла, значит нужно нажать «Allow». Если мы хотим отказаться от перенаправлений — жмем «Отмена».
Рекомендую нажать именно «Отмена», а также ознакомиться с темой [FAQ] Как убрать рекламу — в ней полностью раскрыт вопрос о рекламе на девайсе (в том числе и Cydia)!

1. Заходим в /var/lib/dpkg/
2. Открываем status через текстовый редактор.
Ищем тот твик, из-за которого произошла ошибка.
Удаляем полностью блок, содержащий в себе данные об установленном пакете.
Пример с пакетом OpenSSH: (вы, соответственно, ищете тот, из-за которого произошла ошибка)

3. Перезапускаем Cydia (а лучше перезагрузить устройство)
4. Если после этого Сидия не заработала, делаем тоже самое с файлом available ( /var/lib/dpkg/ )

Допустим, у нас вылезла ошибка:

По первому способу:
Переустанавливаем deb-пакет программы bossios8 (com.macciti.bossios8.deb)

По второму способу:
Редактируем /var/lib/dpkg/ status

По третьему способу:
Вводим в командной строке:

ˇ
Ошибка вызвана тем, что Cydia не может обнаружить deb файл, т.к. он не скачался полностью из репозитория. Поэтому вариантов решения проблемы два:

  • Открываем Cydia и идем во вкладку Sections (Источники) и жмем кнопку Refresh (Обновить), после чего пробуем установить программу (ранее из-за которой была вызвана ошибка) заново. Если ошибка и в этот раз не пропадет, нужно немного подождать, скорее всего, репозиторий перегружен из-за большого наплыва пользователей.
  • Вариант для более продвинутых. Устанавливаем необходимые файлы вручную.
    Скачиваем на 4PDA или любом сайте программу, из-за которой была вызвана ошибка, в формате deb и устанавливаем одним из следующих способов [FAQ] Установка *.deb и *.app
    Примечание: Если вы устанавливали, скажем, программу Activator а ошибка вылезла, допустим, об осутствующем файле com.saurik.substrate.safemode, это означает, что вам необходимо помимо самого твика (Activator) скачать и зависимости к нему. В данном случае это com.saurik.substrate.safemode
Читайте также:  Не работает безопасное отключение флешки

ˇ
Установщик не может записать информацию на диск. Скорее всего, на девайсе просто недостаточно дискового пространства (в систем разделе или в пользовательском, или и то, и другое).
Что делать?
1. Нужно посмотреть сколько места осталось (в Cydia «жмем на вкладку Cydia — Хранилище — Хранилище» или через сторонние программы, (например, через Disk Pie), и если его действительно нет, удаляем тяжелые файлы из аппарата (темы, ненужные твики и пр. Если пользуемся файловыми менеджерами типа iFile, очищаем корзину)
После чистки пробуем переустановить программу, которую пытались установить ранее.

2. Если проблем с дисковым пространством нет, пробуем переустановить Cydia Installer

+ все данные сохраняются
— требуется заранее установленный пакет терминала (для запуска на команд с устройства) или пакеты OpenSSH и OpenSSL (для запуска команд с ПК), или AppSync (для установки терминала без Cydia)

  • С помощью файлового менеджера
    1. На девайсе с помощью Filza File Manager или iFile
    2. На ПК с помощью iFunBox, iTools или WinSCP

      • Идем в /var/lib/dpkg/updates
      • Удаляем все содержимое (предварительно сделав backup)
      • Перезагружаем устройство

    При установленном на устройстве пакете OpenSSH пользователи iFunBox также могут воспользоваться решением «1. С помощью командной строки«

    + никакие данные не теряются
    — требуется заранее установленный файловый менеджер (если выполняем на девайсе) или afc2add (или его аналог — Apple File Conduit «2») — если выполняем на ПК.

  • С помощью SemiRestore
    Воспользуйтесь Semi-Restore for iOS — все пользовательские данные будут удалены, на выходе получите чистое устройство с джейлбрейком.
    + простое восстановление, джейлбрейк сохраняется
    — потеря пользовательских данных, требуется заранее установленный пакет OpenSSH, не для всех версий iOS
  • С помощью iTunes
    Самый простой вариант: введите устройство в режим DFU и восстановите прошивку. При этом джейлбрейк и все данные будут потеряны. Убойный способ, рекомендуется пользоваться им в случае, если все остальные шаги не помогли.
    + простое восстановление с гарантией
    — потеря данных и джейлбрейка
  • ˇПакет, который вы собираетесь установить, конфликтует с другим уже установленным ( в сообщении об ошибке как раз указывается с каким именно файлом происходит конфликт и в состав какого пакета этот файл входит ). Поэтому избавиться от данной ошибки можно, удалив эту конфликтующую программу ( в Cydia переходим во вкладку «Установлено», ищем конфликтующий пакет, жмем на него и в правом верхнем углу жмем «Удалить» )

    1. Скачиваем Terminal.ipa
    2. Устанавливаем скачанный файл с помощью Cydia Impactor: Установка *.deb и *.ipa
    3. Скачиваем iFunbox с офф-сайта: http://www.i-funbox.com/
    4. Затем качаем и разархивируем архив скачать
    5. Переносим папку ‘lib’ (проверьте, что в ‘lib’ лежат уже другие папки, а не снова ‘lib’) в папку ‘iBooks’ через iFunbox (путь к ней будет: /var/mobile/Media/Books).
      Для доступа к ней вам НЕ понадобится root (AFC 2)
    6. Запустите MobileTerminal на устройстве. (без джейлбрейка не запустится)

    Решить данную проблему можно несколькими способами:ˇ

    С помощью файлового менеджера (iFile или Filza File Manager — на девайсе, iFunBox [PC] — на ПК) переходим в файловую систему iOS:
    — Переходим в директорию /var/lib/dpkg/. В этой директории видим файлы: available, availble-old, status, status-old
    — Переименовываем файл «available» в «available-bak«
    — Переименовываем файл «status» в «status-bak«
    — Переименовываем файл «available-old» в «available«
    — Переименовываем файл «status-old» в «status«
    — Запускаем Cydia и ждем, когда полностью загрузится и пробуем установить любой твик.

    Если файлов «available-old» и «status-old» у вас нет, смотрите следующий способ

    • Открываем командную строку
    • Входим в режим суперпользователя
    • Далее вводим
    • Открываем любой файловый менеджер
    • Идем по адресу /var/lib/dpkg и копируем файлы available и status на компьютер (или в любую другую папку на девайсе). Т.е. делаем backup этих файлов.
    • Далее скачиваем архив available+status.zip ( 10,16 КБ )
      Распаковываем его.
    • Копируем с заменой распакованные файлы из архива в /var/lib/dpkg
      Копировать именно с заменой нужно для того, чтобы не слетели права доступа и собственности — файлы «available» и «status» изначально имеют нужные права. Поэтому когда мы копируем файлы с заменой, эти права сохраняются. А когда мы переименовали файлы на девайсе (в, скажем, status.bak и available.bak), а затем залили из архива, то наши новые файлы available и status будут уже иметь права доступа и собственности совершенно другие, что приведет к дееспособности Cydia. В общем, заливаем файлы из архива на девайс поверх старых!
    • Запускаем Cydia
    Читайте также:  Как починить электрическую проводку

    ˇОшибка вызвана тем, что Cydia может индексировать только 65535 пакетов. Т.е. в сумме во всех репозиториях на вашем девайсе должно хранится пакетов менее этой цифры.
    Таким образом, всё, что вам не обходимо сделать, это удалить репозиторий с большим количеством пакетов (например, repo.insanelyi.com)

    Примечание: начиная с Cydia 1.1.10 , данные ограничения в Cydia отсутствуют!

    Источник

    Cydia не работают твики

    Только для девайсов с jailbreak-ом!
    Инструкции по получению джейлбрейка для своей iOS смотрите в этом разделе:
    [FAQ] Путеводитель по инструкциям для получения джейлбрейка

    Для решения некоторых проблем вам могут понадобится:

    ˇЗаходите в Режим Safe Mode (безопасный режим), после чего идете в Cydia и удаляете проблемный твик.

    — Идете по пути /Library/MobileSubstrate/DynamicLibraries ˇ
    — По очереди переименовываете твики ( НАЗВАНИЕ_ТВИКА.dylib переименовываем, например, в НАЗВАНИЕ_ТВИКА.disabled ) и перезагружаете девайс.
    Т.е. переименовали один твик, перезагрузились. Переименовали следующий, перезагрузились.
    Таким образом, вы найдете твик, из-за которого произошел сбой работы системы.
    Обнаружив проблемную программу, вы сможете удалить ее через Cydia

    ˇ
    Как видите у меня есть репозиторий с названием «vk.com», а добавился он таким образом из-за того что ссылка была скопирована с социальной сети Вконтакте. И так приступим к удалению данного репозитория:

    Для этого на понадобится:
    — iFile или Filza File Manager (если редактируем на устройстве);
    — iFunBox [PC] или iTools [РС] (если редактируем на ПК)

    Через текстовый редактор открываем файл /User/Library/Caches/com.saurik.Cydia/ sources.list
    (в старых версиях Cydia /var/lib/cydia/ metadata.plist

    ( если используете iFunBox [PC] или iTools [РС] , файлы сначала скачиваем на компьютер и открываем через программу plist Editor Pro [PC] . После редактирования закидываем файлы обратно на девайс )
    Находим строки связанные с «ненужным репозиторием» и удаляем их.

    Т.е. удаляем строчки с » deb. » по » «.
    Нажимаем сохранить. Перезапускаем Cydia и все — репозиторий удален.

    Внимание! В новых версиях Cydia необходимо редактировать файл com.saurik.Cydia.plist , который находится в директории /User/Library/Preferences .
    Если у вас не хватает навыков редактирования plist-файлов, просто удалите этот файл com.saurik.Cydia.plist и перезапустите Cydia (а лучше перезагрузите устройство). Но в данном случае загрузятся только стандартные репозитории, все пользовательские (включая неудаляемый ранее) удалятся.

    • Для Uncover iOS 12 после удаления нужной строчки зайдите в приложение Uncover
    • Далее в Настройки и поставьте ползунок на «Reset Cydia Cashe”
    • После вернитесь на главную вкладку
    • Сделайте “Re-Jailbreak”. Иначе репозиторий ссылкой так и останется висеть, даже после редактирования .plist

    В некоторые репозитории Cydia встроена реклама. Реклама эта в виде javascript-a и перенаправляет пользователя с Cydia в AppStore.
    Говоря простым языком, бегаем мы по репозиториям Cydia, смотрим различные приложения, а потом бац! и нас выкидывает в AppStore, где предлагают установить на девайс какую-нибудь ненужную программулину.

    Вернемся к скриншоту.
    В окошке у пользователя Cydia спрашивает, что делать с такими редиректами — открывать AppStore или нет. Если мы хотим, чтобы Cydia нас перенаправляла, значит нужно нажать «Allow». Если мы хотим отказаться от перенаправлений — жмем «Отмена».
    Рекомендую нажать именно «Отмена», а также ознакомиться с темой [FAQ] Как убрать рекламу — в ней полностью раскрыт вопрос о рекламе на девайсе (в том числе и Cydia)!

    1. Заходим в /var/lib/dpkg/
    2. Открываем status через текстовый редактор.
    Ищем тот твик, из-за которого произошла ошибка.
    Удаляем полностью блок, содержащий в себе данные об установленном пакете.
    Пример с пакетом OpenSSH: (вы, соответственно, ищете тот, из-за которого произошла ошибка)

    3. Перезапускаем Cydia (а лучше перезагрузить устройство)
    4. Если после этого Сидия не заработала, делаем тоже самое с файлом available ( /var/lib/dpkg/ )

    Допустим, у нас вылезла ошибка:

    По первому способу:
    Переустанавливаем deb-пакет программы bossios8 (com.macciti.bossios8.deb)

    По второму способу:
    Редактируем /var/lib/dpkg/ status

    По третьему способу:
    Вводим в командной строке:

    ˇ
    Ошибка вызвана тем, что Cydia не может обнаружить deb файл, т.к. он не скачался полностью из репозитория. Поэтому вариантов решения проблемы два:

    • Открываем Cydia и идем во вкладку Sections (Источники) и жмем кнопку Refresh (Обновить), после чего пробуем установить программу (ранее из-за которой была вызвана ошибка) заново. Если ошибка и в этот раз не пропадет, нужно немного подождать, скорее всего, репозиторий перегружен из-за большого наплыва пользователей.
    • Вариант для более продвинутых. Устанавливаем необходимые файлы вручную.
      Скачиваем на 4PDA или любом сайте программу, из-за которой была вызвана ошибка, в формате deb и устанавливаем одним из следующих способов [FAQ] Установка *.deb и *.app
      Примечание: Если вы устанавливали, скажем, программу Activator а ошибка вылезла, допустим, об осутствующем файле com.saurik.substrate.safemode, это означает, что вам необходимо помимо самого твика (Activator) скачать и зависимости к нему. В данном случае это com.saurik.substrate.safemode
    Читайте также:  У меня не работает usb device

    ˇ
    Установщик не может записать информацию на диск. Скорее всего, на девайсе просто недостаточно дискового пространства (в систем разделе или в пользовательском, или и то, и другое).
    Что делать?
    1. Нужно посмотреть сколько места осталось (в Cydia «жмем на вкладку Cydia — Хранилище — Хранилище» или через сторонние программы, (например, через Disk Pie), и если его действительно нет, удаляем тяжелые файлы из аппарата (темы, ненужные твики и пр. Если пользуемся файловыми менеджерами типа iFile, очищаем корзину)
    После чистки пробуем переустановить программу, которую пытались установить ранее.

    2. Если проблем с дисковым пространством нет, пробуем переустановить Cydia Installer

    + все данные сохраняются
    — требуется заранее установленный пакет терминала (для запуска на команд с устройства) или пакеты OpenSSH и OpenSSL (для запуска команд с ПК), или AppSync (для установки терминала без Cydia)

  • С помощью файлового менеджера
    1. На девайсе с помощью Filza File Manager или iFile
    2. На ПК с помощью iFunBox, iTools или WinSCP

      • Идем в /var/lib/dpkg/updates
      • Удаляем все содержимое (предварительно сделав backup)
      • Перезагружаем устройство

    При установленном на устройстве пакете OpenSSH пользователи iFunBox также могут воспользоваться решением «1. С помощью командной строки«

    + никакие данные не теряются
    — требуется заранее установленный файловый менеджер (если выполняем на девайсе) или afc2add (или его аналог — Apple File Conduit «2») — если выполняем на ПК.

  • С помощью SemiRestore
    Воспользуйтесь Semi-Restore for iOS — все пользовательские данные будут удалены, на выходе получите чистое устройство с джейлбрейком.
    + простое восстановление, джейлбрейк сохраняется
    — потеря пользовательских данных, требуется заранее установленный пакет OpenSSH, не для всех версий iOS
  • С помощью iTunes
    Самый простой вариант: введите устройство в режим DFU и восстановите прошивку. При этом джейлбрейк и все данные будут потеряны. Убойный способ, рекомендуется пользоваться им в случае, если все остальные шаги не помогли.
    + простое восстановление с гарантией
    — потеря данных и джейлбрейка
  • ˇПакет, который вы собираетесь установить, конфликтует с другим уже установленным ( в сообщении об ошибке как раз указывается с каким именно файлом происходит конфликт и в состав какого пакета этот файл входит ). Поэтому избавиться от данной ошибки можно, удалив эту конфликтующую программу ( в Cydia переходим во вкладку «Установлено», ищем конфликтующий пакет, жмем на него и в правом верхнем углу жмем «Удалить» )

    1. Скачиваем Terminal.ipa
    2. Устанавливаем скачанный файл с помощью Cydia Impactor: Установка *.deb и *.ipa
    3. Скачиваем iFunbox с офф-сайта: http://www.i-funbox.com/
    4. Затем качаем и разархивируем архив скачать
    5. Переносим папку ‘lib’ (проверьте, что в ‘lib’ лежат уже другие папки, а не снова ‘lib’) в папку ‘iBooks’ через iFunbox (путь к ней будет: /var/mobile/Media/Books).
      Для доступа к ней вам НЕ понадобится root (AFC 2)
    6. Запустите MobileTerminal на устройстве. (без джейлбрейка не запустится)

    Решить данную проблему можно несколькими способами:ˇ

    С помощью файлового менеджера (iFile или Filza File Manager — на девайсе, iFunBox [PC] — на ПК) переходим в файловую систему iOS:
    — Переходим в директорию /var/lib/dpkg/. В этой директории видим файлы: available, availble-old, status, status-old
    — Переименовываем файл «available» в «available-bak«
    — Переименовываем файл «status» в «status-bak«
    — Переименовываем файл «available-old» в «available«
    — Переименовываем файл «status-old» в «status«
    — Запускаем Cydia и ждем, когда полностью загрузится и пробуем установить любой твик.

    Если файлов «available-old» и «status-old» у вас нет, смотрите следующий способ

    • Открываем командную строку
    • Входим в режим суперпользователя
    • Далее вводим
    • Открываем любой файловый менеджер
    • Идем по адресу /var/lib/dpkg и копируем файлы available и status на компьютер (или в любую другую папку на девайсе). Т.е. делаем backup этих файлов.
    • Далее скачиваем архив available+status.zip ( 10,16 КБ )
      Распаковываем его.
    • Копируем с заменой распакованные файлы из архива в /var/lib/dpkg
      Копировать именно с заменой нужно для того, чтобы не слетели права доступа и собственности — файлы «available» и «status» изначально имеют нужные права. Поэтому когда мы копируем файлы с заменой, эти права сохраняются. А когда мы переименовали файлы на девайсе (в, скажем, status.bak и available.bak), а затем залили из архива, то наши новые файлы available и status будут уже иметь права доступа и собственности совершенно другие, что приведет к дееспособности Cydia. В общем, заливаем файлы из архива на девайс поверх старых!
    • Запускаем Cydia

    ˇОшибка вызвана тем, что Cydia может индексировать только 65535 пакетов. Т.е. в сумме во всех репозиториях на вашем девайсе должно хранится пакетов менее этой цифры.
    Таким образом, всё, что вам не обходимо сделать, это удалить репозиторий с большим количеством пакетов (например, repo.insanelyi.com)

    Примечание: начиная с Cydia 1.1.10 , данные ограничения в Cydia отсутствуют!

    Источник

    Оцените статью