http://www.sadikozturk.com.tr Yayında !!!!

Sadık Öztürk ‘ün Kişisel hayatını ve makalelerini bulabileceğiniz şahsi sitesi yayınlanmaya başlamıştır.

www.sadikozturk.com.tr

Ubuntu 10.04 üzerine java kurulumu

Kısaca java hakkında bilgi vermek isterim;

Java, ilk olarak Sun Microsystems tarafından 1995′te piyasaya sunulan bir programlama dili ve bilgi işlem platformudur. Yardımcı programlar, oyunlar ve ticari uygulamalar gibi son teknoloji ürünü pek çok program bu teknolojiyi temel alır. Java, dünya çapında 850 milyon bilgisayarda ve cep telefonları ile televizyonlar gibi milyarlarca aygıtta çalışmaktadır.

Java yazılımı niye gerekir?

Pek çok uygulama ve web sitesi, sisteminizde Java yüklü değilse çalışmaz. Üstelik bu tür uygulamaların sayısı gün geçtikçe artmaktadır. Java hızlı, güvenli ve güvenilir bir teknolojidir. Bugün Java teknolojisini dizüstü bilgisayarlardan veri merkezlerine, oyun konsollarından bilimsel amaçlı süper bilgisayarlara, cep telefonlarından Internet’e kadar her yerde bulabilirsiniz!

Java’yı indirmek ücretsiz mi?

Evet, Java yazılımını ücretsiz olarak indirebilirsiniz. En son sürümü http://java.com sitesinde bulabilirsiniz.

Neden en son Java sürümüne geçmeliyim?

En son Java sürümü, bilgisayarınızda çalıştırdığınız Java uygulamalarının başarım, kararlılık ve güvenilirlik özelliklerini artırmaya yönelik önemli yenilikleri içerir. Bu ücretsiz güncelleştirmeyi yüklediğinizde, Java uygulamalarınızın güvenli ve verimli biçimde çalışacağından emin olabilirsiniz.

AYRINTILI TEKNIK BILGI

Başlangıçta OAK olarak anılan bu platformun adı 1995′te Java programlama dili olarak değiştirildi.

Java yazılımını indirdiğimde bilgisayarıma neler yüklenecek?

Java yazılımını indirdiğinizde bilgisayarınıza yüklenecek olan yazılım Java Runtime Environment ya da kısaca JRE’dir. JRE, Java Virtual Machine (JVM) yazılımını, Java platformunun çekirdek sınıflarını ve bunları destekleyen Java platformu kitaplıklarını içerir. JRE, Java yazılımının çalışma zamanı bölümüdür; yani yazılımı Web tarayıcınızda çalıştırmak için gereken asıl bölümdür. Java yazılımını indirdiğinizde yalnızca ihtiyacınız olan yazılımlar yüklenir; casus yazılımlar ya da virüsler değil.

Java Plug-in yazılımı nedir?

Java Plug-in yazılımı Java Runtime Environment (JRE) yazılımının bir bileşenidir. JRE, Java programlama diliyle yazılmış küçük uygulamaların (applet) çeşitli tarayıcılarda çalışmasını sağlar. Java Plug-in yazılımı tek başına çalışan bir program değildir ve JRE’den ayrı olarak yüklenemez.

Java Virtual Machine ve JVM terimlerini duydum. Bu Java yazılımı mıdır?

Java Virtual Machine, Java yazılımının bileşenlerinden yalnızca biridir ve web etkileşimlerinden sorumludur. Java Virtual Machine, indirdiğiniz Java yazılım paketinde yerleşik olarak bulunur ve Java uygulamalarının çalıştırılmasına yardımcı olur.

öncelikle repository eklememiz geekiyor.

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update

şimdi artık java ‘yı kurabiliriz.

sudo apt-get install sun-java6-jre sun-java6-plugin

Ntp server Kurulumu

sudo aptitude -y install ntp

kurulum bittikten sonra

sudo gedit /etc/ntp.conf

# line 19: make it comment
# server 0.ubuntu.pool.ntp.org
# server 1.ubuntu.pool.ntp.org
# server 2.ubuntu.pool.ntp.org
# server 3.ubuntu.pool.ntp.org
# server ntp.ubuntu.com
# change servers for synchronization
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

# line 48: add the network range you allow to receive requests
restrict 10.0.0.0 mask 255.255.255.0 nomodify notrap

içeriği kaydetmeden önce restrict 10.0.0.0 yazan kısmında sizin kendi networkünüze göre değiştirin

/etc/init.d/ntp restart
alttaki komut ntp server ‘ın çalışdığını verify etmek içindir.
ntpq -p

Rsync ve Backup İşlemi

Yedekleme, sistem yönetiminin en zor ve en ihmal edilen parçasıdır. Ve aynı zamanda en önemli kısmıdır. Donanım problemlerine, güvenlik açıklarına, ve en önemlisi son kullanıcı hatalarına karşı son çaredir. Pahalı teyp sürücülerine, hatalı programlara binlerce dolar harcanırken aslında çok daha iyi bir çözüm var : Rsync .

Rsync, oldukça sık kullanılan güzel bir dosya transfer uygulamasıdır. Yedekleme ya da senkronizasyon işlemlerinde sadece değişen dosyaların (incremental) kopyalanmasını sağlayarak işlemleri hızlandırmayı amaçlamaktadır. Rsync ile lokal yedekleme yapılabildiği gibi uzaktaki bir sisteme ssh üzerinden kopyalama yapabilmek de mümkündür.
Özellikle, bir çok dosya barındıran büyük dizinlerin hızlıca yedeklenme ihtiyacı gibi durumlar için ideal olan rsync, web sunucularda, kök dizinlerin birden fazla sistemde senkronize olarak tutulması (yansılama) gibi işlemler için sıklıkla kullanılmaktadır.

Özellikle, bir çok dosya barındıran büyük dizinlerin hızlıca yedeklenme ihtiyacı gibi durumlar için ideal olan rsync, web sunucularda, kök dizinlerin birden fazla sistemde senkronize olarak tutulması (yansılama) gibi işlemler için sıklıkla kullanılmaktadır.

Rsync’nin özelliklerinden bahsedelim.
Tüm bir dizinin ya da dosya sisteminin yedeklenebilmesi.
Root yetkisine gereksinim duyulmaması.
Lokal sistem üzerinde yedekleme/senkronizasyon.
Lokal sistemden, uzaktaki sisteme yedekleme/senkronizasyon.
Uzaktaki sistemden, lokal sisteme yedekleme/senkronizasyon.
Network üzerinden transfer için ssh kullanabilme.
Rsync daemon modu ile sunucu desteği.
Exclude anahtarı ile spesifik dosya/dizinlerin, dosya tiplerinin hariç tutulabilmesi.

Debian ve ubuntu gibi dağıtımlarda kurulum için aşağıdaki işlem yapılır

Kurulum için:
apt-get install rsync
Kullanımı ise:
rsync –a kaynakdizin hedefdizin
Eğer yedekler uzaktaki bir sisteme transfer edilmek istenirse komut aşağıdaki gibi kullanılabilir. (Elbette, her iki sistemde de rsync kurulu olmalıdır.)
rsync -a kaynakdizin uzaksistem:hedefdizin
Eğer yedekler, uzaktaki bir sistemden alınacaksa;
rsync -a uzaksistem:kaynakdizin hedefdizin
Komutta kullanılan -a, [--archive] anahtarı

“-a anahtarının parametreleri de aşağıdaki gibidir;”

-r : Kopyalama işlemi, alt dizinlerde kapsanacak şekilde recursive olarak yapılır.
-l : Sembolik linkler, sembolik link olarak kopyalanır.
-p : Dosya ve dizinlerin izin değerleri korunur.
-t : Dosyaların değiştirilme (mtime) bilgisi de transfer edilir. Senkronizasyon işlemleri için bu anahtar kullanılmalıdır.
-g : Dosya ve dizinlerin grup bilgileri korunur.
-o : Dosya ve dizinlerin sahip bilgileri korunur.
-D : Device dosyaları vs hedefte oluşturulur.
-H : Hard linkleri de transfer eder.
-z : Transfer sırasında dosyaları sıkıştırır.
–exclude : Belirtilen PATTERN, kopyalama işleminden muaf tutulur. Örnekler bölümünde detaylandırılacak.
–dry-run : Komut çalıştırıldığı zaman, hangi işlemlerin gerçekleşeceği gösterilir ancak işlemler gerçekte uygulanmaz.
–delete : Kaynak tarafta artık bulunmayan dosyalar, hedef taraftan da silinir. Dikkatli kullanmanızı öneririm.
–human-readable : Çıktılar, human-readable (anlaşılır) formatta verilir.

Size birkaç örnek de vermekte fayda var sürekli terimlerle konuşmak olmaz…

Lokal Diskler Arası Kopyalama
Lokal yedekleme işlemleri için rsync komutu öntanımlı hali ile kullanılabilir. Örenek verecek olursak /home/kullanici adlı şahsi dosyalarınızın bulunduğu dizini, sistemenizde /media/disk/ dizinine bağlanmış olan harici diskinize aktarmak için aşağıdaki komutu kullanabiliriz.
rsync -av /home/kullanici/ /media/disk/yedekler/
Lokalden Uzaktaki Sisteme Kopyalama
Gene yukarıdaki örnekten gidersek, /home/kullanici/ dizininde bulunan dosyaları, uzaktaki bir sunucuya yedeklemek için rsync şu şekilde kullanabiliriz.
rsync -av /home/kullanici/ kullanici@192.168.12.12:yedekler/
Komutu çalıştırdığınız zaman, 192.168.12.12 ip’li sisteme SSH üzerinden bağlantı sağlanacak ve kullanıcı şifreniz sorulacaktır. Şifrenizi girdikten sonra /home/kullanici/ dizininde bulunan tüm dosyalar, uzaktaki sistemin /home/kullanici dizini altında oluşturulan yedekler klasörüne SSH üzerinden (güvenli olarak) kopyalanacaktır.
Şifre sorulmamasını istediğiniz durumlar için uzaktaki sisteme key-based authentication (anahthar üzerinden kimlik doğrulaması) ile erişebilmek üzere sisteminizi yapılandırmanız gerekir.

Uzak Sistemden Lokale Kopyalama
Bir önceki örneğin tersi olan bu kopyalama işleminde, uzaktaki bir sistemde bulunan bir dizin, lokaldeki bir dizine aşağıdaki şekilde transfer edilebilir:
rsync -av root@201.201.52.52:/yedekler/ /yedekler/
Bu şekilde, 201.201.52.52 ip’li sistemin /yedekler/ dizininde bulunan dosyalar, lokal sisteminizin /yedekler/ dizinine transfer edilecektir.

Exclude (Hariç Tutma) İşlemleri
Rsync’in –exclude parametresi, yedekleme sırasında, kopyalamadan muaf tutulacak dosya tiplerinin ya da dizinlerin belirtilebilmesine yaramaktadır.Bu sayede de gereksiz veya istemediğimiz güvenli olmayan dosya ve klasörleri de taşımayız..

Örnek olarak, /home/kullanici isimli şahsi dizininizde bir çok pdf dosyası olması ve bu dosyaların yedeklenmesine gerek duymamanız gibi durumlarda, exclude parametresi ile iş görecektir:
rsync -av --exclude '*.pdf' /home/kullanici/ root@201.201.52.52:/yedekler/
Böylece, pdf uzantılı dosyalara hariç, /home/kullanici/ dizinindeki tüm dosyalar, 201.201.52.52 ip’li sistemin /yedekler/ dizinine kopyalanacaktır.

–exclude parametresi, dosyalar için olduğu gibi dizinler için de kullanılabilmektedir. Örneğin aşağıdaki komut, /home/kullanici/ dizini altındaki “mustafayalcin” isimli klasoru yedekleme işleminden hariç tutmaktadır.
rsync -av --exclude 'mustafayalcin' /home/kullanici/ root@201.201.52.52:/yedekler/

Dry-Run
Kopyalama yapılacak yer test edilebilir. Bu da tabi veri güvenliği ve veri bütünlüğü açısından çok önemlidir.
rsync -avn /home/kullanici root@201.201.52.52:/yedekler/

Alıntıdır.

ssh ile server’a otomatik bağlanma scripti

Alttaki script ile ssh kullanarak otomatik ssh server olan herhangi bir yere bağlantı sağlayabilirsiniz.


#!/bin/bash

HOST="baglanilacak ip adresi yada dns name yazın"
USER="kullanici"
PASS="sifre"
CMD=$@

VAR=$(expect -c "
spawn ssh -o StrictHostKeyChecking=no $USER@$HOST $CMD
match_max 100000
expect \"*?assword:*\"
send -- \"$PASS\r\"
send -- \"\r\"
expect eof
")
echo "==============="
echo "$VAR"