Bagaimana saya bisa menginstal JDK tanpa kepala di server Ubuntu Jaunty?

8

Baru-baru ini saya menyiapkan server build yang memerlukan JDK untuk dijalankan (misalnya, untuk mengkompilasi sumber Java). Paket OpenJDK di Ubuntu menarik dalam OpenJDK JRE sebagai ketergantungan yang, pada gilirannya, tergantung pada sejumlah besar paket yang hanya relevan untuk lingkungan grafis. Untuk JRE standar, ada versi paket tanpa kepala, tetapi untuk JDK, tidak.

Masalah ini telah dibahas di berbagai tempat sebelumnya, dan satu solusi yang saya temukan dan gunakan adalah:

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

Sementara ini berhasil, ia sekarang meninggalkan sistem saya dengan pohon dependensi yang rusak dan apt-get menolak instalasi lebih lanjut sampai saya jalankan apt-get -f.

Apakah ada solusi yang lebih baik untuk ini?

Hanno Fietz
sumber

Jawaban:

4

Ini telah dibahas dalam bug ubuntu berikut .

Sejauh yang saya bisa lihat, Anda memiliki opsi berikut:

  1. Gunakan Java JDK yang tidak bebas dari Sun. (Anda dapat menggunakan program JavaPackage dari debian / ubuntu untuk membuat pacakge deb dari java JDK yang tidak bebas).
  2. Bekerja dengan pengembang ubuntu untuk mengatasi masalah ini.
  3. Buat paket OpenJDK-headless Anda sendiri.

Tentu saja, opsi 2 adalah yang terbaik dalam jangka panjang, karena memecahkan masalah untuk semua orang, dan opsi 1 dan 3 menyelesaikannya hanya untuk Anda, namun 1 dan 3 lebih cepat.

Tom Feiner
sumber
1
Utas bug itu tidak terlihat sangat menjanjikan bagi saya. Tampaknya ada beberapa efek samping yang harus diatasi dan pengelola tampaknya tidak terlalu bersemangat untuk menyelesaikan masalah. Saya mungkin akan egois dan pergi untuk Sun JDK.
Hanno Fietz
1
Apa yang harus saya lakukan untuk mengimplementasikan opsi 3? Lihat serverfault.com/questions/755573 untuk pertanyaan saya.
equaeghe
2

Tidak bisakah Anda mengunduh dan menginstal Sun's JDK? Tidak ada kompilasi, tidak perlu X11. Saya lebih suka ke opsi yang dikemas.

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
sumber
0

Saya menduga dia hanya perlu memperbarui tautan dll-alternatifnya:

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

(atau semacam itu)

Djangofan
sumber