Ana Sayfa » *nix » CentOS 5.2 üzerine SUN Java Kurulumu (JDK 1.6)

CentOS 5.2 üzerine SUN Java Kurulumu (JDK 1.6)


BerbatKötüİdare EderGüzelHarika (Toplam 10 oy. 5 puan üzerinden ortalama 4,60 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading...

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY9T8Ega' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Java / JDK Üzerinde yüklü olan bir sunucuya 'ın Java platformunu kurmam icap etti, ancak üzerinde gelen ya da 'ın sitesinden indirip sisteme kurulabilen versiyonu desktoplar ve son kullanıcıların klasik ihtiyaçlarını karşılayabilen bir sürüm olduğundan dolayı, bir sunucu bileşeni olarak ya da development ortamları için ihtiyacı olduğunda bu versiyon -lisans sorunları vs. yüzünden- yeterli olamıyor.

İşte, bu yazıda 5.2 üzerinde, sunucular ve yazılım geliştirme ortamları için gerekli olan Java Platformu (ve ) kurulumuna ait notları bulabilirsiniz.

Kurulumun yapılabilmesi için gereken şey, 'ın sitesinden indirilebilecek java binarylerini, linuxlar için Java uyumluluğu sağlamayı amaç edinmiş “Jpackage Project” isimli oluşumun sunduğu nosrc RPM'lerle yeniden biçimlendirerek kendi RPM dosyalarımızı oluşturmak ve sisteme yüklemektir. İşte nasıl yapıldığı.

Bölüm 1: RPM Rebuilding


Bu adımda, Sun'ın -kodu açık olmadığından dolayı- binary olarak gelen JDK paketini ve Jpackage'in nosrc RPM'ini kullanarak rebuild işlemi yapacağız. Bu işlem sonunda sisteme kurulacak olan RPM paketlerini elde etmiş olacağız.

RPM building yapmak için öncesinde bu işlem için gerekli olan ortamın hazırlanması gerekiyor.

Warning UYARI: Bir yazılımın kaynak kodlarından ya da binary dosyasından RPM'inin oluşturulması işlemi kesinlikle root kullanıcısı ile yapılmamalıdır. Zira, kaynak kodlarının derlenmesi işlemi, sistemde yüklü olan diğer yazılımların da kullanmakta olduğu kütüphaneleri değiştirebileceği için sisteminizde ciddi sorunlar oluşabilir. Yazıda, -non-root olarak tabir edilen- root olmayan bir kullanıcı ile çalıştırılması gereken komutlar $ işareti ile; root olarak çalıştırılması gereken komutlar # işareti ile anlatılacaktır.

non-root bir hesap ile sisteme bağlandıktan sonra, kullanıcınızın home dizini altında “.rpmmacros” olarak adlandırılan rpmbuild yapılandırma dosyasını oluşturun.

$ touch ~/.rpmmacros

Oluşturduğunuz .rpmmacros dosyasının içine, kullanıcı adı kısmını düzenleyerek aşağıdaki satırları girin.

%_topdir /home/kullanici_adi/rpmbuild
%_tmppath %{_topdir}/tmp

(Görüldüğü gibi ilk satır, rpm building işleminin yapılacağı -non-root kullanıcımızın home'u altındaki- build dizinini, ikinci satır da geçici dosyalar için temp dizinini gösteriyor.)

Şimdi, rpmbuild dizinini ve gerekli olan alt dizinleri oluşturun.

$  mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD}

rpmmacros yapılandırma dosyası ile ilgili işlemler bu kadar.

Bundan sonra, yum kullanarak derleme işlemleri için gerekli olan development paketlerini kuracağız. Root kullanıcısına geçip aşağıdaki komutu vererek kurulumu yapın.
Not: Eğer CentOS kurulumunda development paketlerini de kurduysanız bu paketlerin sistemde yüklü olduğunu belirtir uyarı alırsınız.

#  yum install -y rpm-build gcc gcc-c++ redhat-rpm-config

Artık, RPM building işlemi için herşey hazır. Şimdi RPM'leri build edip JDK kurulumunu yapabiliriz.

Bölüm 2: SUN JDK 1.6 Kurulumu


Bu adımda, yazının başında bahsettiğim gibi Java Platformunun sisteminizde düzgün olarak çalışabilmesi için SUN'ın yayınladığı JDK binary dosyasını JPackage'in nosrc RPM'ini kullanarak RPM dosyası haline getireceğiz.

Öncelikle, sisteme jpackage-utils isimli paketin kurulmasi gerekiyor.

Ben CentOS 5.2 kullanıyorum ve bu paket CentOS 5'in standart yum depolarında bulunuyor. Gene root kullanıcısı ile aşağıdaki komutu girebilir ve kurulumu yapabilirsiniz.

# yum install jpackage-utils

Centos 4 kullaniyorsaniz, paketi yum depolarinda bulamazsiniz. O nedenle http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/ adresinden indirip aşağıdaki komut ile kurmanız gerekiyor.

# rpm -Uvh jpackage-utils-1.7.3-1jpp.noarch.rpm

Bundan sonraki aşama, gerekli paketlerin download edilmesi.
Önce, http://mirrors.dotsrc.org/jpackage/1.7/generic/SRPMS.non-free/ adresinden kurmak istediğimiz JDK versiyonu ile uyumlu Jpackage nosrc RPM dosyasını indiriyoruz. Şu anki son versiyon java-1.6.0-sun-1.6.0.7-1jpp.nosrc.rpm

$cd ~/rpmbuild/
$wget (Jpackage nosrc rpm download linki)

Şimdi de Sun'dan JDK binarysini indirelim.

Ben kurulumu yaptığımda, JPackage'in nosrc RPM'inin en güncel versiyonu demin de bahsettiğim gibi “java-1.6.0-sun-1.6.0.7-1jpp.nosrc.rpm” idi. Ancak SUN'ın sitesinde son sürüm JDK binary dosyası jdk-6u10--i586.bin olarak geçiyor. Versiyonu 1.6.0.7 olan jpackage nosrc RPM'ini kullanıp, güncel sürümü 1.0.6.10 SUN JDK binarysini versiyon farklılıklarından dolayı yeniden biçimlendirip RPM haline getirmek mümkün değil. Bu nedenle JDK'nın eski sürümlerinin yayınlandığı arşiv sayfasından, elinizdeki nosrc RPM sürümü ile uyumlu olan binary dosyasını indirmelisiniz. Sonuc olarak versiyonların birbirini tutması gerekiyor.

Güncel sürüm : http://java.sun.com/javase/downloads/index.jsp
Eski sürümler: http://java.sun.com/products/archive/

Doğru sürümü bulduktan sonra rpmbuild dizinindeki SOURCES dizinine geçip, binary dosyasını download edin.

$ cd ~/rpmbuild/SOURCES
$ wget (Sun download sayfasindan aldiginiz uzun download linki)

Not: Download edilen dosyanin ismi devasa bir uzunlukta ve download oturumu ile ilgili karakterlere sahip bir sekilde geliyor. Ismini degistirmenizi oneririm :)

