Устранение проблем с OTA для PR1.1
Admin (обсуждение | вклад) (→Как обнаружить конфликтующие пакеты?) |
Admin (обсуждение | вклад) (→Примеры решателей задач) |
||
(не показаны 6 промежуточных версий 1 участника) | |||
Строка 66: | Строка 66: | ||
E: You don't have enough free space in /var/cache/apt/archives/ | E: You don't have enough free space in /var/cache/apt/archives/ | ||
− | Существует несколько предложений | + | Существует несколько предложений, как можно [http://wiki.maemo.org/Free_up_rootfs_space освободить место в rootfs]. |
=== Заключительные советы === | === Заключительные советы === | ||
− | Наконец ниже предлагаются несколько последних, но тем не менее полезных советов, о | + | Наконец ниже предлагаются несколько последних, но тем не менее полезных советов, о которых стоит помнить при модификации устройства обновлением OTA: |
− | * Проверьте, чтобы батарея была полностью заряжена или устройство подключено к сети | + | * Проверьте, чтобы батарея была полностью заряжена или устройство подключено к сети прежде, чем приступить к дальнейшим действиям. |
− | * Убедитесь | + | * Убедитесь, что в разделе rootfs есть достаточное количество свободного места , чтобы можно было выполнить обновление (45 Мб – требуемый минимум). Чтобы это проверить, просто выполните <code>df -h /</code> в командной строке: |
# df -h / | # df -h / | ||
Строка 79: | Строка 79: | ||
rootfs 227.5M 152.6M 70.8M 68% / ----> 70.8M > 45Mb (Ok) | rootfs 227.5M 152.6M 70.8M 68% / ----> 70.8M > 45Mb (Ok) | ||
− | * Независимо от количества | + | * Независимо от количества свободного места, необходимо деинсталлировать ioquake3, если он был ранее инсталлирован. |
* Не забудьте на всякий случай выполнить резервное копирование до выполнения обновления. | * Не забудьте на всякий случай выполнить резервное копирование до выполнения обновления. | ||
Строка 90: | Строка 90: | ||
* Деинсталлируйте ioquake3 через Менеджер приложений (как описано в предыдущем разделе). | * Деинсталлируйте ioquake3 через Менеджер приложений (как описано в предыдущем разделе). | ||
− | * Блокируйте репозитории [[extras-devel]] и [[extras-testing]] в Менеджере приложений через каталоги. | + | * Блокируйте репозитории [[Репозиторий Extras-devel|extras-devel]] и [[Репозиторий Extras-testing|extras-testing]] в Менеджере приложений через каталоги. |
* Деинсталлируйте Tickstill через Менеджер приложений. | * Деинсталлируйте Tickstill через Менеджер приложений. | ||
* Инсталлируйте пакет 'rootsh' из Менеджера приложений. Откройте xterminal и введите | * Инсталлируйте пакет 'rootsh' из Менеджера приложений. Откройте xterminal и введите |
Текущая версия на 13:08, 15 апреля 2010
[править] Устранение проблем с OTA для PR1.1
Некоторые пользователи столкнулись с проблемами при использовании абсолютно нового обновления программного обеспечения PR1.1, которое было недавно представлено. В результате в большинстве случаев пользователи получали сообщение от Менеджера приложений, в котором говорилось о необходимости инсталлировать данное обновление через прошивку устройства утилитами NSU/flasher (явным симптомом является тот факт, что в диалоге есть только кнопка Создать резервную копию, но полностью отсутствует кнопка Продолжить).
В большинстве случаев данную ситуацию можно объяснить одной из следующих причин:
- Пропущена модернизация с PR1.0 до PR1.0.1. В таком случае необходимо будет использовать NSU/flasher.
- Некоторые пакеты Debian были инсталлированы вручную через
apt-get
илиdpkg
, возможно в обход санитарных проверок и специальных проверок, которые выполняет HAM (Менеджер приложений Hildon), чтобы гарантировать надлежащее обновление OTA. - Устройство каким-то образом было приведено в состояние, когда понадобится удалить некоторые пакеты для выполнения обновления OTA (это то, что исключительно безопасный Менеджер приложений никогда не сделает).
Содержание |
[править] Как обнаружить проблему и как все исправить?
- Если речь идет о первом случае, к сожалению, остается только перепрошить устройство. Пропущен промежуточный шаг между PR1.1 и PR1.0 и устройство пользователя не сможет гарантировать выполнение надлежащего обновления OTA без соблюдения необходимых предварительных условий.
- В случае инсталлирования пакетов Debian вручную они могут каким-то образом вступать в конфликт с обновлением OTA, в основном в силу одной из следующих причин:
- Они нарушают политику в отношении пакетов сторонних производителей.
- Их версии отличаются (это, скорее всего, более новые версии) от версий, которые ожидаются пакетом обновления OTA для надлежащей работы. Считайте пакет OTA метапакетом, который ожидает, что в систему будут инсталлированы точные версии пакетов до модификации. В таком случае станет понятно, почему всего лишь одной зависимости пакета OTA, отличающейся от ожидаемой версии, достаточно, чтобы привести к приостановке процесса. Именно поэтому пользователю предлагается перепрошить устройство.
Если проблема в этом, необходимо каким-то образом вернуть устройство в надлежащее состояние. Для этого сначала удалите эти пакеты и/или восстановите их до ожидаемых версий.
- В третьем случае (который маловероятен, но не исключен) понадобится, прежде всего, перевести устройство в состояние, в котором удаление этих пактов не было бы более необходимым условием для работы OTA (например, вручную выполнить
dpkg -r
). После этого необходимо будет повторить попытку из HAM. Другим способом, при помощи которого можно попытаться все исправить, но который не рекомендуется и не поддерживается, могло бы быть выполнениеapt-get dist-upgrade
в командной строке. В результате использования данной команды все конфликтующие пакеты будут удалены и инсталлированы новые. Тем не менее, если пользователь читает эти строки, возможно, было бы лучше также рассмотреть использование NSU или flasher.
[править] Как обнаружить конфликтующие пакеты?
Не существует универсального способа, который будет применим ко всем случаям, но далее предлагаются некоторые советы.
- Попробуйте выполнить
apt-get upgrade
в командной строке (без подтверждения!) и обратите внимание на данные на выходе. При получении похожего сообщения будет понятно, какой пакет блокирует обновление OTA и почему:
# apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done You might want to run `apt-get -f install' to correct these. The following packages have unmet dependencies: mp-fremantle-generic-pr: Depends: package (= 1.0) but 1.1 is installed E: Unmet dependencies. Try using -f.
В данном случае была инсталлирована версия пакета, которая новее, чем версия, которую ожидает OTA. Поэтому решение в данном случае - восстановить пакет до ожидаемой версии прежде, чем продолжить.
Другим решением может стать модификация конфликтующего пакета при условии, что данная версия доступна в репозитории. Например, если cmt-firmware-rx51
- это название пакета:
# apt-get upgrade cmt-firmware-rx51
- Если конфликта нет, но пользователь получает сообщение о том, что пакеты не будут модифицированы (или, по крайней мере, не будут модифицированы пакеты, имеющие отношение к метапакету
mp-fremantle-generic-pr
), попробуйте использовать командуapt-get dist-upgrade
и проверить, будут ли получены данные на выходе типа:
# apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be REMOVED: package-1 package-2 package-3 ... After this operation, 4620kB disk space will be freed. Do you want to continue [Y/n]?
В таком случае проблема заключается в конфликтующих пакетах, которые необходимо будет удалить вручную до повторного использования Менеджера приложений, если пользователь не желает (и он не должен) продолжать использовать команду apt-get dist-upgrade
.
Обе команды apt-get update
и apt-get dist-upgrade
могут не показать никаких конфликтующих пакетов, но Менеджер приложений по-прежнему отказывается инсталлировать обновление. Причиной могут быть libqt4-phonon
или libqt4-webkit
. Проблему можно решить, если удалить их и приложения, зависящие от них.
# apt-get remove libqt4-phonon libqt4-webkit
[править] Недостаточное количество свободного места
Если для модернизации не хватает свободного места, в результате использования команды apt-get dist-upgrade
появится сообщение об ошибке:
E: You don't have enough free space in /var/cache/apt/archives/
Существует несколько предложений, как можно освободить место в rootfs.
[править] Заключительные советы
Наконец ниже предлагаются несколько последних, но тем не менее полезных советов, о которых стоит помнить при модификации устройства обновлением OTA:
- Проверьте, чтобы батарея была полностью заряжена или устройство подключено к сети прежде, чем приступить к дальнейшим действиям.
- Убедитесь, что в разделе rootfs есть достаточное количество свободного места , чтобы можно было выполнить обновление (45 Мб – требуемый минимум). Чтобы это проверить, просто выполните
df -h /
в командной строке:
# df -h / Filesystem Size Used Available Use% Mounted on rootfs 227.5M 152.6M 70.8M 68% / ----> 70.8M > 45Mb (Ok)
- Независимо от количества свободного места, необходимо деинсталлировать ioquake3, если он был ранее инсталлирован.
- Не забудьте на всякий случай выполнить резервное копирование до выполнения обновления.
Наслаждайтесь!
[править] Примеры решателей задач
Попробуйте один из способов, которые предлагаются в данной ветке. Если это не помогло, попробуйте выполнить следующие действия (следуйте по пунктам в предложенном порядке).
- Деинсталлируйте ioquake3 через Менеджер приложений (как описано в предыдущем разделе).
- Блокируйте репозитории extras-devel и extras-testing в Менеджере приложений через каталоги.
- Деинсталлируйте Tickstill через Менеджер приложений.
- Инсталлируйте пакет 'rootsh' из Менеджера приложений. Откройте xterminal и введите
sudo gainroot apt-get remove libqt4-phonon
- Если обновление все еще нельзя выполнить, попробуйте освободить место в rootfs:
sudo gainroot apt-get install pymaemo-optify apt-get clean