Как разрешить неудовлетворенные зависимости? Не удается установить или удалить пакеты

$sudo apt-get -f install google-chrome-stable

Я пытался установить Java в Ubuntu, но он не был успешно установлен, но после этого, когда я пытаюсь установить / удалить любые другие пакеты, я получаю эти ошибки:

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:

    bleachbit : Depends: menu but it is not going to be installed

    ca-certificates-java : Depends: openjdk-6-jre-headless (>= 6b16-1.6.1-2) or
                                    java6-runtime-headless

    icedtea-6-plugin : Depends: openjdk-6-jre

    icedtea-netx : Depends: openjdk-6-jre (>= 6b23~pre10~) or
                            openjdk-7-jre

**E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).**

Когда я запустил sudo dpkg --configure -a, чтобы получить все зависимости, я нашел:

dpkg: dependency problems prevent configuration of icedtea-netx:    

icedtea-netx depends on openjdk-6-jre (>= 6b23~pre10~) | openjdk-7-jre; however:   
Package openjdk-6-jre is not installed.  
Package openjdk-7-jre is not installed.

dpkg: error processing icedtea-netx (--configure):

dependency problems - leaving unconfigured

dpkg: dependency problems prevent configuration of bleachbit:

bleachbit depends on python-central (>= 0.6.7); however:

  Package python-central is not installed.

  bleachbit depends on menu; however:

  Package menu is not installed.


dpkg: error processing bleachbit (--configure):

 dependency problems - leaving unconfigured

dpkg: dependency problems prevent configuration of ca-certificates-java:

 ca-certificates-java depends on openjdk-6-jre-headless (>= 6b16-1.6.1-2) | java6-runtime-headless; however:

  Package openjdk-6-jre-headless is not installed.

  Package java6-runtime-headless is not installed.

dpkg: error processing ca-certificates-java (--configure):
 dependency problems - leaving unconfigured

dpkg: dependency problems prevent configuration of icedtea-6-plugin:

 icedtea-6-plugin depends on openjdk-6-jre; however:  Package openjdk-6-jre is not installed.   icedtea-6-plugin depends on icedtea-netx (= 1.2-2ubuntu1); however:
 Package icedtea-netx is not configured yet.



dpkg: error processing icedtea-6-plugin (--configure):

 dependency problems - leaving unconfigured

Errors were encountered while processing:

    icedtea-netx

    bleachbit

    ca-certificates-java

    icedtea-6-plugin

Когда я открываю Ubuntu Soft. центр для установки / удаления любых пакетов, я также получаю эту ошибку:

Package dependencies cannot be resolved

The following packages have unmet dependencies:

bleachbit: Depends: python (>= 2.4) but 2.7.3-0ubuntu2 is installed
       Depends: python-gtk2 (>= 2.6) but 2.24.0-3 is installed
       Depends: python-central (>= 0.6.7) but it is not installed
       Depends: menu but it is not installed

 ca-certificates-java: Depends: java6-runtime-headless but it is a virtual package
 icedtea-6-plugin: Depends: openjdk-6-jre but it is not installed
              Depends: icedtea-netx (= 1.2-2ubuntu1) but 1.2-2ubuntu1 is installed
              Depends: libc6 (>= 2.4) but 2.15-0ubuntu10.3 is installed
              Depends: libgcc1 (>= 1:4.1.1) but 1:4.6.3-1ubuntu5 is installed
              Depends: libglib2.0-0 (>= 2.31.8) but 2.32.3-0ubuntu1 is installed
              Depends: libgtk2.0-0 (>= 2.8.0) but 2.24.10-0ubuntu6 is installed
              Depends: libstdc++6 (>= 4.6) but 4.6.3-1ubuntu5 is installed

  icedtea-netx: Depends: icedtea-netx-common (>= 1.2-2ubuntu1) but 1.2-2ubuntu1 is installed
          Depends: openjdk-7-jre but it is not installed
1
задан 8 October 2015 в 09:35

2 ответа

Попробуйте установить вручную openjdk-6-jre (sudo apt-get install openjdk-6-jre) - когда невозможно запустить «apt-cache policy openjdk-6-jre», чтобы проверить, есть ли у вас источник для Это. Если у вас нет источника, вы пропустите источники юниверса и / или безопасности в вашем /etc/apt/sources.list. Возможно, вы пропустите также «sudo apt-get update»?

или попытаетесь удалить пакеты с помощью:

sudo dpkg --purge bleachbit ca-certificates-java icedtea-6-plugin icedtea-netx

Затем попробуйте снова установить то, что вы хотите установить, или просто установить oracle Java:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
0
ответ дан 8 October 2015 в 09:35

Я думаю, что вы путаете apt и dpkg. Вы получаете сообщение

Try 'apt-get -f install' with no packages (or specify a solution)

, но вместо apt-get -f install вы выполняете sudo dpkg --configure -a «для получения всех зависимостей». Это не то, что делает dpkg.

Из справочной страницы dpkg:

   --configure package...|-a|--pending
          Configure a package which has been unpacked but not yet  config‐
          ured.   If  -a  or  --pending  is  given instead of package, all
          unpacked but unconfigured packages are configured.

Здесь дело не в этом. Очевидно, dpkg не может успешно настроить некоторые пакеты из-за неудовлетворенных зависимостей - не потому, что распаковка пакетов была прервана по какой-либо причине. Разрешение зависимостей путем установки отсутствующих пакетов лежит в области apt. Из справочной страницы apt-get:

   -f, --fix-broken
       Fix; attempt to correct a system with broken dependencies in place.
       This option, when used with install/remove, can omit any packages
       to permit APT to deduce a likely solution. If packages are
       specified, these have to completely correct the problem. 

Поэтому команда, которая появляется под рукой и которая была объявлена ​​в сообщении об ошибке:

sudo apt-get install -f

Из представленных фактических нарушенных зависимостей в вашей копии и вставке я понимаю, что эта простая команда должна сработать. Если нет, обратитесь к этому вопросу или отправьте точные сообщения об ошибках из приведенной выше команды.

Причиной этого может быть то, что вы не сделали apt-get update заранее. Список пакетов, который хранится в apt, указывает на отдельные пакеты в хранилище. Когда один или несколько пакетов обновляются в репозитории по каким-либо причинам, более старые пакеты будут удалены. Зависимые пакеты затем указывают на пакеты, которые больше не предоставляются.

Вам не нужно запускать apt-get update каждый раз, когда вы делаете установку, но вы можете столкнуться с такой ситуацией. Однако это легко исправить с помощью sudo apt-get update && sudo apt-get install -f.

0
ответ дан 8 October 2015 в 09:35

Другие вопросы по тегам:

Похожие вопросы: