Sunday, March 31, 2013

Ubuntu, Nautilus, Dosya / Dizin Uzerinde Islem Yapmak

Ubuntu masaustu dizin gezme programi (explorer) Nautilus'u kullanirken, eger  icinde olunan bir dizin, dosya uzerinde islem yapmak istersek, bir gorsel kisayol tanimlayabiliriz. Nautilus yapisina gore $HOME/.gnome2/nautilus-scripts altina atilan her script, mouse'ta sag tiklama yapilinca menude Scripts altinda cikar. Mesela notebook-server adinda bir dosya yaratmissak (dosya chmod 755 ile isler hale getirilmelidir), sag tiklama sonrasi su goruntu cikar,


Script icinde

#!/bin/sh
cd `echo $NAUTILUS_SCRIPT_CURRENT_URI | sed -e 's/file:\/\///g'`

... burada o dizine gore ek islem yap ...

olabilir mesela, sed ile yapilan islem $NAUTILUS_SCRIPT_CURRENT_URI icinden file:/// ibaresini cikartmak icin. Bu degiskene Nautilus tarafindan otomatik olarak "sag tiklamanin yapildigi dizinin degeri" geciliyor, ama URI oldugu icin icinde file:/// ibaresi var. Biz de o degeri cikartiyoruz. Ardindan istenilen ek islem yapilabilir.

Friday, March 29, 2013

Ubuntu SWAP Alani Nasil Arttirilir?

SWAP alani bellek yetersiz oldugu zaman bellekteki bilginin bir kismini belli zamanlarda diske yazilip geri alinabilmesini saglar, boylece teorik olarak eldeki disk miktarindan cok daha fazla hafiza "varmis gibi" yapabiliriz. Swap kelimesi degis-tokus anlaminda zaten, yani hafiza ve disk arasinda bir degis-tokus oluyor. Tabii ki diske cok fazla yazmak, oradan fazla bilgi okumak bellege gore daha yavastir, vs. Yani bir muhendislik denge (trade-off) durumu.

Ubuntu'nun normal (kurulus aninda tanimlanan) swap buyuklugu bellek kadar - eger 4 GB RAM var ise 4 GB swap yaratiliyor. Bunu sonradan arttirmak icin, mesela 20 GB buyuklugunde swap icin, once swap'in yasayacagi bir yer (dosya) yaratmak lazim.

sudo dd if=/dev/zero of=/swapfile.img bs=1024 count=20M

Swap dosyasinin nerede olacagini boylece tanimladik. Bu "yer" cok hizli isleyen bir diskin baglanti (mount) noktasi olabilir mesela, belki bir solid state disk orada duruyor. Sonra,

sudo mkswap /swapfile.img

Simdi sudo gedit /etc/fstab ile dosyaya girilir ve sonuna

/swapfile.img swap swap sw 0 0

eklenir. En son

sudo swapon /swapfile.img

ile swap aninda aktif hale getilir. /etc/fstab degisimi bilgisayar her basladiginda swap'in otomatik olarak aktive edilmesi icin.

Kaynak

Tuesday, March 26, 2013

Starcluster

Cok makinali, ya da cok cekirdekli (core) ortaminda paralel islem yapilmasini saglayan ve Amazon EC2 ortamini baz alinarak yazilmis acik kodlu yeni bir cozum - Starcluster.

http://star.mit.edu/cluster/

Amazon EC2 bilindigi gibi Amazon'un sanal makina kullanimini / kiralanmasini saglayan bir sistemdir. Belli bir kira karsiliginda Unix komut satirina kavusmanin bir yolu! Sistem cok populer ve sanal makinalarin uzerinde hangi yazilimi tasiyacagi AMI imajlari ile tanimlanabiliyor ve insanlar su anda populer AMI'leri birbiriyle paylasiyor.

Starcluster da bu AMI imajlarindan biri aslinda. Bu AMI'yi alip her makinasi Starcluster imaji tasiyan Amazon EC2 kumesini baslatmak mumkun, imaj uzerinde numpy, scipy, blas gibi numerik kutuphaneler bastan hazir. Ek olarak bu proje bazi araclar, disaridan baglanilmasinin saglayan eklentiler (plugin) de sagliyor.

Starcluster'in en onemli ozelligi iPython Parallel ile direk calisabiliyor olmasidir. Yani bir ipython not defteri acip, bu defteri uzaktaki bir Starcluster kumesine bagliyabiliyorsunuz, ve hucrelere girdiginiz kod onlarca, yuzlerce makina uzerinde paralel sekilde isletmek mumkun oluyor. Konu hakkinda bilgilendirici bir prezentasyon surada, uzaktaki kumeye baglanma, kod isletmeyi gostermis.

http://twiecki.github.com/zipline_in_the_cloud_talk/#/

Bu proje Hadoop'a alternatif midir? Bir anlamda oyle. Starcluster EDS adli bir dizin sistemi uzerinden veriye erisiyor, Hadoop bu isi HDFS ile yapiyor. Fark surada, HDFS buyuk bir dosyayi kumesindeki her makinaya paylastirir, ve esle-indirge komutu geldigi zaman, bu islemler veriye yakin makinaya "gonderilirler". Diger yandan mesela Amazon Elastic Map Reduce uzerinden Hadoop kullananlar veriyi cogunlukla S3 uzerinde tutuyorlar, kume kurulup, kullanilip hemen yokediliyor, yani S3'ten erisimin EDS'ten erisime benzedigi iddia edilebilir, bu EC2 baglaminda tabii.

Not: Cok cekirdekli bir mikroislemci kullanan tek makina uzerinde bile Starcluster servisi isletilebilir, bunun ornekleri de ustteki baglantida var.