Устранение проблем с OTA для PR1.1

Материал из FRUCT Maemo wiki (Russian)
(Различия между версиями)
Перейти к: навигация, поиск
(Как обнаружить проблему и как все исправить?)
(Примеры решателей задач)
 
(не показаны 12 промежуточных версий 1 участника)
Строка 19: Строка 19:
 
Если проблема в этом, необходимо каким-то образом вернуть устройство в надлежащее состояние. Для этого сначала удалите эти пакеты и/или восстановите их до ожидаемых версий.  
 
Если проблема в этом, необходимо каким-то образом вернуть устройство в надлежащее состояние. Для этого сначала удалите эти пакеты и/или восстановите их до ожидаемых версий.  
  
* В третьем случае (который маловероятен, но не исключен) понадобится, прежде всего, перевести устройство в состояние, в котором удаление этих пактов не было бы более необходимым условием для работы OTA (например, вручную выполнить <code>dpkg -r</code>). После этого необходимо будет повторить попытку из HAM. Другим способом, при помощи которого можно попытаться все исправить, но который '''не рекомендуется и не поддерживается''', могло бы быть выполнение <code>apt-get dist-upgrade</code> в командной строке. В результате использования данной команды все конфликтующие пакеты будут удалены и инсталлированы новые. Тем не менее, если пользователь читает эти строки, возможно, было бы лучше также рассмотреть возможность использования NSU или flasher.
+
* В третьем случае (который маловероятен, но не исключен) понадобится, прежде всего, перевести устройство в состояние, в котором удаление этих пактов не было бы более необходимым условием для работы OTA (например, вручную выполнить <code>dpkg -r</code>). После этого необходимо будет повторить попытку из HAM. Другим способом, при помощи которого можно попытаться все исправить, но который '''не рекомендуется и не поддерживается''', могло бы быть выполнение <code>apt-get dist-upgrade</code> в командной строке. В результате использования данной команды все конфликтующие пакеты будут удалены и инсталлированы новые. Тем не менее, если пользователь читает эти строки, возможно, было бы лучше также рассмотреть использование NSU или flasher.
  
 
=== Как обнаружить конфликтующие пакеты? ===
 
=== Как обнаружить конфликтующие пакеты? ===
Строка 35: Строка 35:
 
     mp-fremantle-generic-pr: Depends: package (= 1.0) but 1.1 is installed
 
     mp-fremantle-generic-pr: Depends: package (= 1.0) but 1.1 is installed
 
   E: Unmet dependencies. Try using -f.
 
   E: Unmet dependencies. Try using -f.
В данном случае был инсталлирована версия пакета, которая новее, чем ожидаемая OTA. Поэтому решением в данном случае будет восстановление пакета до ожидаемой версии, прежде чем продолжить.  
+
В данном случае была инсталлирована версия пакета, которая новее, чем версия, которую ожидает OTA. Поэтому решение в данном случае - восстановить пакет до ожидаемой версии прежде, чем продолжить.  
  
Другим решением может стать модификация конфликтующего пакета, при условии, что данная версия доступна в репозитории. Например, если <code>cmt-firmware-rx51</code> - это название пакета:
+
Другим решением может стать модификация конфликтующего пакета при условии, что данная версия доступна в репозитории. Например, если <code>cmt-firmware-rx51</code> - это название пакета:
  
 
  # apt-get upgrade cmt-firmware-rx51
 
  # apt-get upgrade cmt-firmware-rx51
Строка 54: Строка 54:
 
   Do you want to continue [Y/n]?
 
   Do you want to continue [Y/n]?
  
В таком случае проблема заключается в конфликтующих пакетах, которые необходимо будет удалить вручную до повторного использования Менеджера приложений, если пользователь не желает (и он '''не должен''') продолжать использовать команду  code>apt-get dist-upgrade</code>.
+
В таком случае проблема заключается в конфликтующих пакетах, которые необходимо будет удалить вручную до повторного использования Менеджера приложений, если пользователь не желает (и он '''не должен''') продолжать использовать команду  <code>apt-get dist-upgrade</code>.
  
 
Обе команды <code>apt-get update</code> и <code>apt-get dist-upgrade</code> могут не показать никаких конфликтующих пакетов, но Менеджер приложений по-прежнему отказывается инсталлировать обновление. Причиной могут быть <code>libqt4-phonon</code> или <code>libqt4-webkit</code>. Проблему можно решить, если удалить их и приложения, зависящие от них.  
 
Обе команды <code>apt-get update</code> и <code>apt-get dist-upgrade</code> могут не показать никаких конфликтующих пакетов, но Менеджер приложений по-прежнему отказывается инсталлировать обновление. Причиной могут быть <code>libqt4-phonon</code> или <code>libqt4-webkit</code>. Проблему можно решить, если удалить их и приложения, зависящие от них.  
Строка 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/
  
Существует несколько предложений в отношении того, как можно [[освободить место в rootfs]].
+
Существует несколько предложений, как можно [http://wiki.maemo.org/Free_up_rootfs_space освободить место в rootfs].
  
 
=== Заключительные советы ===
 
=== Заключительные советы ===
  
Наконец ниже предлагаются несколько последних, но тем не менее полезных советов, о который стоит помнить при модификации устройства обновлением OTA:
+
Наконец ниже предлагаются несколько последних, но тем не менее полезных советов, о которых стоит помнить при модификации устройства обновлением OTA:
  
* Проверьте, чтобы батарея была полностью заряжена или устройство подключено к сети, прежде чем приступить к дальнейшим действиям.
+
* Проверьте, чтобы батарея была полностью заряжена или устройство подключено к сети прежде, чем приступить к дальнейшим действиям.
* Убедитесь в наличие достаточного количества свободного места в разделе rootfs, чтобы можно было выполнить обновление (45 Мб – требуемый минимум). Чтобы это проверить, просто выполните <code>df -h /</code> в командной строке:
+
* Убедитесь, что в разделе 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, если он был ранее инсталлирован.
+
* Независимо от количества свободного места, необходимо деинсталлировать 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
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты