Debian 11 Üzerine Apt ile Java Kurulumu: Kapsamlı Bir Rehber
Java, günümüzde dünya genelinde en yaygın kullanılan programlama dillerinden ve platformlarından biridir. Geniş uygulama yelpazesi, platform bağımsızlığı ve güçlü ekosistemi sayesinde kurumsal uygulamalardan mobil geliştirmeye, büyük veri işleme çözümlerinden web servislerine kadar birçok alanda kendine yer bulmuştur. Debian 11 (Bullseye) ise kararlılığı, güvenilirliği ve geniş paket depoları ile sunucular ve geliştirme ortamları için popüler bir Linux dağıtımıdır. Bu makale, Debian 11 işletim sistemi üzerine Java Development Kit (JDK) kurulumunu apt paket yöneticisi aracılığıyla adım adım, detaylı bir şekilde açıklamaktadır. Amacımız, hem yeni başlayanların hem de deneyimli kullanıcıların Java geliştirme ortamlarını sorunsuz bir şekilde kurmalarına yardımcı olmaktır.
Java’nın Debian 11’e kurulumu için genellikle OpenJDK tercih edilir. OpenJDK, Java SE platformunun açık kaynaklı bir uygulamasıdır ve Oracle JDK’ya göre lisanslama açısından daha esnektir, bu da onu çoğu geliştirici ve kurumsal ortam için ideal bir seçim haline getirir. apt paket yöneticisi, Debian’ın merkezi depolardan yazılım yükleme, güncelleme ve kaldırma için standart aracıdır. Bu sayede Java kurulumu oldukça basit ve güvenli bir süreç haline gelir. Makalemizde, OpenJDK’nın farklı sürümlerinin nasıl kurulacağını, varsayılan Java sürümünün nasıl yönetileceğini ve JAVA_HOME ortam değişkeninin nasıl ayarlanacağını detaylıca ele alacağız.
Ön Gereksinimler
Java kurulumuna başlamadan önce sisteminizin belirli gereksinimleri karşıladığından emin olmanız gerekir. Bu, sorunsuz bir kurulum süreci için kritik öneme sahiptir.
* Debian 11 (Bullseye) Kurulu Bir Sistem: Makale, Debian 11’in kurulu ve çalışır durumda olduğunu varsaymaktadır.
* Sudo Yetkilerine Sahip Bir Kullanıcı: Java paketlerini yüklemek için kök (root) ayrıcalıklarına ihtiyacınız olacaktır. Bu yetkilere sahip bir kullanıcı hesabı üzerinden sudo komutunu kullanarak işlemleri gerçekleştirebilirsiniz.
* İnternet Bağlantısı: apt paket yöneticisi, Java paketlerini Debian depolarından indirmek için aktif bir internet bağlantısına ihtiyaç duyar.
* Terminal Erişimi: Tüm kurulum ve yapılandırma işlemleri komut satırı (terminal) üzerinden yapılacaktır.
Bu ön gereksinimler sağlandığında, Java geliştirme ortamınızı kurmaya hazırsınız demektir.
Sistemi Güncelleme
Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin paket listelerini güncellemek ve mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, en güncel paket sürümlerine sahip olmanızı sağlar ve olası bağımlılık sorunlarını önler.
Terminalinizi açın ve aşağıdaki komutları çalıştırın:
sudo apt update
sudo apt upgrade -y
* sudo apt update: Bu komut, Debian’ın yapılandırılmış depolarından mevcut paket listelerini günceller. Bu, sisteminizin hangi paketlerin yükseltilebileceğini veya yeni hangi paketlerin mevcut olduğunu bilmesini sağlar.
* sudo apt upgrade -y: Bu komut, sisteminizdeki yüklü paketleri en son sürümlerine yükseltir. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vererek yükseltme işlemini etkileşimli olmadan tamamlar. Bu işlem biraz zaman alabilir, bu yüzden tamamlanmasını bekleyin.
Sisteminiz güncellendikten sonra, Java kurulumuna geçmeye hazırsınız.
OpenJDK Kurulumu
Debian depoları, OpenJDK’nın çeşitli sürümlerini doğrudan apt ile kurma imkanı sunar. OpenJDK, genellikle çoğu geliştirme ve üretim ortamı için yeterli ve tercih edilen çözümdür.
OpenJDK Neden Tercih Edilmeli?
OpenJDK’nın tercih edilmesinin birkaç önemli nedeni vardır:
* Açık Kaynak ve Ücretsiz: OpenJDK, tamamen açık kaynaklıdır ve herhangi bir lisans ücreti gerektirmez. Bu, hem bireysel geliştiriciler hem de büyük kuruluşlar için maliyet etkin bir çözümdür.
* Debian Depolarında Mevcut: Debian’ın resmi depolarında doğrudan bulunur, bu da kurulumunu son derece basit ve güvenli hale getirir. apt ile kurulan paketler, Debian’ın güvenlik güncellemeleriyle birlikte otomatik olarak güncel tutulur.
* Topluluk Desteği: Geniş bir geliştirici topluluğu tarafından desteklenir ve aktif olarak geliştirilir.
* Performans ve Uyumluluk: Performans ve uyumluluk açısından Oracle JDK ile neredeyse aynı seviyededir. Çoğu uygulama için aralarında fark hissedilmez.
Kullanılabilir OpenJDK Sürümlerini Listeleme
Kurulumdan önce, Debian 11 depolarında hangi OpenJDK sürümlerinin mevcut olduğunu görmek faydalı olacaktır. Bu, projenizin veya uygulamanızın gerektirdiği belirli bir Java sürümünü seçmenize yardımcı olur.
Aşağıdaki komutu kullanarak mevcut OpenJDK paketlerini arayabilirsiniz:
apt search openjdk | grep -E 'jdk|jre'
Bu komutun çıktısı, openjdk-11-jdk, openjdk-17-jdk, openjdk-21-jdk gibi farklı sürümleri ve bunlara ait JRE (Java Runtime Environment) paketlerini gösterecektir. Genellikle, JDK (Java Development Kit) geliştirme için gereklidir çünkü hem Java derleyicisini (javac) hem de Java çalışma zamanı ortamını (JRE) içerir. Sadece Java uygulamalarını çalıştırmanız gerekiyorsa JRE yeterli olacaktır.
Java sürümlerini seçerken, uzun süreli destek (LTS – Long Term Support) sürümlerini tercih etmek genellikle iyi bir uygulamadır. Java 11, Java 17 ve Java 21, şu anda en çok kullanılan LTS sürümleridir.
Belirli Bir OpenJDK Sürümünü Kurma
Şimdi, ihtiyacınıza göre belirli bir OpenJDK sürümünü nasıl kuracağınızı görelim.
Java 17 Kurulumu (LTS)
Java 17, güncel ve yaygın olarak kullanılan bir LTS sürümüdür. Birçok modern Java uygulaması ve çerçevesi bu sürümü destekler.
sudo apt install openjdk-17-jdk -y
Kurulum tamamlandıktan sonra, Java’nın doğru bir şekilde yüklendiğini doğrulamak için sürümünü kontrol edebilirsiniz:
java -version
Çıktı aşağıdaki gibi bir şey olmalıdır (sürüm numaraları farklılık gösterebilir):
openjdk version "17.0.x" 202x-xx-xx
OpenJDK Runtime Environment (build 17.0.x+x-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 17.0.x+x-Debian-1deb11u1, mixed mode, sharing)
Ayrıca, Java derleyicisinin (javac) de yüklü olduğunu doğrulamak için:
javac -version
Çıktı:
javac 17.0.x
Java 11 Kurulumu (Eski LTS)
Java 11, hala birçok eski projenin ve sistemin kullandığı bir diğer önemli LTS sürümüdür. Eğer belirli bir uyumluluk gereksiniminiz varsa veya eski bir projede çalışıyorsanız Java 11’i kurmanız gerekebilir.
sudo apt install openjdk-11-jdk -y
Kurulumu doğrulayın:
java -version
javac -version
Çıktılar Java 11’i göstermelidir.
Java 21 Kurulumu (En Yeni LTS)
Java 21, en yeni LTS sürümüdür ve en son dil özelliklerini ve performans iyileştirmelerini sunar. Yeni projelere başlıyorsanız veya en güncel teknolojileri kullanmak istiyorsanız Java 21’i tercih edebilirsiniz.
sudo apt install openjdk-21-jdk -y
Kurulumu doğrulayın:
java -version
javac -version
Çıktılar Java 21’i göstermelidir.
JRE Kurulumu (Sadece Çalıştırma Ortamı)
Eğer sadece Java uygulamalarını çalıştırmanız gerekiyorsa ve uygulama geliştirmeyecekseniz, JDK yerine sadece JRE’yi (Java Runtime Environment) kurabilirsiniz. JRE, Java sanal makinesini (JVM) ve temel kütüphaneleri içerir, ancak derleyiciyi (javac) içermez.
Örneğin, Java 17 JRE’yi kurmak için:
sudo apt install openjdk-17-jre -y
Yine de çoğu geliştirici JDK kurmayı tercih eder, çünkü JDK, JRE’yi de içerir ve size geliştirme için gerekli tüm araçları sağlar.
Varsayılan Java Sürümünü Yönetme
Sisteminizde birden fazla Java sürümü yüklüyse, varsayılan olarak hangi sürümün kullanılacağını yapılandırmanız gerekebilir. Debian’da bu işlemi update-alternatives komutu ile kolayca yapabilirsiniz.
update-alternatives Komutunu Kullanma
update-alternatives aracı, sistemdeki farklı programların (örneğin java, javac, jar vb.) alternatiflerini yönetmenizi sağlar.
Mevcut Java alternatiflerini ve varsayılan olarak hangisinin seçili olduğunu görmek için aşağıdaki komutu kullanın:
sudo update-alternatives --config java
Bu komutu çalıştırdığınızda, sisteminizde yüklü olan tüm Java çalışma zamanı ortamlarının bir listesini göreceksiniz. Örneğin:
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
3 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 manual mode
Press to keep the current choice[*], or type selection number:
Listede her bir Java sürümünün yolu, önceliği ve mevcut durumu (otomatik veya manuel mod) gösterilir. * işareti ile işaretlenmiş olan, şu anda varsayılan olarak kullanılan sürümdür. Başka bir sürümü varsayılan yapmak için, listeden ilgili numarasını girip Enter tuşuna basmanız yeterlidir.
Aynı işlemi Java derleyicisi (javac) için de yapmanız gerekebilir:
sudo update-alternatives --config javac
Bu şekilde, projenizin veya IDE’nizin gerektirdiği Java sürümünü kolayca seçebilirsiniz. Değişiklikleri yaptıktan sonra, java -version ve javac -version komutlarını tekrar çalıştırarak varsayılan sürümün değiştiğini doğrulayın.
Ortam Değişkenlerini Ayarlama (JAVA_HOME)
Birçok Java tabanlı uygulama, geliştirme aracı (Maven, Gradle) ve IDE (IntelliJ IDEA, Eclipse) JAVA_HOME ortam değişkeninin ayarlanmasını bekler. JAVA_HOME, sisteminize yüklü olan Java JDK’sının kök dizinini gösteren bir ortam değişkenidir.
İlk olarak, seçtiğiniz Java sürümünün gerçek yükleme yolunu bulmanız gerekir. Bunu yapmak için update-alternatives tarafından kullanılan sembolik bağlantının gerçek yolunu alabilirsiniz:
readlink -f /usr/bin/java
Bu komutun çıktısı /usr/lib/jvm/java-17-openjdk-amd64/bin/java gibi bir yol verecektir. JAVA_HOME için ihtiyacınız olan kısım /usr/lib/jvm/java-17-openjdk-amd64 olacaktır (yani /bin/java kısmı olmadan).
Şimdi JAVA_HOME ortam değişkenini ayarlayalım. Bu değişkeni kalıcı hale getirmek için genellikle kullanıcının ~/.bashrc veya ~/.profile dosyasına eklenir. Tüm sistem için ayarlamak isterseniz /etc/environment dosyasını düzenleyebilirsiniz. Genellikle ~/.bashrc dosyasına eklemek yeterlidir.
Terminalinizde aşağıdaki komutla ~/.bashrc dosyasını açın (Nano metin düzenleyiciyi kullanıyoruz):
nano ~/.bashrc
Dosyanın en sonuna aşağıdaki satırları ekleyin (örneğin Java 17 için):
# JAVA_HOME ortam değişkenini ayarla
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
export PATH=$PATH:$JAVA_HOME/bin
* export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64": Bu satır, JAVA_HOME değişkenini seçtiğiniz Java sürümünün kök dizinine ayarlar. Yolu kendi Java sürümünüze göre değiştirmeyi unutmayın.
* export PATH=$PATH:$JAVA_HOME/bin: Bu satır, Java’nın çalıştırılabilir dosyalarının (java, javac vb.) bulunduğu dizini sistemin PATH değişkenine ekler. Bu sayede bu komutları herhangi bir dizinden doğrudan çalıştırabilirsiniz.
Değişiklikleri kaydedin ve Nano’dan çıkın (Ctrl+O, Enter, Ctrl+X).
Yapılan değişikliklerin hemen etkili olması için ~/.bashrc dosyasını geçerli oturumunuzda kaynak olarak göstermeniz gerekir:
source ~/.bashrc
Şimdi JAVA_HOME değişkeninin doğru ayarlanıp ayarlanmadığını kontrol edebilirsiniz:
echo $JAVA_HOME
Çıktı olarak ayarladığınız Java yolunu görmelisiniz:
/usr/lib/jvm/java-17-openjdk-amd64
Bu adımlarla, Java geliştirme ortamınız Debian 11 üzerinde tamamen yapılandırılmış olacaktır.
Oracle JDK Kurulumu (Alternatif ve Gelişmiş)
Yukarıda OpenJDK kurulumunu detaylıca ele aldık. Çoğu kullanıcı için OpenJDK yeterlidir ve Debian depolarından kolayca kurulabilir. Ancak, bazı özel durumlar veya lisans gereksinimleri nedeniyle Oracle JDK’yı tercih etmek isteyebilirsiniz. Oracle JDK, Oracle tarafından geliştirilen ticari bir Java sürümüdür.
Neden Oracle JDK?
* Ticari Lisans: Oracle JDK’nın kullanımı ticari projeler için belirli lisanslama koşullarına tabidir. Üretim ortamlarında kullanmadan önce Oracle’ın lisans anlaşmalarını dikkatlice incelemeniz önemlidir.
* Bazı Özel Özellikler: Çok nadiren de olsa, OpenJDK’da bulunmayan veya farklı çalışan bazı özel Oracle özellikleri veya araçları gerekebilir. Ancak bu durum günümüzde giderek azalmaktadır.
* Destek: Oracle, ticari lisanslar altında Oracle JDK için doğrudan destek sunar.
Önemli Not: Oracle JDK’yı Debian 11’e apt paket yöneticisi aracılığıyla doğrudan Debian’ın resmi depolarından kurmak mümkün değildir. Genellikle Oracle’ın web sitesinden .tar.gz arşivini indirip manuel olarak sisteme kurmanız ve ardından update-alternatives ile sisteme tanıtmanız gerekir. Bu süreç, OpenJDK’nın apt ile kurulumuna göre daha karmaşıktır. Bu makale, “Apt ile Java Kurulumu” başlığı altında olduğu için Oracle JDK’nın manuel kurulum detaylarına girmeyeceğiz, ancak varlığını ve farklılıklarını belirtmek önemlidir. Eğer Oracle JDK kurmanız gerekiyorsa, Oracle’ın resmi web sitesindeki talimatları takip etmeniz önerilir. Manuel kurulum sonrası update-alternatives ve JAVA_HOME ayarları OpenJDK için anlatılanlarla benzer şekilde yapılır.
Java Uygulamalarını Çalıştırma
Java geliştirme ortamınızı kurduğunuza göre, basit bir Java programı yazıp derleyip çalıştırarak kurulumunuzu test edelim.
1. Bir Java Kaynak Dosyası Oluşturma:
Terminalinizde, yeni bir dizin oluşturun ve içine girin:
mkdir java_test
cd java_test
Şimdi HelloWorld.java adında bir dosya oluşturun ve içine aşağıdaki kodu yapıştırın:
nano HelloWorld.java
Dosyanın içine aşağıdaki kodu ekleyin:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Merhaba, Debian 11'de Java!");
}
}
Kaydedip çıkın (Ctrl+O, Enter, Ctrl+X).
2. Java Programını Derleme:
Java kaynak dosyasını derlemek için javac komutunu kullanın:
javac HelloWorld.java
Bu komut, HelloWorld.java dosyasını derleyerek HelloWorld.class adında bir bytecode dosyası oluşturacaktır. Eğer bir hata mesajı almazsanız, derleme başarılı demektir.
3. Java Programını Çalıştırma:
Derlenmiş bytecode dosyasını çalıştırmak için java komutunu kullanın:
java HelloWorld
Ekranda aşağıdaki çıktıyı görmelisiniz:
Merhaba, Debian 11'de Java!
Bu çıktıyı görüyorsanız, Java geliştirme ortamınız başarıyla kurulmuş ve çalışır durumdadır.
Sorun Giderme ve İpuçları
Java kurulumu sırasında veya sonrasında karşılaşabileceğiniz bazı yaygın sorunlar ve bunların çözümleri:
* java: command not found veya javac: command not found:
* Bu genellikle Java’nın PATH ortam değişkeninde doğru şekilde ayarlanmadığı anlamına gelir. JAVA_HOME ve PATH ayarlarınızı ~/.bashrc veya /etc/environment dosyasında kontrol edin.
* source ~/.bashrc komutunu çalıştırmayı unutmuş olabilirsiniz. Yeni bir terminal oturumu açmak da bashrc dosyasındaki değişiklikleri yükleyebilir.
* update-alternatives --config java ve update-alternatives --config javac komutlarıyla varsayılan Java sürümünün doğru ayarlandığından emin olun.
* Error: Could not find or load main class HelloWorld:
* Bu hata genellikle java komutunu yanlış dizinde çalıştırdığınızda veya sınıf adını yanlış yazdığınızda ortaya çıkar. HelloWorld.class dosyasının bulunduğu dizinde olduğunuzdan ve komutu java HelloWorld şeklinde doğru yazdığınızdan emin olun.
* Dosya adının ve sınıf adının büyük/küçük harf duyarlılığına dikkat edin (HelloWorld ve helloworld farklıdır).
* Birden Fazla Java Sürümü Çakışması:
* Sisteminizde birden fazla Java sürümü yüklüyse ve uygulamalarınız yanlış sürümü kullanıyorsa, update-alternatives --config java ve update-alternatives --config javac komutlarını kullanarak varsayılan sürümü belirleyin.
* Projenizin veya IDE’nizin kendi Java sürümü ayarları olabilir. IDE’nizin proje ayarlarını kontrol edin.
* apt Hataları (Paket Bulunamadı, Depo Sorunları):
* sudo apt update komutunu çalıştırarak paket listelerinizin güncel olduğundan emin olun.
* İnternet bağlantınızı kontrol edin.
* /etc/apt/sources.list dosyanızdaki depo adreslerinin doğru olduğundan emin olun.
* Düşük Disk Alanı:
* Java JDK kurulumu bir miktar disk alanı gerektirir. Yeterli disk alanına sahip olduğunuzdan emin olun. df -h komutu ile disk kullanımınızı kontrol edebilirsiniz.
* Performans Sorunları:
* Java uygulamalarının yavaş çalıştığını düşünüyorsanız, sistem kaynaklarınızı (RAM, CPU) kontrol edin. Büyük Java uygulamaları önemli miktarda RAM gerektirebilir.
Bu ipuçları ve sorun giderme adımları, çoğu yaygın Java kurulumu sorununu çözmenize yardımcı olacaktır.
Sonuç
Bu kapsamlı rehberde, Debian 11 (Bullseye) işletim sistemi üzerine apt paket yöneticisi aracılığıyla Java Development Kit (JDK) kurulumunu adım adım ele aldık. OpenJDK’nın farklı LTS sürümlerini (Java 11, Java 17, Java 21) nasıl kuracağınızı, sisteminizde birden fazla Java sürümü varken varsayılan sürümü update-alternatives komutuyla nasıl yöneteceğinizi ve JAVA_HOME ortam değişkenini nasıl ayarlayacağınızı öğrendiniz. Ayrıca, basit bir “Merhaba Dünya” programı ile kurulumunuzu test ettik ve karşılaşabileceğiniz yaygın sorunlara çözüm önerileri sunduk.
Debian 11’in kararlılığı ve apt paket yöneticisinin kolaylığı sayesinde, Java geliştirme ortamınızı kurmak oldukça basit ve güvenilir bir süreçtir. Artık Java uygulamaları geliştirmeye başlayabilir, mevcut projelerinizi derleyebilir ve çalıştırabilir veya Java tabanlı araçları kullanabilirsiniz.
Java dünyası oldukça geniştir ve keşfedilecek çok şey vardır. Kurulumunuzu tamamladıktan sonra, bir entegre geliştirme ortamı (IDE) kurmayı düşünebilirsiniz. IntelliJ IDEA, Eclipse veya VS Code gibi IDE’ler, Java geliştirme sürecinizi önemli ölçüde kolaylaştıracaktır. Ayrıca, Maven veya Gradle gibi derleme araçlarını öğrenmek, bağımlılık yönetimini ve proje otomasyonunu basitleştirmenize yardımcı olacaktır.
Debian 11 üzerinde sağlam bir Java temeli oluşturdunuz. Şimdi bu temeli kullanarak heyecan verici Java projeleri geliştirmeye başlayabilirsiniz. Başarılar dileriz!