ubuntu-sdk сломанные зависимости после обновления 14.04

ubuntu-sdk сломанные зависимости после обновления 14.04

Только сегодня попробовал сделать sudo apt-get dist-upgradeи пришел к такому состоянию:

$ sudo apt-get upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  phablet-tools ubuntu-sdk
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

Хорошо, ubuntu-sdkбыло отложено/отложено, вероятно, есть новые пакеты для установки из-за зависимостей; поэтому я пробую dist-upgrade:

$ sudo apt-get dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  intltool
The following packages have been kept back:
  ubuntu-sdk
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 52.0 kB of archives.
After this operation, 245 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://dk.archive.ubuntu.com/ubuntu/ trusty/main intltool all 0.50.2-2 [52.0 kB]
Fetched 52.0 kB in 0s (872 kB/s)  
Selecting previously unselected package intltool.
(Reading database ... 343935 files and directories currently installed.)
Preparing to unpack .../intltool_0.50.2-2_all.deb ...
Unpacking intltool (0.50.2-2) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up intltool (0.50.2-2) ...

Хм... так что только что intltoolустановили, не так ли ubuntu-sdk? Давайте попробуем еще раз:

$ sudo apt-get upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  phablet-tools ubuntu-sdk
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

Хммм... dist-upgradeопять?

$ sudo apt-get dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  ubuntu-sdk
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

Все еще сдерживаемся... Давайте попробуем приложить немного больше усилий sudo apt-get install...:

$ sudo apt-get install phablet-tools ubuntu-sdk
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ubuntu-sdk : Depends: ubuntu-device-flash but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Давайте тогда попробуем ubuntu-device-flash:

$ sudo apt-get install ubuntu-device-flash
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ubuntu-device-flash : Depends: click-ubuntu-policy but it is not installable
                       Depends: ubuntu-snappy-cli but it is not installable
E: Unable to correct problems, you have held broken packages.

Давайте просто попробуем click-ubuntu-policy, хотя сейчас у меня нет больших надежд:

$ sudo apt-get install click-ubuntu-policy
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package click-ubuntu-policy is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'click-ubuntu-policy' has no installation candidate

Отлично, судя по всему, click-ubuntu-policyего больше нет в репозиториях, но у него все еще есть висящая зависимость в ubuntu-device-flashpackage.

Какие действия я могу порекомендовать в этом случае?

решение1

Из apt-getстраницы руководства

dist-upgrade в дополнение к выполнению функции обновления также разумно обрабатывает изменяющиеся зависимости с новыми версиями пакетов; apt-get имеет "умную" систему разрешения конфликтов, и она попытается обновить наиболее важные пакеты за счет менее важных, если это необходимо. Поэтому команда dist-upgrade может удалить некоторые пакеты. Файл /etc/apt/sources.list содержит список мест, из которых можно получить нужные файлы пакетов

dist-upgradeпытается установить новые пакеты для обновления (вопреки тому, что upgradeделает), но он может сделать это только если пакеты найдены доступными в любом из мест, перечисленных в /etc/apt/sources.listфайле. Если в репозиториях отсутствует пакет, как он может его найти? И если он не может найти пакет, он не обновит его, а вместо этого задержит пакет.

Это то, что произошло в вашем случае. click-ubuntu-policyПакет недоступен (и никогда не был) в надежных официальных репозиториях (Проверьте здесь на packages.ubuntu.com). ubuntu-device-flashне будет обновляться, поскольку его более новая версия зависит от click-ubuntu-policy, который недоступен ни в одном из известных репозиториев apt.

Однако, если вы добавите PPA или репозиторий исходного кода, который имеет click-ubuntu-policyдля trusty, вы можете обновить ubuntu-device-flashпакет. Но это не рекомендуется.

Мое предложение таково, поскольку Ubuntu включает в себя более новую версию ubuntu-device-flash, я думаю, click-ubuntu-policyчто она тоже скоро будет доступна в репозитории.

Связанный контент