web-dev-qa-db-fra.com

Comment résoudre les dépendances non satisfaites? Impossible d'installer ou de supprimer des packages

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

J'ai essayé d'installer Java sous ubuntu, mais l'installation n'a pas été effectuée correctement, mais après cela, lorsque j'essaie d'installer/de supprimer d'autres packages, les erreurs suivantes se produisent:

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).**

Quand j'ai lancé le Sudo dpkg --configure -a pour obtenir toutes les dépendances, j'ai trouvé:

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

Quand j'ouvre Ubuntu Soft. centre pour installer/supprimer tous les paquets, j'obtiens aussi cette erreur:

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
Gaurav Sharma

Essayez d'installer manuellement openjdk-6-jre (Sudo apt-get install openjdk-6-jre) - lorsqu'il n'est pas possible d'exécuter "la stratégie d'apt-cache openjdk-6-jre" pour voir si vous avez une source. Lorsque vous n’avez pas de source, vous manquez des sources d’univers et/ou de sécurité dans votre /etc/apt/sources.list. Possible de manquer aussi une "mise à jour Sudo apt-get"?

ou essayez de supprimer les paquets avec:

Sudo dpkg --purge bleachbit ca-certificates-Java icedtea-6-plugin icedtea-netx

Ensuite, essayez à nouveau d'installer ce que vous voulez installer ou simplement d'installer Oracle Java:

Sudo add-apt-repository ppa:webupd8team/Java
Sudo apt-get update
Sudo apt-get install Oracle-Java7-installer
10
TCr

Je pense que vous confondez apt et dpkg. Vous recevez le message

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

mais au lieu de apt-get -f install, vous exécutez Sudo dpkg --configure -a "pour obtenir toutes les dépendances". Ce n'est pas ce que dpkg fait.

De la page de manuel de 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.

Ce n'est pas le problème ici. Apparemment, dpkg n'est pas en mesure de configurer certains paquets avec succès en raison de dépendances non satisfaites - pas parce que le décompactage des paquets a été interrompu pour une raison quelconque. Résoudre les dépendances en installant les paquets manquants est dans le domaine d’apt. Depuis la page de manuel d'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. 

Par conséquent, la commande qui se présente et qui a été annoncée par le message d'erreur est la suivante:

Sudo apt-get install -f

Parmi les dépendances brisées réelles qui sont présentées dans votre copier-coller, je suppose que cette commande simple devrait faire l'affaire. Sinon, reportez-vous à cette question ou envoyez des messages d'erreur exacts à partir de la commande ci-dessus.

La cause en est peut-être que vous n'avez pas fait de apt-get update auparavant. La liste des paquets que apt détient pointe sur des paquets individuels dans le référentiel. Lorsqu'un ou plusieurs packages sont mis à niveau dans le référentiel pour une raison quelconque, les anciens packages seront purgés. Les paquets dépendants pointent ensuite sur les paquets qui ne sont plus fournis.

Vous n'êtes pas obligé d'exécuter apt-get update chaque fois que vous effectuez une installation, mais vous pouvez vous retrouver dans une situation comme celle-ci. Cependant, cela est facilement corrigé par Sudo apt-get update && Sudo apt-get install -f.

4
Johannes