Comment puis-je installer un JDK sans tête sur un serveur Ubuntu Jaunty?

8

J'ai récemment mis en place un serveur de build qui nécessite un JDK pour fonctionner (par exemple, pour compiler les sources Java). Le package OpenJDK dans Ubuntu extrait l'OpenJDK JRE en tant que dépendance qui, à son tour, dépend d'un grand nombre de packages qui ne sont pertinents que pour les environnements graphiques. Pour le JRE standard, il existe une version sans tête du package, mais pour le JDK, non.

Cette question a été discutée à divers endroits auparavant, et une solution que j'ai trouvée et utilisée était la suivante:

$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb

Bien que cela ait fonctionné, il laisse maintenant mon système avec une arborescence de dépendances cassée et apt-get refuse d'autres installations jusqu'à ce que j'exécute apt-get -f.

Y a-t-il une meilleure solution à cela?

Hanno Fietz
la source

Réponses:

4

Cela a été discuté dans le bogue ubuntu suivant .

Autant que je sache, vous avez les options suivantes:

  1. Utilisez le JDK Java non libre de Sun. (Vous pouvez utiliser le programme JavaPackage de debian / ubuntu pour créer un paquetage deb du JDK java non libre).
  2. Travaillez avec les développeurs ubuntu pour résoudre ce problème.
  3. Créez votre propre package sans tête OpenJDK.

Bien sûr, l'option 2 est la meilleure à long terme, car elle résout le problème pour tout le monde, et les options 1 et 3 ne le résolvent que pour vous, mais 1 et 3 sont plus rapides.

Tom Feiner
la source
1
Ce fil de bogue ne me semble pas très prometteur. Il semble qu'il y ait des effets secondaires à résoudre et le responsable ne semble pas trop désireux de résoudre le problème. Je serai probablement égoïste et opterai pour le Sun JDK.
Hanno Fietz
1
Que dois-je faire pour implémenter l'option 3? Voir serverfault.com/questions/755573 pour ma question.
equaeghe
2

Ne pourriez-vous pas simplement télécharger et installer le JDK de Sun? Aucune compilation, aucun X11 requis. Je le préfère aux options emballées.

chmod +x ~/jdk-6u14-linux-i586.bin
cd /usr
sudo mkdir java
cd java
sudo ~/jdk-6u14-linux-i586.bin
export JAVA_HOME=/usr/java/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
CoverosGene
la source
0

Je soupçonne qu'il avait juste besoin de mettre à jour ses liens etc-alternatives:

update-alternatives --set java /usr/lib/jvm/default-java/bin/java

(ou quelque chose comme ça)

djangofan
la source