Gerekli olan paketleri indirdikten sonraki aşama rebuild işlemini yapmak. Bir üst dizine (yani rpmbuild dizinine) çıkın ve non-root olduğunuza emin olarak rpmbuild işlemini yapın.

$ cd ~/rpmbuild/
$ rpmbuild --rebuild java-1.6.0-sun-1.6.0.7-1jpp.nosrc.rpm

Rebuilding biraz uzun sürecektir, belki kendinize bir kahve yapmak istersiniz…

Bu işlem sorunsuz olarak bittiyse, oluşturulan RPM'leri ~/rpmbuild/RPMS/i586/ dizini altında bulabilirsiniz.
İşte benzer bir çıktı:

[cagri@centosvm /]$ ls -l ~/rpmbuild/RPMS/i586/
-rw-rw-r-- 1 43086865 Oct 29 22:59 java-1.6.0-sun-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1    35878 Oct 29 23:00 java-1.6.0-sun-alsa-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1 10472080 Oct 29 23:00 java-1.6.0-sun-demo-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1 21709016 Oct 29 23:00 java-1.6.0-sun-devel-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1  1259743 Oct 29 23:00 java-1.6.0-sun-fonts-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1    26062 Oct 29 23:00 java-1.6.0-sun-jdbc-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1   806767 Oct 29 23:00 java-1.6.0-sun-plugin-1.6.0.7-1jpp.i586.rpm
-rw-rw-r-- 1 17692817 Oct 29 23:00 java-1.6.0-sun-src-1.6.0.7-1jpp.i586.rpm

Bundan sonra yapmak gereken tek şey, oluşturduğumuz rpm'leri sisteme yüklemek. (Elbette rook kullanıcısı ile yükleyebilirsiniz.)
Aşağıdaki komutu tüm RPM'lere uygulayabilir ve hepsinin kurulumunu yapabilirsiniz.
Not: Ben de java-1.6.0-sun-fonts-1.6.0.7-1jpp.i586.rpm ve java-1.6.0-sun-jdbc-1.6.0.7-1jpp.i586.rpm kurulumları dependencies sorunu çıkardı. Fontlarla ve Java üzerinden Database bağlantısı kurmak gibi bir niyetim olmadığı için üstünde durmadım. Eğer sizin de ihtiyacınız yoksa es geçebilirsiniz.

#yum --nogpgcheck localinstall /dizin/java-1.6.0-sun-1.6.0.7-1jpp.i586.rpm

RPM'leri sisteminize yükledikten sonra, (root olarak) aşağıdaki komut ile kurduğumuz java versiyonunu seçiyoruz.

# alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.6.0-sun/bin/java

Enter to keep the current selection[+], or type selection number:

Bu aşamadan sonra kurulum bitmiş oluyor.
En son olarak da test edelim.

$ java -version

Eğer herşey yolunda gittiyse, aşağıdakine benzer bir çıktı almanız gerekir.

java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode)

İşte artık sunucu bileşeni olarak ya da geliştirme ortamlarında kullanılmak üzere bir Sun Java (+JDK) platformumuz var.

Kaynak: http://wiki.centos.org/HowTos/JavaOnCentOS

Visited 861 times, 1 visit(s) today
Kategoriler: *nix |

Bu yazılar da ilginizi çekebilir:


- CentOS6 Üzerine Oracle Java JDK 1.7 Kurulumu
- Wget – Oracle Java Direct Download
- JODConverter ile Office Dosyaları Arasında Convert İşlemleri
- Centos 5.2 üzerine Red5 Flash Server Kurulumu
- Centos/Linux üzerine VMware Server 2.0 Kurulumu

Yorumlar


  1. Tuyra POL | (Kasım 9th, 2008 12:30 am)

    Merhaba;
    Güzel anlatımınız için çok teşekkürler. Kurulumu başarılı bir şekilde gerçekleştirdim. Şimdi de Red5’e geçiyorum. :)

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Rica ederim.

    İşinize yaradıysa ne mutlu.

    [Cevapla]

  2. Yusuf Sahin | (Kasım 23rd, 2008 4:28 pm)

    Faydalı olmuş.Teşekkürler.

    [Cevapla]

  3. baris | (Aralık 19th, 2008 1:36 pm)

    teşekkür ederim

    [Cevapla]

  4. Kaan | (Mart 28th, 2009 11:22 am)

    databse olmadiktan sonra java ne ise yarayacak?

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Database gerektirmeyen tüm java uygulamalarına…

    Sizin db gereksinimi duyan bir java uygulamanız varsa, öncesinde bağımlı paketleri yüklemeniz sureti ile ilgili rpm’i sisteminize sorunsuz olarak ekleyebilirsiniz.
    Ben, bana lazım olmadığı için yüklememiştim.

    [Cevapla]

  5. joomla hosting | (Mayıs 13th, 2009 11:06 am)

    anlatım için teşekkürler

    kolay gelsin

    [Cevapla]

  6. gökhan | (Ağustos 16th, 2009 10:57 am)

    merhaba arkadaşlar biraz zun olacak ama bende aşağıdaki hatayı verdi yardımcı olabilirmisiniz ne yapmalıyım sizce

    error: cannot open java-1.6.0-sun-1.6.0.7-1jpp.nosrc.rpm: No such file or directory
    root@sunucu [~/rpmbuild]# dir
    ./ ../ BUILD/ java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm java-1.6.0-sun-manual-1.6.0-1jpp.nosrc.rpm RPMS/ SOURCES/ SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD/ SPECS/ SRPMS/ tmp/
    root@sunucu [~/rpmbuild]# rpmbuild –rebuild java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm
    Installing java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm
    warning: InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID c431416d
    warning: user jasonc does not exist – using root
    warning: group jasonc does not exist – using root
    warning: user jasonc does not exist – using root
    warning: group jasonc does not exist – using root
    warning: user jasonc does not exist – using root
    warning: group jasonc does not exist – using root
    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.19256
    + umask 022
    + cd /usr/src/redhat/BUILD
    + LANG=C
    + export LANG
    + unset DISPLAY
    + rm -rf /usr/src/redhat/BUILD/jdk1.6.0_11
    + export MORE=10000
    + MORE=10000
    + sh /usr/src/redhat/SOURCES/jdk-6u11-linux-i586.bin
    sh: /usr/src/redhat/SOURCES/jdk-6u11-linux-i586.bin: No such file or directory
    error: Bad exit status from /var/tmp/rpm-tmp.19256 (%prep)

    RPM build errors:
    InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID c431416d
    user jasonc does not exist – using root
    group jasonc does not exist – using root
    user jasonc does not exist – using root
    group jasonc does not exist – using root
    user jasonc does not exist – using root
    group jasonc does not exist – using root
    Bad exit status from /var/tmp/rpm-tmp.19256 (%prep)
    root@sunucu [~/rpmbuild]# rpmbuild –rebuild java-1.6.0-sun-manual-1.6.0-1jpp.nosrc.rpm
    Installing java-1.6.0-sun-manual-1.6.0-1jpp.nosrc.rpm
    warning: InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID c431416d
    warning: user scop does not exist – using root
    warning: group scop does not exist – using root
    error: File /usr/src/redhat/SOURCES/jdk-6-doc.zip: No such file or directory

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Eksik dosyalar var. Sanirim kurulum adimlarindan birisini atladiniz.
    Tekrar goz atmaniz sorunu cozecektir.

    [Cevapla]

  7. Halid | (Kasım 2nd, 2009 7:05 pm)

    Merhabalar,
    rpmbuild –rebuild java-1.6.0-sun-1.6.0.7-1jpp.nosrc.rpm komutu sonrasında şöyle bir çıktı almaktayım :)

    Bu konuda bilginiz var mı? Nasıl çözebilirim bu durumu. İşletim sistemim Centos 5.4

    Installing java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm
    warning: InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID c431416d
    warning: user jasonc does not exist – using root
    warning: group jasonc does not exist – using root
    warning: user jasonc does not exist – using root
    warning: group jasonc does not exist – using root
    warning: user jasonc does not exist – using root
    warning: group jasonc does not exist – using root
    Executing(%prep): /bin/sh -e /home/halid/rpmbuild/tmp/rpm-tmp.12862
    + umask 022
    + cd /home/halid/rpmbuild/BUILD
    + LANG=C
    + export LANG
    + unset DISPLAY
    + rm -rf /home/halid/rpmbuild/BUILD/jdk1.6.0_11
    + export MORE=10000
    + MORE=10000
    + sh /home/halid/rpmbuild/SOURCES/jdk-6u11-linux-i586.bin
    sh: /home/halid/rpmbuild/SOURCES/jdk-6u11-linux-i586.bin: No such file or directory
    error: Bad exit status from /home/halid/rpmbuild/tmp/rpm-tmp.12862 (%prep)

    RPM build errors:
    InstallSourcePackage: Header V3 DSA signature: NOKEY, key ID c431416d
    user jasonc does not exist – using root
    group jasonc does not exist – using root
    user jasonc does not exist – using root
    group jasonc does not exist – using root
    user jasonc does not exist – using root
    group jasonc does not exist – using root
    Bad exit status from /home/halid/rpmbuild/tmp/rpm-tmp.12862 (%prep)

    [Cevapla]

    Halid tarafından yanıtlandı.

    Bir önceki arkadaşa cevap vermişsiniz eksik kurulmuş diye, ancak kurulumda herhangi bir hata yok. 2-3 defa farklı makinalarda test ettim. Bi’ sıkıntı var, çözemedim.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    İslem adimlarini paylasirsaniz daha iyi anlayabiliriz sorunun nedenini.

    [Cevapla]

    Halid tarafından yanıtlandı.

    Centos 5.4 işletim sisteminde bir kullanıcı açtım. non-root kullanıcıyla indirip, gerekli paketleri kurup jdk’yı indirdim. Ancak

    rpmbuild –rebuild java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm işleminden sonra ilgili hatayı verdi.

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    ~/rpmbuild/ ve ~/rpmbuild/SOURCES dizininin icerigi nasil ?

    [Cevapla]

    Halid tarafından yanıtlandı.

    ~/rpmbuild/ içeriği;

    ./ BUILD/ RPMS/ SPECS/ tmp/
    ../ java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm SOURCES/ SRPMS/

    ~/rpmbuild/SOURCES içeriği;
    ./ java-1.6.0-sun-register-java-fonts.xsl jdk-6u10-linux-i586.bin
    ../ java-1.6.0-sun-unregister-java-fonts.xsl

    [Cevapla]

    Cagri Ersen tarafından yanıtlandı.

    Selamlar,

    Jpackage nosrc RPM’in sürümü ile Sun’in sitesinden download ettiginiz JDK sürümü birbirinden farkli.

    java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm
    jdk-6u10-linux-i586.bin

    Sun’in sitesinden JDK 6 update 11 versiyon numarali bin dosyasini download etmelisiniz.

    [Cevapla]

    Halid tarafından yanıtlandı.

    Teşekkür ederim, gözden kaçırmışım:)

    [Cevapla]

  8. ibrahim ÖZKASAP | (Kasım 11th, 2009 1:29 pm)

    Açıklamanız için çok teşekkürler, sorunsuz kurulum gerçekleştirenlere bizi de dahil edebilirsiniz :-)

    Evet Sıra, Red5 te…

    Emeğiniz için Teşekkürler..

    [Cevapla]

  9. Abdullah KEceci | (Mayıs 31st, 2010 3:58 pm)

    Gozunu seveyim kardesim. Sagolasin, tum gun bununla ugrasmistim…

    [Cevapla]

Trackbacks

Yorumda bulunun.