2 votes

Installer Openjdk7 sur Debian Squeeze

J'ai un serveur qui fonctionne sous Debian Squeeze et la mise à niveau vers Wheezy n'est pas une option. J'ai besoin d'installer la version 7 du JRE car il y a des corrections de bogues dont j'ai besoin. Mes options sont les suivantes :

  • Installer openjdk-7-jre à partir du dépôt de paquets wheezy
  • Installer oracle 7 jre

Nous aimerions de préférence installer openjdk mais je trouve cela très difficile. J'ai essayé d'installer en utilisant apt-get openjdk-7-jre et j'ai obtenu la réponse suivante :

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:
 openjdk-7-jre : Depends: openjdk-7-jre-headless (= 7u3-2.1.3-1) but it is not going to be installed
             Depends: libfontconfig1 (>= 2.9.0) but 2.8.0-2.1 is to be installed
             Depends: libgdk-pixbuf2.0-0 (>= 2.22.0) but it is not going to be installed
             Depends: libjpeg8 (>= 8c) but 8b-1 is to be installed
             Depends: libpulse0 (>= 0.99.1) but 0.9.21-3+squeeze1 is to be installed
             Depends: libatk-wrapper-java-jni (>= 0.30.4-0ubuntu2) but it is not going to be installed
E: Broken packages

J'ai ensuite essayé aptitude et j'ai obtenu cette réponse :

0 packages upgraded, 76 newly installed, 0 to remove and 0 not upgraded.
Need to get 56.9 MB of archives. After unpacking 171 MB will be used.
The following packages have unmet dependencies:
  libnss3: Conflicts: libnss3-1d (< 2:3.13.4-2) but 3.12.8-1+squeeze6 is installed.
  openjdk-7-jre: Depends: libfontconfig1 (>= 2.9.0) but 2.8.0-2.1 is installed.
             Depends: libjpeg8 (>= 8c) but it is not going to be installed.
             Depends: libpulse0 (>= 0.99.1) but it is not going to be installed.
  libgdk-pixbuf2.0-0: Depends: libglib2.0-0 (>= 2.31.18) but 2.24.2-1 is installed.
                  Depends: libjpeg8 (>= 8c) but it is not going to be installed.
                  Depends: libtiff4 (>= 3.9.5-2) but 3.9.4-5+squeeze8 is installed.
                  Breaks: libgtk2.0-0 (< 2.21.3) but 2.20.1-2 is installed.
                  Breaks: libgtk2.0-bin (< 2.21.3) but 2.20.1-2 is installed.
  icedtea-7-jre-cacao: Depends: libstdc++6 (>= 4.6) but 4.4.5-8 is installed.
  libatk-wrapper-java-jni: Depends: libglib2.0-0 (>= 2.31.8) but 2.24.2-1 is installed.
  openjdk-7-jre-headless: Depends: libjpeg8 (>= 8c) but it is not going to be installed.
                      Depends: libfontconfig1 (>= 2.9.0) but 2.8.0-2.1 is installed.
                      Depends: libglib2.0-0 (>= 2.26.0) but 2.24.2-1 is installed.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:   
1)     icedtea-7-jre-cacao [Not Installed]                   
2)     icedtea-7-jre-jamvm [Not Installed]                   
3)     libatk-wrapper-java-jni [Not Installed]               
4)     libgdk-pixbuf2.0-0 [Not Installed]                    
5)     libnss3 [Not Installed]                               
6)     openjdk-7-jre [Not Installed]                         
7)     openjdk-7-jre-headless [Not Installed]                
8)     openjdk-7-jre-lib [Not Installed]                     

     Leave the following dependencies unresolved:            
9)     libatk-wrapper-java recommends libatk-wrapper-java-jni

Accept this solution? [Y/n/q/?] 

Accepter la solution se termine ainsi :

No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

Désolé pour la sortie verbeuse, je suis un novice en la matière.

Quoi qu'il en soit, d'après ce que j'ai lu, il est assez difficile d'installer openjdk-7 sur squeeze - je suppose que je cherche une solution miracle ! Quelqu'un a-t-il réussi ? Devrais-je abandonner et prendre oracle ?

A la vôtre,

James

4voto

DEADPOOL Points 1

Je ne connais pas la raison particulière pour laquelle votre tentative a échoué (cela pourrait être lié à la conf APT, etc.), mais j'ai réussi à installer openjdk7 sur squeeze assez facilement sans aucun effet secondaire notable jusqu'à présent.

Un mot d'avertissement s'impose ici : mélanger des paquets provenant de différentes versions (par exemple stable et testing) est risqué. Un paquet installé depuis une autre version peut ne pas être compatible avec les autres et peut même casser d'autres paquets. Il est particulièrement risqué de mettre à jour des paquets critiques comme libc, qui sera mis à jour dans ce cas.

Tout d'abord, vous devez configurer les priorités des paquets afin qu'APT ne commence pas à tout extraire de testing. Pour plus d'informations, vous pouvez vous référer à la page de manuel d'apt_preferences(5) et à Le manuel de l'administrateur Debian .

  1. Inclure wheezy dans le sources.list (je suppose que vous l'avez déjà fait)

  2. Définir les priorités

    Définir squeeze comme la version par défaut

    $ cat /etc/apt/apt.conf.d/local  
    APT::Default-Release "squeeze";

    Cela définit effectivement la priorité 990 pour les paquets squeeze.

    En faisant une mise à niveau simulée, j'ai remarqué qu'APT essaie de mettre à niveau certains paquets de testing. apt-cache policy explique que cela se produit pour les paquets qui sont installés à partir des rétroportages (priorité du paquet installé 100 contre 500 pour les paquets disponibles dans testing). Je ne sais pas si c'est la meilleure chose à faire, mais pour résoudre ce problème (éviter de mettre à jour les paquets des rétroportages avec les versions de testing), j'ai minimisé la priorité de testing (vous n'avez pas à le faire si vous n'utilisez pas les rétroportages).

    $ cat /etc/apt/preferences.d/wheezy 
    Package: *
    Pin: release n=wheezy
    Pin-Priority: 10

    "10" est juste un nombre arbitraire que j'ai choisi, qui est inférieur à 100. Je suppose qu'avec cette épingle, les mises à jour de sécurité ne seront pas récupérées pour les paquets installés à partir de testing (je n'ai pas encore testé), il serait intéressant de résoudre ce problème également.

  3. Installer openjdk7 en choisissant wheezy comme version cible

    # apt-get install -t wheezy openjdk-7-jdk

Comme les bibliothèques essentielles seront mises à jour au cours du processus, soyez prêt à redémarrer certains services (qui seront redémarrés automatiquement avec votre accord). Et je vous déconseille de le faire dans une session graphique - on m'a demandé d'arrêter mon gestionnaire d'affichage avant de mettre à jour libc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X