author Ahmad Muhardian

Pilihan Alternatif Java dan Symbolic Link yang Buntu


Ketika saya bermain-main dengan perintah update-alternative untuk menambahakan pilihan alternatif java, malah terjadi error.

Hal ini disebabkan karena saya salah memasukkan symbolic link ketika menambahkan pilihan alternatif.

Berikut ini perintah salah yang menyebabkan masalah:

sudo update-alternative --install /etc/alternatives/java java /opt/jdk1.8.0_77/bin/java

Perhatikan teks yang berwarna merah. Teks tersebut merupakan symbolic link yang berlokasi di /etc/alternatives.

Symbolic link yang seharusnya dimasukkan adalah /usr/bin/java.

Akibatnya, error:

[email protected]:~$ sudo update-alternatives --config java
update-alternatives: error: cannot stat file '/etc/alternatives/java': Too many levels of symbolic links

Tidak dapat memilih alternatif java, karena symbolic link java yang berada di /etc/alternatives buntu (broken).

Berikut ini cara saya mengatasinya:

  1. Hapus symbolic link yang buntu tadi

    sudo rm /etc/alternatives/java
  2. Buat symbolic link java dari JDK yang sudah terinstal

    sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/bin/java /etc/alternatives/java
  3. Hapus pilihan alternatif yang menyebabkan error tadi

    sudo update-alternative --remove java /opt/jdk1.8.0_77/bin/java
  4. Coba pilih alternatif lagi

    sudo update-aternative --config java

Selanjutnya kita bisa tambahkan lagi alternatif java-nya dengan perintah yang benar. Silahkan baca caranya di: Cara Mengatasi JDK yang Lebih dari Satu di Linux.

Mengapa perintah yang salah di atas tadi bisa menyebabkan error?

Mungkin karna symbolic link yang ada di direktori /etc/alternatives/ adalah link yang dipakai untuk menyambungkan symbolic link /usr/bin/java dengan java di JDK-nya yang asli.

Berikut ini ilustrasi hubungan antar link dan file asli.

File java yang berada di dalam JDK pilihan alternatif merupakan file asli. Sedangkan, yang berada di luar adalah file link yang saling menyambung hingga ke file asli.

Ketika kita mengetik perintah java di terminal, file yang eksekusi adalah symbolic link yang berada di /usr/bin/java. File ini tersambung sampai ke file asli.

Ternyata masalah kecil ini menambah pengalaman dan pengetahuan saya.

Syukuri setiap masalah yang dihadapi. Di balik masalah selalu ada hikmah yang tersembunyi. 😄

Baca Juga ini

Cara Menggunakan Banyak JDK di Linux agar tidak Bentrok

Cara Menggunakan Banyak JDK di Linux agar tidak Bentrok

Saya menginstal lebih dari satu JDK di Linux (Xubuntu). Ada Open JDK 8, Open JDK 7, dan Oracle JDK 8. Awalnya saya hanya punya Open JDK 8. Kemudian setelah mengintal Gradle, Open JDK 7 juga ikut tersintal. Selain itu, saya juga menginstal Oracle JDK 8 Secara manual di direktori /opt. Saat ini JDK yang sedang aktif digunakan adalah Open JDK 7. Beberapa IDE tidak mendukung bila menggunakan Open JDK 7.

Belajar Java #02: Persiapan Pemrograman Java di Linux

Belajar Java #02: Persiapan Pemrograman Java di Linux

Sebenarnya, kita hanya butuh dua alat untuk bisa memulai pemrograman Java di Linux. Apa saja itu? JDK Netbeans Apa itu JDK? Apa itu Netbeans? Bagaimana menginstalnya di Linux? Mari kita bahas.. googletag.cmd.push(function () { googletag.display('div-gpt-ad-multibanner1'); }); Apa itu JDK?JDK merupakan singkatan dari Java Development Kit. JDK menyediakan compiler, library, API, dan tools lainnya. Jika kamu baru pertama kali mendengar istilah-istilah ini, jangan khawatir.

Apa Fungsi String[] args pada Pemrograman Java?

Apa Fungsi String[] args pada Pemrograman Java?

Saat awal belajar pemrograman Java, kita akan menemukan String[] args. Apa sih fungsinya? Kenapa kita harus menuliskannya?

Belajar Java: Memahami 2 Jenis Perulangan dalam Java

Belajar Java: Memahami 2 Jenis Perulangan dalam Java

Apa yang akan kita lakukan bila ingin menyuruh komputer mengerjakan perintah yang berulang-ulang? Misalkan kita ingin menyuruh komputer menampilkan teks Petani Kode sebanyak 5x. Maka kita bisa menyuruhnya seperti ini: System.out.println("Petani Kode"); System.out.println("Petani Kode"); System.out.println("Petani Kode"); System.out.println("Petani Kode"); System.out.println("Petani Kode"); Tapi… bagaimana kalau sebanyak 1000x, apa kita akan mampu mengetik kode sebanyak itu? Tentunya tidak. Karena itu, kita harus pakai perulangan. Contoh perulangan:

Belajar Java: 6 Jenis Operator yang Harus Dipahami

Belajar Java: 6 Jenis Operator yang Harus Dipahami

Operator dalam pemrograman digunakan untuk melakukan operasi tertentu. Misalkan kita ingin menjumlahkan nilai dari variabel x dan y, maka kita bisa menggunakan operator penjumlahan (+). x + y Ada enam jenis kelompok operator dalam pemrograman Java: Operator Artimatika; Operator Penugasan; Operator Pembanding; Operator Logika; Operator Bitwise; dan Operator Ternary. Bila digambarkan dalam mind map, akan terlihat seperti ini: Ukuran penuh dari mind map ini dapat kamu lihat di: coggle.

Belajar Java: Memahami 3 Bentuk Percabangan dalam Java

Belajar Java: Memahami 3 Bentuk Percabangan dalam Java

Kalau kita perhatikan, alur pengeksekusian sebuah kode program dikerjakan satu per satu dari atas sampai ke bawah. Baris demi baris dibaca, kemudian komputer mengerjakan apa yang diperintahkan. Misalnya seperti ini: Alur programnya satu, tidak ada belokan atau percabangan. Ngomong-ngomong apa itu percabangan? Percabangan hanyalah sebuah istilah yang digunakan untuk menyebut alur program yang bercabang. Percabangan juga dikenal dengan “Control Flow”, “Struktur Kondisi”, “Struktur IF”, “Decision”, dsb.