
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 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:
petanikode@imajinasi:~$ 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:
- Hapus symbolic link yang buntu tadi
sudo rm /etc/alternatives/java
- Buat symbolic link java dari JDK yang sudah terinstal
sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/bin/java /etc/alternatives/java
- Hapus pilihan alternatif yang menyebabkan error tadi
sudo update-alternative --remove java /opt/jdk1.8.0_77/bin/java
- Coba pilih alternatif lagi
sudo update-aternative --config java
Selanjutnya kita bisa tambahkan lagi alternatif java-nya dengan perintah yang benar. Silakan 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: Operator ^ (xor) di Java bukan untuk Membuat Pangkat | Menghitung Akar Kuadrat dan Akar Kubik dengan Java | Apa Fungsi String[] args pada Pemrograman Java?
Read More
Pengaduan Berbasis Web Tingkatkan Layanan Desa
Revalita 22/07/2025 0Dalam tatanan pemerintahan desa yang semakin kompleks, kehadiran kanal aspirasi dan pengaduan masyarakat bukan hanya penting, tetapi mendesak. Banyak persoalan di tingkat desa seperti pelayanan…
Claude Code Dibatasi Anthropic Tanpa Peringatan
Revalita 22/07/2025 0Platform kecerdasan buatan Claude Code milik Anthropic tengah menghadapi kritik dari pengguna akibat penerapan batas…
Hyper Gunakan AI untuk Tangani Panggilan 911 Non-Darurat
Revalita 22/07/2025 0Startup teknologi suara berbasis kecerdasan buatan (AI), Hyper, resmi muncul dari mode stealth setelah mengamankan…
Fitur Account Switching Baru di Chrome iOS
Revalita 22/07/2025 0Google meluncurkan fitur baru untuk pengguna Chrome di iOS yang memungkinkan perpindahan akun Google terutama…
Bedrock Robotics Otomatisasi Alat Konstruksi Self-Driving
Revalita 22/07/2025 0Bedrock Robotics adalah startup teknologi kendaraan otonom yang didirikan oleh para mantan insinyur dari Waymo…
Categories
- Business (158)
- Company Profile (3)
- Developer Connect (126)
- HR and L&D (23)
- Human Reasearch and Development (15)
- Landing Page (2)
- Marketing (31)
- Media Relations (72)
- News (46)
- Public Relations (48)
- Story (8)
- Technology (474)
- Tips and Trick (74)
- Toko Online (2)
- Uncategorized (35)
- Video & Tips (13)
- Wesclic (52)
Popular Tags