14.01.2015 Views

yönet‹m

yönet‹m

yönet‹m

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ED‹TÖR<br />

Merhaba<br />

Zaman ne kadar da h›zl› ak›p geçiyor. Bir önceki say› için sabahlad›¤›-<br />

m›z günler daha dün gibi. ‹flte flimdi bir yeni say› daha ellerinizde… IBM<br />

Haber Linux dergisi h›z kesmeden yoluna devam ediyor. Dünyadaki ve<br />

Türkiye'deki Linux dünyas›n›n nabz›n› tutan, geliflmeleri sizler için yak›ndan<br />

izleyen dergimiz, sizlerden gelen olumlu yorumlarla daha da<br />

güçlenerek yeni say›lara yelken aç›yor. Bu say›m›zda da yine dopdolu<br />

bir içerik ile karfl›n›zday›z. Art›k hepinizin aflina oldu¤u “Shell Shock”,<br />

“Freshmeat”, “Acil Servis” gibi bölümlerimizin yan›s›ra, ilerleyen sayfalarda<br />

birçok teknik makale de siz Linux ilgililerini bekliyor.<br />

Kamu'da Linux kullan›m›, ülkemizde çok uzun zamandan beri tart›-<br />

fl›lan fakat çok da fazla mesafe kaydedilemeyen bir gündem konusudur.<br />

Asl›nda bütünlüklü bir proje çerçevesinde olmasa bile birçok kamu<br />

kurumunun sunucular›nda halen Linux kofluyor. Fakat bunun belediyelere<br />

kadar inmesi için daha çok zaman geçmesi gerekecektir diye düflünürken,<br />

son dönemlerde yap›lan birkaç proje bize yan›ld›¤›m›z› hissettirdi.<br />

Birleflmifl Milletler Gelifltirme Program› (UNDP) ile Bulgaristan<br />

‹nternet Derne¤i (ISOC-BG), geçti¤imiz y›l›n bafl›nda belediyelerin özgür<br />

ve aç›k kaynak kodlu yaz›l›mlar› daha etkin bir flekilde kullanabilmeleri<br />

ve bu sayede internet hizmetlerini daha h›zl› ve verimli sunabilmeleri<br />

için bir program bafllatm›flt›. Özgür ve Aç›k Kaynak Kodlu<br />

(ÖAKK) yaz›l›mlar› öne ç›kartan projenin son safhas›nda Türkiye de<br />

devreye al›nd›. ‹stanbul'da Bahçelievler Belediyesi'ndeki bilgi ifllem<br />

merkezi, kapsaml› bir e¤itim çal›flmas› yard›m›yla Linux ile tan›flt›r›lm›fl<br />

oldu.<br />

Bu ve benzeri projeleri bizler oldukça önemsiyoruz. Çünkü bu baflar›lar<br />

bir model teflkil ederek di¤er kurumlar› da yüreklendiriyor. Linux<br />

ile tan›flma ve Linux'a geçifl süreci de çok daha h›zl› ifllemeye bafll›yor.<br />

Bu say›m›z›n kapak konusunu bu nedenle “Belediye'lerde Linux” haberine<br />

ay›rd›k ve bu projeye kapsaml› flekilde yer verdik.<br />

Lütfen olumlu ya da olumsuz tüm görüfllerinizi bize e-mail ile bildirin.<br />

Önümüzdeki say›dan itibaren sizlerden gelen e-maillere'de ayr› bir<br />

sayfada yer vermeye bafllayaca¤›z. Bu arada küçük bir hat›rlatma daha,<br />

dergimizde yer alan tüm kodlar› web sayfam›zdan temin edebilirsiniz.<br />

(http://www.ibm.com/tr/products/linux/haberlinux.html)<br />

Yeni bir Haber Linux'da görüflünceye kadar hoflçakal›n.<br />

Umut Kavurmac›<br />

haberlinux@tr.ibm.com<br />

HABER LINUX 3


14 20<br />

14 RÖPORTAJ: IBM LINUX STRATEJ‹<br />

MÜDÜRÜ ADAM JOLLANS<br />

“Linux alan›n› geniflletiyor”<br />

IBM strateji yöneticisi Linux'un alan›n›<br />

geniflletti¤ini söylüyor.<br />

20 KLAVYE FAREYE KARfiI<br />

Önünüzde bilgisayar ile iletiflim kurmak<br />

için iki cihaz var, bir klavye ve bir fare.<br />

Yeni nesil bir pencere yöneticisi wmii<br />

size farkl› seçenekler sunuyor.<br />

YÖNET‹M<br />

‹mtiyaz Sahibi<br />

IBM Türk Ltd. fiti. ad›na<br />

Eray Yüksek<br />

IBM Türk Limited fiirketi<br />

Büyükdere Caddesi Levent<br />

80613, ‹stanbul<br />

Telefon : (0212) 317 1000<br />

Faks : (0212) 278 0437<br />

Tasar›m ve Uygulama<br />

Vogel Burda Medya<br />

Yay›mc›l›k A.fi.<br />

16 SHELLSHOCK<br />

28 FRESHMEAT<br />

40 NEDEN GTK+ KULLANILMALI<br />

40<br />

Mevlüt Pehlivan Cd. Vefa<br />

Bay›r› Sk. Gayrettepe ‹fl Mrk.<br />

No:6 B Blok 34349<br />

Gayrettepe/‹stanbul<br />

Telefon : (0212) 217 9371<br />

Faks : (0212) 217 9532<br />

4 HABER LINUX


‹Ç‹NDEK‹LER<br />

24 36<br />

24 BELED‹YELER LINUX ‹LE<br />

TANIfiIYOR<br />

UNDP projesi çerçevesinde Linux<br />

e¤itimleri alan Bahçelievler Belediyesi,<br />

Linux'u belediye bünyesinde kullanmaya<br />

bafllad›.<br />

36 VER‹LER‹N‹Z‹ KURTARIN!<br />

Verileri herkes kaybedebilir, önemli olan<br />

böyle bir durumla karfl›laflt›¤›n›zda<br />

kullanaca¤›n›z yöntem ve araçlar›<br />

bilmenizdir.<br />

44 ECLIPSE: YAZILIM DÜNYASI<br />

BUNA TUTULDU<br />

44<br />

50 PHP ‹LE 3 BOYUTLU<br />

GÖRÜNTÜLER HAZIRLAYIN<br />

60 AC‹L SERV‹S<br />

50<br />

HABER LINUX 5


Neden GNU/Linux<br />

Neden Özgür Yaz›l›m<br />

Kiflisel bir sorgulama<br />

Stallman'›n GNU'u bafllatt›¤› y›llardan bu yana bu soru defalarca sorulmufl ve<br />

birçok kifli taraf›ndan da çeflitli seviyelerde yan›tlanm›flt›r. Günlük hayat›m›zda<br />

web sunucular›ndan, grafik ifl istasyonlar›na kadar çeflitli alanlarda, baflta GNU<br />

ve Linux olmak üzere birçok Özgür Yaz›l›m projesi etkin olarak kullan›lmakta,<br />

birçok flirket bu alanda aktif destek vermektedir. Hal böyleyken Özgür Yaz›l›-<br />

m›n kullan›lmas› çoktan egzantrik bir uygulama olmaktan ç›k›p, önemli ve dahas›<br />

birçok durumda tercih edilen bir alternatif halini alm›flt›r.<br />

Tabi ki bu süreç içinde çeflitli kiflisel tecrübelerle insanlar›n söz konusu yaz›l›mlar›<br />

tercih sebepleri de de¤iflmifl, birçoklar› daha önce önem vermedikleri<br />

baz› etkenleri göz önüne almaya bafllam›fllard›r.<br />

Bu do¤rultuda ben de kiflisel tecrübelerime dayanarak en önemli buldu¤um<br />

özelliklerden bafllayarak bu temel soruya cevap vermeye çal›flaca¤›m.<br />

Kontrol:<br />

Linux'u tercih etme sebeplerimi s›ralad›¤›mda en önemli sebebin kontrol oldu-<br />

¤unu görüyorum. Hatta bu benim için o kadar önemli ki abartarak ilk üç sebebin<br />

kontrol oldu¤unu bile söyleyebilirim. Peki, nedir bu kontrolden kastedilen<br />

Radyodan ses gelmedi¤inde, acaba sorun ne diye aç›p kurcalad›n›z m› hiç<br />

‹çinde kararm›fl bir parça tespit edip, bu bulgudan dolay› kendinizle gurur duydu¤unuz<br />

ya da o parçay› oradan ç›kart›p elektronikçiden ayn›s›n› bulmaya çal›flt›¤›n›z<br />

oldu mu Ya da bozulan araban›z›n kaportas›n› aç›p acaba sorun nerede<br />

olabilir diye bakt›n›z m›<br />

fiimdi bir an için araban›z›n kaportas›n›n sadece imalatç› flirketin açabilece-<br />

¤i flekilde kilitlendi¤ini ve "Acaba nerede sorun var" diye kaportay› bile açamad›¤›n›z›<br />

düflünün nas›l hissederdiniz Hele ki arabay› kurcalaman›n hobiniz<br />

oldu¤unu bundan en az arabay› kullanmak kadar zevk ald›¤›n›z› düflünün, size<br />

de çok korkunç geliyor de¤il mi<br />

Bir de kaportan›n aç›labilir olmas› bir yana, size araban›n flemalar›n›n verildi¤ini,<br />

bu flemalar›n üzerinde neyin ne ifle yarad›¤›n›n detayl› olarak izah edildi-<br />

¤ini ve hatta herhangi bir müdahalede bulunman›z için gereken alet edevat›n<br />

da sa¤land›¤›n› gözünüzün önüne getirmeye çal›fl›n. Hem de bütün bunlar›n<br />

arabayla birlikte, siz talepte bile bulunmadan temin edildi¤ini düflünün.<br />

Ve son olarak da tek bafl›n›za bin beflyüz kilometrelik bir yola ç›kaca¤›n›zda<br />

bu arabalardan hangisini tercih edece¤inizi düflünün. ‹flte bu kontrol ile ilgilidir.<br />

Kontrol düflkünü bir kifli, kulland›¤› ekipmana hakim olmak, bir sorun ç›kt›¤›nda<br />

bir fleyler yapabilir olmak ister.<br />

Özgür Yaz›l›m dünyas›n›n bence en büyük avantaj› da bu noktadad›r. Size<br />

ö¤renmek istedi¤iniz ölçüde bilgi verip, almak istedi¤iniz kadar sorumluluk<br />

sa¤lar. Bir yaz›l›m tam olarak istedi¤iniz fleyi yapm›yor mu, kernel'e kadar yolunuz<br />

var, buyurun u¤rafl›n. Ya da daha amatör yaklafl›yorsunuz, o detayda u¤raflmak<br />

sizin gözünüzü korkutuyor, o zaman birilerine dan›fl›n onlar size tarif<br />

etsinler, k›lavuz eflli¤inde gidin. Tek gereken merak ve ilgi ve tabi biraz da kontrol<br />

ba¤›ml›l›¤›.<br />

6 HABER LINUX


Dokümantasyon:<br />

Son zamanlarda dikkatimi çeken bir<br />

davran›fl tarz›, bir bilgisayar problemini<br />

çözmeye çal›fl›rken hemen elimin<br />

internet'e gidiyor olmas›. Hatta<br />

bunu daha da abart›p, bilgisayar›n<br />

bafl›na oturdu¤umda internet ba¤lant›s›<br />

yoksa kendimi daha bir zay›f, daha<br />

bir zarar görebilir hissediyor oldu-<br />

¤umu bile söyleyebilirim. San›r›m bu<br />

da yine kontrol ile ilgili.<br />

Öte yandan böyle bir internet<br />

ba¤lant›s› olmad›¤›nda bile GNU/Linux<br />

sistemler size oldukça fazla miktarda<br />

doküman sa¤lar. Kurulan her<br />

yaz›l›m paketi için /usr/share/doc alt›nda<br />

bir dizin vard›r ve o dizinde de<br />

mutlaka size yol gösterecek baz›<br />

ipuçlar› yer almaktad›r. Bu zaman zaman<br />

çok detayl› bir dokümantasyondur,<br />

bazen ise sadece basit kullan›m›<br />

içerir.<br />

Birçok insan›n elinden ç›km›fl bu<br />

dokümanlar›n çok ilginç bir ortak noktas›<br />

var bence. Daha çok kiflisel tecrübelerime<br />

dayanarak söyleyebilirim<br />

ki, flimdiye kadar hemen hemen hiçbir<br />

durumda "tamam art›k daha ileri gidecek<br />

bilgi yok elimde" durumunda<br />

kalmad›m. Yapacak bir fley kalmad›¤›,<br />

daha ileri gitmenin mümkün olmad›¤›<br />

durumlar olmad› m›, oldu elbet, fakat<br />

bu durum tespitini bile dokümanlardan<br />

yapmak mümkün oldu.<br />

Geçenlerde bir baflka iflletim sisteminde<br />

yeni bir yaz›c›y› yüklemek<br />

için internet'ten sürücüsünü arad›m.<br />

Resmi sitesinde yeralan sürücü yaklafl›k<br />

40Mb büyüklü¤ündeydi ve içinde<br />

usb kablonun nas›l tak›laca¤›n›,<br />

yaz›c›n›n kafas›n›n nas›l ç›kart›laca¤›-<br />

n› anlatan iki video vard›. Fakat yine<br />

ayn› sürücü dosyas›n›n içinde, kartufllardan<br />

siyah beyaz olan› bitti¤inde,<br />

renkli kartuflla nas›l olup da tek<br />

renkli ç›kt› al›nabilece¤i ile ilgili en<br />

ufak bilgi bile yoktu. Özgür Yaz›l›mlar<br />

söz konusu oldu¤unda birçok de¤iflik<br />

fleyle karfl›laflabilirsiniz ama inan›n<br />

bana bu flekilde "ekmek yoksa pasta<br />

yesinler" diyen ç›kmayacakt›r size.<br />

Kullan›c› taban› ve destek:<br />

Özgür Yaz›l›m projelerinin ilk aflamada<br />

en zay›f karn› gözüken ve en kolay<br />

sald›r›lan noktas› hep destek konusunda<br />

soru iflaretleri olmufltur. Hali<br />

haz›rda Özgür Yaz›l›mlar hakk›nda<br />

garantili kurumsal destek firmalar›-<br />

n›n say›s›n›n azl›¤› konusunda yalan<br />

söyleyecek de¤ilim, ya da bu konuda<br />

serbest destek veren kiflilerin ifl ciddiyeti<br />

hakk›nda.<br />

Öte yandan, birçok kurumda IT<br />

bölümlerinin "destek" kelimesinin anlam›n›<br />

bilmediklerini de rahatl›kla<br />

söyleyebilirim. Bir fleye destek olmak<br />

demek onun bütün yükünü tafl›mak<br />

demek de¤ildir. Destek ikincil bir etkendir.<br />

Bir fleyin yükünü tafl›yan bir<br />

yap› vard›r, bu bir binada kolonlard›r,<br />

bir a¤açta gövdedir, bir asma köprüde<br />

kablolard›r. Destek ise, bu birincil<br />

kaynaklar yetersiz kald›¤›nda tedbir<br />

olarak devreye giren, yap›n›n çökmesini<br />

engelleyen sistemlerdir.<br />

Maalesef IT bölümleri bu ikisini<br />

ciddi flekilde birbirine kar›flt›rmakta,<br />

destek veren firman›n ana yükü üstlenmesini<br />

beklemektedir. Halbuki iflin<br />

as›l sahibi olan kurumun kendi bünyesinde<br />

temel ihtiyaçlara cevap verebilmek<br />

ve problem ç›kt›¤›nda araflt›rmada<br />

bulunup çeflitli çözümler<br />

üretmeye çal›flacak yetkin personele<br />

sahip olmas› gerekir. Destek böyle<br />

bir yap› oldu¤u takdirde ifle yarar,<br />

böyle bir yap› olmadan ise sadece y›-<br />

k›lmay› bir miktar geciktirir.<br />

Peki, IT bölümleri bu flekilde davrand›klar›nda<br />

Özgür Yaz›l›mlar konusunda<br />

ne destek bulabilirler Öncelikle<br />

kurumsal alanda kullan›lmaya<br />

de¤er hemen her yaz›l›m›n çok ciddi<br />

bir birikime sahip e-posta listeleri/arflivleri<br />

bulunmaktad›r. Muhtemelen<br />

daha önce birileri sizin yaflad›¤›n›z<br />

problemi yaflam›fl ve çözmüfllerdir.<br />

Karfl›laflt›¤›n›z problemlerin büyük bir<br />

k›sm›n›n çözümlerini burada bulabilirsiniz.<br />

E¤er bunlar iflinizi görmezse bu<br />

sefer interaktif olarak yard›m alabilece¤iniz<br />

birçok teknik IRC kanal› bulunmaktad›r.<br />

IT yöneticileri için IRC<br />

kelimesi her ne kadar korkutucu gelse<br />

de, teknik personelin son birkaç<br />

y›l içinde oldukça yo¤un olarak bilgi<br />

al›flverifli için kulland›¤› bir ortamd›r<br />

IRC. Ve birçok Özgür Yaz›l›m projesine<br />

destek için aç›lm›fl 7/24 destek<br />

veren bu tür kanallar bulunmaktad›r.<br />

Bu kanallarda konu hakk›nda çok bilgili<br />

kullan›c›lara rastlayabilece¤iniz<br />

gibi, proje sahiplerine hatta bizzat<br />

gelifltiricilerine bile ulaflman›z mümkündür,<br />

yeter ki usulünce soru sormay›<br />

bilin.<br />

Bunlar›n bile yetersiz kald›¤› bir<br />

yerde, yeterli bilgiye ulaflamad›¤›n›z›<br />

düflündü¤ünüzde ya da size gerekli<br />

olan fonksiyonun söz konusu yaz›l›-<br />

m›n içinde yer almad›¤›n› fark etti¤inizde<br />

yapabilece¤iniz bir baflka fley<br />

de direkt olarak yaz›l›m› gelifltiren kifliye<br />

ulafl›p ondan böyle bir özellik talep<br />

etmek olabilir.<br />

‹nan›n bana özellikle bu son söyledi¤imi,<br />

"7/24 destek veriyoruz,<br />

probleminize maksimum iki gün içinde<br />

kesin çözüm getiriyoruz" diyen<br />

firmalar›n yüzde 99'u gerçeklefltirememektedir.<br />

K›saca Özgür Yaz›l›m Projeleri'nin<br />

istisnai genifllikte ve flafl›rt›c› derecede<br />

yard›ma aç›k bir kullan›c› taban›<br />

var ve e¤er verilen cevab› anlayabilecek<br />

kadar konu hakk›nda araflt›rma<br />

yapma zahmetine katland›ysan›z ve<br />

karfl›n›zdakinin size bir iyilik yapt›¤›-<br />

n›n bilincinde usulünce sorular›n›z›<br />

sorarsan›z alabilece¤iniz deste¤in de<br />

hiçbir flekilde s›n›r› yoktur.<br />

‹flte bu üç temel özellik benim Özgür<br />

Yaz›l›m Projeleri'ne güvenmemi,<br />

dahas› onlarla uzun projelere ç›karken<br />

flüphe duymamam› sa¤l›yor.<br />

K›v›lc›m Hindistan<br />

HABER LINUX 7


HABERLER<br />

Pardus'a Osmanl›ca karakter deste¤i<br />

Ankara Üniversitesi DTCF Felsefe<br />

Bölümü Bilim Tarihi Anabilim Dal› ö¤retim<br />

görevlisi Ali R›za Tosun'un,<br />

Pardus ekibi ile iletiflime geçmesi ile<br />

hayata geçen proje ile art›k Pardus'ta<br />

Osmanl›ca bir metin haz›rlanabiliyor.<br />

Ali R›za Tosun bu eksiklikten rahats›z<br />

olarak yaklafl›k alt› y›l önce<br />

devlet bürokrasisinin kap›s›n› çalm›fl.<br />

Yaklafl›k 40 kadar kurumdan onay almak<br />

zorunda kalan Ali R›za Bey, sonunda<br />

TSE'den 13026 numaral› "Osmanl›ca<br />

harflerin Türkçe klavyeye<br />

uyarlanmas›" isimli standard› ç›karmay›<br />

baflarm›fl.<br />

Ali R›za Tosun'un Pardus gelifltiricileri<br />

ile temasa geçmesinin ard›ndan<br />

ekip ilgili konularda uzman olan Hakan<br />

Uygun'u durumdan haberdar ediyor.<br />

Asl›nda bir bilim tarihçisi olan ve<br />

Osmanl›ca'y› okuyabilen Hakan Uygun<br />

gereken karakter setini haz›rl›-<br />

yor. Böylece Pardus'a Osmanl›ca karakter<br />

deste¤i kazand›r›lm›fl oluyor.<br />

‹lgili web siteleri:<br />

Haber Kayna¤›: Ali Ifl›ngör Blog -<br />

http://burkinafasafiso.com/2006/08/11/pardusa-osmanlica-karakter-seti-destegi/<br />

Hakan Uygun Blog ve nas›l yap›l›r belgesi:<br />

http://huygun.blogspot.com/2006/08/pardusa-osmanlca-karakter-destei.html<br />

Pardus: http://www.pardus.org.tr/index.html<br />

TSE'nin ilgili standard›: https://www.tse.org.tr/turkish/abone/<br />

StandardDetay.aspSTDNO=54244&sira=0<br />

SCO ile IBM davas›nda son durum<br />

IBM, Unix kodunun baz› bölümlerinin<br />

zimmete geçirildi¤i iddias›yla ilgili<br />

olarak SCO ile girdi¤i hukuki savaflta<br />

küçük bir zafer kazand›. ‹lgili mahkemenin<br />

(U.S. District Court Central Division<br />

District of Utah) hâkimi Brooke<br />

Wells, IBM lehinde karar alarak IBM'in<br />

SCO'nun iddialar›n›n k›smen s›n›rland›r›lmas›<br />

talebini kabul etti.<br />

IBM ve SCO aras›ndaki anlaflmazl›k<br />

2003 Mart'›na kadar geri gidiyor.<br />

Bu tarihte SCO, IBM'in Unix yaz›l›m lisans›n›<br />

kötüye kulland›¤› ve Unix'le ilgili<br />

gizli ticari bilgileri Linux gelifltiricileriyle<br />

uygunsuz bir flekilde paylaflt›¤›<br />

iddias›yla IBM aleyhinde dava açm›flt›.<br />

Kararda IBM'in, SCO'nun Sözde<br />

Kötüye Kullan›lan Malzemeye ‹liflkin<br />

‹ddialar›n›n s›n›rland›r›lmas›na yönelik<br />

talebinde “kesinlik bulunmad›¤›ndan<br />

SCO'nun zimmete geçirildi¤ini iddia<br />

etti¤i belirli ö¤eleri kullanmas›n›n engellenmesini<br />

istedi¤i” belirtiliyor.<br />

Kararda mahkemenin SCO'ya iliflkin<br />

baz› sert ifadeleri de yer al›yor.<br />

Mahkeme, IBM'in iddia etti¤i gibi, olmas›<br />

gerekti¤i flekilde ayr›nt›l› bilgi<br />

sa¤lamaya yanaflmad›¤› için SCO'ya<br />

itiraz ediyor.<br />

Mahkeme karar›nda, "SCO'dan defalarca<br />

“tüm delilleri sunmas› istenmesine<br />

ra¤men, SCO adeta haks›z ç›-<br />

kar sa¤lama umuduyla dokuzuncu<br />

oturuma kadar davay› saklamaya çal›flm›flt›r”<br />

deniliyor.<br />

Mahkemenin karar›nda, önceki<br />

mahkeme kararlar›na göre, SCO'nun,<br />

IBM'in sözde zimmetine geçirdi¤ini<br />

düflündü¤ü malzemeleri aç›klamakla<br />

yükümlülü¤ü oldu¤u belirtiliyor. Mahkemenin<br />

görüflü ise bunun gerçekleflmedi¤i<br />

yönünde.<br />

SCO'ya aç›klanan kod miktar› dikkate<br />

al›nd›¤›nda, mahkeme, SCO'nun<br />

tüm ayr›nt›lar› hala sa¤lamamas›n›<br />

mazur görülemez buluyor.<br />

Mahkeme karar›nda flu ifadelere<br />

yer veriliyor: "Bir kifli bir ayakkab›<br />

ma¤azas›ndan ç›karken durdurulup<br />

h›rs›zl›kla suçlan›rsa, bu kifli, çald›¤›<br />

iddia edilen nesnenin ne oldu¤unun<br />

kendisine aç›klanmas›n› bekler. Yetkilinin<br />

suçlanan kifliye ‘Sen ne çald›¤›n›<br />

bilirsin, bunu benim söylememe gerek<br />

yok’ demesi saçmad›r”.<br />

Konu ile ilgili IBM sözcüsü, “IBM'in<br />

henüz sonuçlanmam›fl yasal ifllemlere<br />

iliflkin yorum yapmad›¤›n›” belirterek<br />

karara iliflkin yorum yapmaktan çekindi.<br />

SCO sözcülerinden biri ise flirketin<br />

hukuk ekibinin hâkimin karar›n›<br />

gözden geçirdi¤ini ve bundan sonra<br />

at›lacak ad›mlar› k›sa bir süre içinde<br />

belirleyeceklerini belirtti. ‹ki flirket<br />

aras›ndaki mahkeme ifllemleri büyük<br />

olas›l›kla daha sürecek; ancak, davayla<br />

ilgili duruflman›n fiubat 2007'den<br />

önce yap›lmas› beklenmiyor.<br />

8 HABER LINUX


Linux 15 yafl›na bast›<br />

25 A¤ustos 1991'de Linus Torvalds'›n<br />

comp.os.minix'e gönderdi¤i afla¤›daki<br />

e-posta ile resmen duyurulan Linux<br />

iflletim sistemi çekirde¤i 15 yafl›nda.<br />

From: torvalds@klaava.Helsinki.FI (Linus<br />

Benedict Torvalds)<br />

Newsgroups: comp.os.minix<br />

Subject: What would you like to see most<br />

in minix<br />

Summary: small poll for my new operating<br />

system<br />

Message-ID:<br />

<br />

Date: 25 Aug 91 20:57:08 GMT<br />

Organization: University of Helsinki<br />

Hello everybody out there using minix<br />

- I'm doing a (free) operating system (just<br />

a hobby, won't be big and professional<br />

like gnu) for 386(486) AT clones. This<br />

has been brewing since april, and is starting<br />

to get ready. I'd like any feedback<br />

on things people like/dislike in minix, as<br />

my OS resembles it somewhat (same<br />

physical layout of the file-system (due to<br />

practical reasons) among other things).<br />

I've currently ported bash(1.08) and<br />

gcc(1.40), and things seem to work. This<br />

implies that I'll get something practical<br />

within a few months, and I'd like to know<br />

what features most people would want.<br />

Any suggestions are welcome, but I won't<br />

promise I'll implement them :-) Linus (torvalds@kruuna.helsinki.fi)<br />

PS. Yes - it's free of any minix code,<br />

and it has a multi-threaded fs. It is NOT<br />

protable (uses 386 task switching etc),<br />

and it probably never will support anything<br />

other than AT-harddisks, as that's<br />

all I have :-(.<br />

Linux'un bir iflletim sistemi oldu-<br />

¤una dair genel bilgi asl›nda yanl›flt›r.<br />

Linux, iflletim sisteminin çekirde¤idir.<br />

‹flletim sistemi, çekirdek ve çekirde-<br />

¤in üzerine eklenen birçok uygulaman›n<br />

bütünüdür. Bu nedenle Richard<br />

Stallman'›n 2004 y›l›nda Bilgi Üniversitesi<br />

Bilgisayar Bilimleri Bölümü taraf›ndan<br />

düzenlenen Aç›k Kaynak ve<br />

Özgür Yaz›l›m Günleri'nde üstüne basa<br />

basa vurgulad›¤› gibi, iflletim sistemi<br />

GNU/Linux'tur. Bu sebeple, da¤›-<br />

t›mlar›n da adlar›nda GNU/Linux ibaresi<br />

bulundurmas› do¤ru oland›r, Debian<br />

GNU/Linux gibi.<br />

Linus Torvalds'›n, Linux'u duyurdu¤u<br />

bu e-postan›n üzerinden yaklafl›k<br />

15 y›l geçti ve Linux çekirdekli iflletim<br />

sistemlerinin bugün geldi¤i nokta<br />

ortada. Bu özel ve önemli gün, Türkiye'de<br />

de Linux Kullan›c›lar Derne¤i<br />

(LKD) ve Elektrik Mühendisleri Odas›<br />

(EMO) taraf›ndan düzenlenen bir do-<br />

¤um günü partisi ile kutland›. EMO<br />

Ankara fiubesi E¤itim Merkezi'nde yap›lacak<br />

etkinlikte özgür yaz›l›m üzerine<br />

konuflmalar, yönetmen Hannu Puttonen'in<br />

The Code adl› filminin gösterimi<br />

ve bir do¤um günü partisi yap›ld›.<br />

‹lgili web siteleri:<br />

Etkinlik duyurusu: http://gezegen.linux.org.tr/<br />

LKD: http://gezegen.linux.org.tr/<br />

EMO: http://ankara.emo.org.tr/<br />

Aç›k Kaynak Günleri 2004: http://open.bilgi.edu.tr/workshop_2004/<br />

Linus Torvalds e-postas›: http://lwn.net/2001/0823/a/lt-announcement.php3<br />

Linus<br />

Torvalds<br />

Yenilikçi ‹fl Fikirleri Yar›flmas› bafllad›<br />

Eskiflehir Yaz›l›m Üssü (EYÜ) bünyesinde<br />

yer alan Genç Giriflimci E¤itim<br />

Merkezi (GGEM) taraf›ndan bir Yenilikçi<br />

‹fl Fikri Yar›flmas› düzenleniyor.<br />

Ülke genelinde düzenlenen yar›flman›n<br />

amac›, baflta üniversite ö¤rencileri<br />

olmak üzere genç giriflimciler aras›nda<br />

teknolojiye ve yenilikçili¤e dayal›<br />

giriflimcili¤i teflvik etmek ve desteklemek<br />

olarak aç›klan›yor. Yar›flma<br />

sonunda verilecek e¤itim ve lojistik<br />

desteklerle, kazanan projedeki fikrin,<br />

teknoloji tabanl› yenilikçi bir ifle dönüflmesi<br />

ve bu sayede nitelikli iflgücüne<br />

istihdam yaratmas› hedeflenmekte.<br />

Yerli ve yabanc› birçok önemli firma<br />

ve kurumun destekledi¤i yar›flmaya<br />

kat›lmak için fikrin projelendirilip, 1<br />

Kas›m 2006'ya kadar yar›flman›n web<br />

sayfas›ndaki baflvuru formu ile birlikte<br />

De¤erlendirme Kurulu'na iletilmesi<br />

gerekiyor. 15 Kas›m'da ön eleme sonuçlar›<br />

aç›klanacak ve bu aflamada<br />

baflar›l› olan ekiplere EYÜ GGEM'de ifl<br />

plan› haz›rlama, giriflimcilik, finansal<br />

modelleme ve benzeri konularda e¤itim<br />

verilecek. 2007 y›l› boyunca devam<br />

edecek e¤itim ve de¤erlendirmeler<br />

sonucunda ülke ekonomisine 20<br />

yenilikçi biliflim flirketi kazand›r›lmas›<br />

hedefleniyor.<br />

‹lgili web siteleri:<br />

Yar›flma web sitesi: http://www.gencpatronlar.org.tr/<br />

EYÜ web sitesi: http://www.eyu.org.tr/<br />

EYÜ GGEM web sitesi: http://www.eyu.org.tr/gencgirisimci.asp<br />

HABER LINUX 9


Google, at›l›mlar›na ODF'i de ekledi<br />

K›sa bir süre önce Web tabanl› sözcük<br />

ifllemcisi Writely'i sat›n alan, Google<br />

Spreadsheet'i yaratan ve Google Calendar'›<br />

piyasaya sunan Google'›n,<br />

çevrimiçi ofis alan›ndaki at›l›mlar›na<br />

flimdi de genifl ODF (Aç›k Belge Biçimi)<br />

deste¤ini eklendi.<br />

Google, 4 Temmuz haftas›nda sessiz<br />

sedas›z ODF Alliance adl› toplulu-<br />

¤a kat›ld›. Bu topluluk, ODF kullan›m›-<br />

n›n gelifltirilmesini ve art›r›lmas›n›<br />

amaçl›yor. ODF üyeleri aras›nda, kar<br />

amac› gütmeyen gruplar, kamu kurulufllar›,<br />

IBM ve Sun Microsystems gibi<br />

ODF destekçisi belli bafll›<br />

flirketler var.<br />

ODF Alliance baflkan›<br />

Marino Marcich flunlar›<br />

söylüyor: "Google'›n<br />

ODF'yle ilgili planlar›na iliflkin<br />

bir yorum yapamay›z;<br />

ancak, aram›za kat›lmalar›ndan<br />

kesinlikle memnuniyet<br />

duyuyoruz. Son zamanlarda<br />

ODF dünyas›nda<br />

(Belçika, Fransa ve Danimarka'da)<br />

çok olumlu geliflmeler oldu.<br />

Tüm bu geliflmeler ODF'nin a¤›rl›¤›n›n<br />

dünya çap›nda artt›¤›n› gösteriyor.”<br />

Google'dan Alliance'a kat›ld›¤› konusunda<br />

henüz bir aç›klama gelmedi.<br />

Google yetkilileri, kendileriyle görüflme<br />

ça¤r›lar›na henüz yan›t vermedi.<br />

Yine de, Google'›n tüm kullan›c›lar›n›n<br />

belge yaratma gereksinimlerine yönelik<br />

olarak ortak ve aç›k bir standart<br />

kullanmas› mant›kl› görünüyor. Writely<br />

de zaten ODF'yi destekliyor.<br />

Merkezi Washington DC'de bulunan<br />

ve aç›k kaynak gelifltiricileri ve<br />

Lotus Notes da art›k Linux üzerinde<br />

Masaüstünüzde art›k Lotus Notes yaz›l›m›n›<br />

çal›flt›rabileceksiniz. Lotus<br />

Domino altyap›n›z Linux iflletim sisteminde<br />

çal›fl›yor mu Art›k Lotus Notes<br />

istemciniz de Linux iflletim sisteminde<br />

çal›flabilir.<br />

IBM, 10 Temmuz 2006'da IBM Lotus<br />

Notes for Linux adl› yeni platform<br />

seçene¤ini duyurdu. 24 Temmuz<br />

2006 tarihinden itibaren Lotus Notes<br />

lisans sahipleri, Lotus Notes 7.0.1 yaz›l›m›n›,<br />

belirli Linux istemci iflletim<br />

sistemlerinde çal›flt›rabiliyorlar. Etkin<br />

bak›m hizmeti kapsam›ndaki Lotus<br />

Notes lisans sahipleri bu seçene¤i ek<br />

bir ücret ödemeden kullanabilecekler.<br />

Lotus Notes for Linux, Lotus Notes<br />

7.0.1 yaz›l›m paketi olarak sunulmaktad›r.<br />

Bu pakette Lotus Notes yaz›l›m›n›n<br />

Linux ifl istasyonlar›nda çal›flmas›n›<br />

sa¤layan baz› yard›mc› teknolojiler<br />

yer al›yor. Bu ek<br />

kod, IBM Workplace Managed<br />

Client'›n temelindeki<br />

teknolojiye dayan›yor ve<br />

“Hannover” kod adl› Lotus<br />

Notes istemcisinin bir sonraki<br />

ana sürümünün de temelini<br />

oluflturuyor.<br />

Lotus Notes for Linux ile,<br />

WINE ya da VMWare gibi sanallaflt›rma<br />

yaz›l›mlar›n›n<br />

kullan›lmas›na, IBM Workplace<br />

sunucusundan IBM Workplace<br />

Managed Client ürününün<br />

kurulmas›na ve “Hannover”<br />

için beklenmesine gerek<br />

kalmadan flirketler Lotus Notes<br />

istemcisini bir Linux ifl istasyonunda<br />

sorunsuz olarak kullanabilirler.<br />

Bu yeni seçenek, Lotus Domino<br />

sunucusu, Lotus Domino Web Access<br />

kullan›c›lar›n›n ç›karlar›n› temsil eden<br />

bir sektör grubu olan OSAIA'n›n<br />

(Open Source and Industry Alliance)<br />

kamu politikas› direktörü Will Rodger,<br />

Google'›n son hareketi ile ilgili belirli<br />

bir yorumda bulunamayaca¤›n› ancak<br />

Google'›n ODF'yi desteklemesinin yaln›zca<br />

internet ve Internet kullan›c›lar›<br />

için yarar sa¤layaca¤›n› söyledi.<br />

Rodger, "Internet'in geliflmesinin<br />

önemli bir nedeni de altyap›s›ndaki<br />

teknolojilerin kimsenin kontrolünde<br />

olmamas›. Kontrol olmamas›, sektöre<br />

yeni girenlerin çevrimiçi dünyada rekabet<br />

etme flans›n›n çok daha fazla<br />

oldu¤u anlam›na gelir” diyor ve sözlerine<br />

flunlar› ekliyor: "Ancak, özel masaüstü<br />

uygulamalar›yla ile özel olmayan<br />

a¤ aras›ndaki ba¤lar belirsizleflirken,<br />

ileri teknoloji kullanan flirketler<br />

Web'in iç yüzünü an›nda ö¤renebiliyor.<br />

Bu yaln›zca, bu flirketlerin en az<br />

Internet'in kendisi kadar aç›k bir dosya<br />

biçimi istemeleri durumunda anlaml›<br />

olur. ‹flte bu dosya biçimi de<br />

ODF'dir."<br />

ve Lotus Domino yönetim istemcisi<br />

için Linux deste¤ine dayanarak Lotus<br />

Notes ve Lotus Domino'nun Linux<br />

üzerine tam olarak yerlefltirilmesini<br />

sa¤l›yor.<br />

10 HABER LINUX


HABERLER<br />

IBM, Suse 10 Linux için Xen<br />

sanallaflt›rma yaz›l›m›n› destekleyecek<br />

IBM geçti¤imiz günlerde BladeCenter<br />

ve di¤er x86 donan›mlar›nda Novell'in<br />

Suse 10 Linux ürününü ve Xen sanallaflt›rma<br />

teknolojisini destekleyece¤ini<br />

aç›klad›. Ayr›ca, IBM Xen sanal makinelerinin<br />

kendi Virtualization Engine<br />

alt›nda yönetilmesine de olanak sa¤layacak.<br />

Böylece IBM müflterileri birden<br />

çok Xen sanal makinesi tedarik<br />

etmek ve bunlar› yönetmek amac›yla<br />

IBM'in bilinen yönetim yaz›l›m›n› kullanabilecekler.<br />

Xen, Intel ya da AMD ifllemci tabanl›<br />

ucuz bir sunucuyu her biri ayr›<br />

bir uygulama çal›flt›ran birden çok sanal<br />

makineye dönüfltürebiliyor. Ücretsiz<br />

kullan›labilen<br />

bir aç›k kod olan<br />

Xen'in önümüzdeki<br />

birkaç y›l içinde<br />

sunucu birlefltirmesinde<br />

önemli bir<br />

rol oynamas› bekleniyor.<br />

Alt› ya da<br />

yedi uygulama çal›flt›ran<br />

birlefltirilmifl<br />

bir sunucu tek<br />

bir uygulama çal›flt›ran<br />

bir sunucuya<br />

göre çok daha yüksek<br />

kullan›m oranlar›na ulaflabiliyor.<br />

IBM'in bu deste¤i ile güçlenen Novell,<br />

Xen ile birlikte Linux'u yan›na<br />

alarak rakibi Red Hat'›n önüne geçiyor.<br />

Her iki flirket de ilerideki Linux<br />

da¤›t›mlar›nda Xen için destek sa¤layacaklar›n›<br />

aç›klad›. Novell, Web sitesinde<br />

Suse 10 da¤›t›m› için “son rötufllar›”<br />

yapmakta oldu¤unu belirtiyor.<br />

Red Hat, bu y›l›n sonuna do¤ru<br />

Xen 3.0 içeren bir da¤›t›m sunmay›<br />

planl›yor. IBM, Red Hat, Xen 3.0 içeren<br />

da¤›t›m›n› ç›kard›¤›nda, flirketin<br />

Xen'in Red Hat Linux'ta çal›flmas›n›<br />

da destekleyece¤ini söylüyor.<br />

Ubuntu Certified Professional<br />

Xen ilk olarak ‹ngiltere'de Cambridge<br />

Üniversitesi'nde gelifltirildi.<br />

Xen'in yarat›c›lar› ürünün kullan›m›na<br />

yönelik teknik destek sa¤layan bir ticari<br />

kurulufl olan XenSource'u kurdular.<br />

Geçen y›l Xen'in daha geliflmifl sürümü<br />

olan 3.0 yay›nlanmaya haz›rlan›rken,<br />

sanallaflt›rma pazar›n›n lideri<br />

VMware, aç›k kaynak koduyla rekabet<br />

edebilmek için VMware sunucusunu<br />

yaratt›. Temel düzeyde, tek sunuculu<br />

bir sanallaflt›rma ürünü olan VMware<br />

sunucusu ücretsiz olarak sunulmaktad›r.<br />

EMC'nin ba¤›ms›z bir ifl birimi<br />

olan VMware, 2006'n›n ikinci çeyre-<br />

¤inde 157 milyon USD gelir ve yüzde<br />

73'lük bir büyüme oran› elde etti¤ini<br />

aç›klad›. Gelirleri dört çeyrek dönemde<br />

de bu h›zla artmaya devam ederse,<br />

VMware y›lda 630 milyon USD gelir<br />

elde eden bir flirket olacak. EMC<br />

daha önce Vmware'in gelirine iliflkin<br />

rakamlar› aç›klamam›flt›.<br />

IBM, HP ve Sun Microsystems aç›k<br />

kaynak kodlu Xen için s›raya girerek<br />

flu anda en büyük geliri VMware'in elde<br />

etti¤i geliflen sanallaflt›rma yaz›l›-<br />

m› pazar›ndan pay elde etmek istiyorlar.<br />

Linux Professional Institute (LPI) sertifikalar›,<br />

RedHat Certified Engineer<br />

(RHCE) ve Novell'in sertifikalar›ndan<br />

sonra Linux camias›na yeni bir sertifikasyon<br />

haberi geldi. Son dönemin yükselen<br />

y›ld›z› Ubuntu için LPI ile Canonical<br />

firmas› iflbirli¤i ile haz›rlanan Ubuntu<br />

Certified Professional (UCP) s›nav›<br />

Nisan 2006'da duyurulmufltu. Yeni<br />

sertifkasyonun duyurulmas›ndan sonra<br />

ilk UCP unvan›n› iki Güney Afrika'l› kazand›:<br />

Johannesburg'dan Fred Strauss<br />

ve Khayeni Ndlovu.<br />

UCP s›nav›na, dünya çap›nda<br />

yayg›n 7 bin Thomson Prometric<br />

ve Pearson VUE test merkezlerinde<br />

girilebilir. Fiyat› 100 USD olarak<br />

belirlenen s›nav, LPI taraf›ndan yap›lan<br />

101 ve 102 s›navlar›n›n biraz<br />

daha üst seviyesi olarak ve tek s›-<br />

nav halinda düzenleniyor. UCP s›-<br />

nav›nda baflar›l› olanlar ayn› zamanda<br />

LPIC-1 sertifikas›n› almaya da<br />

hak kazan›yor.<br />

‹lgili web siteleri:<br />

Kaynak haber: http://www.ubuntu.com/news/lpi1<br />

LPI: http://www.lpi.org/<br />

Thomson Prometric: http://www.prometric.com<br />

Pearson Vue: http://www.pearsonvue.com<br />

HABER LINUX 11


IBM ve Novell Linux paketlerinde<br />

iflbirli¤ine gidiyor<br />

IBM ve Novell, Kobi kanal› ortaklar›na<br />

yönelik olan ve Windows ortam›yla<br />

tam anlam›yla bütünleflen iki Linux<br />

çözüm paketi için iflbirli¤i yapt›.<br />

IBM'in LinuxWorld Expo fuar›nda<br />

yapmay› planlad›¤› sekiz duyurudan<br />

biri olarak, Linux donan›m ve yaz›l›m<br />

da¤›t›m› sat›c›lar›, Integrated Stack<br />

for Linux (Linux için Bütünlefltirilmifl<br />

Paket) ve Integrated File and Print<br />

Server for Linux (Linux için Bütünlefltirilmifl<br />

Dosya ve Yaz›c› Sunucusu)<br />

ad›nda aç›k bir arakatman yaz›l›m çözümü<br />

gelifltirildi¤ini aç›klamaya karar<br />

verdiler. Bu çözüm ilk olarak da¤›t›m<br />

flirketi Avnet taraf›ndan yetkili sat›c›-<br />

lara sa¤lanacak.<br />

Integrated Stack for Linux çözümü<br />

Novell SUSE Linux 9, IBM xSeries<br />

e-sunucular›, DB2 Express-C ve daha<br />

önce Gluecode olarak adland›r›lan<br />

WebSphere Community Edition'› içeriyor.<br />

Integrated File and Print for Linux<br />

çözümü ise SUSE Linux 9 ve Centeris<br />

Likewise'› içeriyor. Bu çözüm ile<br />

bir Kobi müflterisi ya da orta¤› bir Novell<br />

SUSE Linux dosya ve yaz›c› sunucusunu<br />

kolayl›kla Windows ortam›na<br />

ba¤layabiliyor.<br />

Novell, NetWare müflterilerinin Linux'a<br />

geçmesini sa¤layarak ve Unix,<br />

Windows ve Red Hat<br />

dünyas›ndan yeni<br />

Kobi müflterileri ekleyerek<br />

kazan›m elde<br />

ederken yeni Linux<br />

çözüm paketleri sunulacak.<br />

Geçen ay›n sonlar›na<br />

do¤ru düzenlenen<br />

BrainShare konferans›nda,<br />

Novell<br />

özellikle Kobi müflterilerini<br />

hedefleyen,<br />

cazip fiyatl› Open Workgroup Suite<br />

(Aç›k Çal›flma Grubu Setini) ürün paketini<br />

piyasaya sundu.<br />

Ayr›ca, flirket, ortaklar› için piyasaya<br />

sürmeye haz›rland›¤› SUSE Linux<br />

Enterprise (SLES) 10 ve SLES<br />

Desktop ürünlerine yönelik First Class<br />

ad›nda iddial› bir e¤itim program› ç›-<br />

karmay› planl›yor. Novell, iki günlük<br />

çal›flma atölyesi olarak planlanan bu<br />

program›n ortaklara ücretsiz olarak<br />

sunulaca¤›n› ve 20 - 25 flehirde gerçeklefltirilece¤ini<br />

aç›klad›.<br />

California Santa Barbara'da bir<br />

Platinum orta¤› olan Novacoast yak›n<br />

bir zamanda bir Debian müflterisini<br />

SUSE Linux'a yönlendirerek Red<br />

Hat'in izinden gidiyor.<br />

Pek çok NetWare müflterisi Novell'in<br />

Linux platformuna geçmeyi<br />

planl›yor. Novacoast, yak›n bir zamanda<br />

60 flubeye sahip büyük bir<br />

banka ile bankan›n tüm NetWare sunucular›n›<br />

Novell Open Enterprise<br />

Server'a geçirmesi için bir anlaflmaya<br />

vard›klar›n› aç›klad›.<br />

California Fremont'taki KIS<br />

Systems flirketinin CEO'su Sean Canavaro,<br />

Netware müflterilerinin Novell<br />

Linux'a geçmeyi planlad›klar›n› ancak<br />

bunun biraz zaman alaca¤›n› belirtti.<br />

Ayr›ca “Novell müflterileri çok mant›kl›d›r<br />

ve bak›m masraflar› yüzde 30-<br />

40 oran›nda daha düflük oldu¤u için<br />

OES'e geçmeye çal›flacaklard›r” diye<br />

belirtti.<br />

12 HABER LINUX


HABERLER<br />

“Skype for Linux”un yeni sürümü ç›kt›!<br />

Linux kullan›c›lar›n›n ço¤u popüler<br />

VoIP (Voice over Internet Protocol)<br />

istemcisi olan Skype'nin Linux'a yönelik<br />

yeni sürümünün ç›kaca¤›ndan<br />

umutlar›n› kesmifllerdi. Ancak yan›ld›-<br />

lar. Haziran sonunda Skype 1.3 beta<br />

sürümünü ç›kard›.<br />

Bu yeni sürüm, en son sürümü<br />

2.0.0.105 olan büyük kardefli Windows<br />

istemcisinin tüm özelliklerini tafl›mamakla<br />

birlikte, Linux sürümüne<br />

yönelik olarak at›lm›fl büyük bir ad›m.<br />

Linux istemcisi Trolltech Qt araç<br />

tak›m› üzerinde oluflturulmufl; ancak<br />

bunu kullanmak için KDE çal›flt›rman›z<br />

gerekmiyor. Program GNOME üzerinde<br />

mükemmel bir flekilde çal›fl›yor.<br />

Bunu, program› GNOME 2.14 sürümünü<br />

içeren Ubuntu 6.06 LTS (Dapper<br />

Drake) sisteminde çal›flt›rarak s›nad›k.<br />

Bu sürüm henüz “.1” güncellemesi<br />

olmas›na ra¤men çok say›da önemli<br />

özelli¤i beraberinde getiriyor. Örne-<br />

¤in, hem eski OSS'yi (Open Sound<br />

System; Aç›k Ses Sistemi), hem de<br />

yeni ALSA'y› (Advanced Linux Sound<br />

Architecture; Geliflmifl Linux Ses Mimarisi)<br />

destekliyor.<br />

Ayn› zamanda Skype tabanl› konferans<br />

ça¤r›lar› için bir çoklu sohbet<br />

göstergesi, kullan›fll› bir bafllang›ç sihirbaz›<br />

ve son olarak da "e-posta adresi"<br />

ba¤lant›lar› için bir posta program›<br />

yap›land›rma sistemi bulunuyor.<br />

Bu e-posta bütünlefltirmesi için aç›k<br />

sistem kullan›lmas›yla ayn› fley de¤il<br />

ancak bunu flimdilik göz ard› edebiliriz.<br />

Program›n rahats›z edici hatalar›n<br />

ço¤undan temizlenmifl olmas› da gayet<br />

memnuniyet verici. Daha önceki<br />

sürümlerde, program›n çökmesine kadar<br />

varacak flekilde çal›flmay› kesen<br />

çeflitli hatalar oluflmas›, kullan›c› arabiriminin<br />

“hayalet” olaylar içermesi<br />

ve baz› menü ö¤eleri ve simgelerinin<br />

kullan›fls›z olmas› nedeniyle Linux kullan›c›lar›na<br />

eski sürümleri tavsiye<br />

edemiyorduk.<br />

Ancak program›n bu sürümü sorunsuz<br />

çal›fl›yor. Önceki sürümlerden<br />

memnun kalan bireysel kullan›c›lar bu<br />

sürümü de be¤enecekler, çünkü güvenlik<br />

duvarlar› ve NAT'den (a¤ adresi<br />

çevrimi) geçit sa¤layan program,<br />

a¤ kurulumunu son derece kolaylaflt›-<br />

r›yor. Di¤er yandan, bu özellik a¤ yöneticileri<br />

için o kadar da heyecan verici<br />

olmayabilir.<br />

Ancak video-konferans gibi özellikler<br />

bekliyorsan›z hayal k›r›kl›¤›na<br />

u¤rayabilirsiniz. Skype, PC'den PC'ye<br />

ya da PC'den eski basit telefon sistemine<br />

ses aktar›m› sa¤layan iyi bir telefon<br />

program› ancak bir görüntü sistemi<br />

de¤il.<br />

Yine de, program, kullan›m› kolay<br />

olmayan sistemlerde bile iyi çal›fl›yor.<br />

Program›<br />

800MHz Via<br />

ifllemcili, 128<br />

MB RAM'li ve<br />

20 GB sabit<br />

diskli, eski bir<br />

toplama sistemde<br />

SimplyMEPIS<br />

6'n›n<br />

en son sürümüyle<br />

ve<br />

56Kb/s'lik bir<br />

a¤ ba¤lant›s›nda<br />

çal›flt›rd›k.<br />

‹deal olmaktan<br />

son derece<br />

uzak bu koflullarda<br />

bile PC'den PC'ye görüflmeler<br />

son derece kullan›fll›yd›.<br />

Elbette bu söylediklerimiz bir baflka<br />

Skype kullan›c›s›n› arad›¤›n›zda geçerli.<br />

Skype, VoIP için kendi özel protokolünü<br />

kullan›yor. fiirket, VoIP için<br />

aç›k standart olan SIP'yi (Session Initiation<br />

Protocol) desteklemiyor. Dolay›s›yla,<br />

flu anda, VoIP için SIP ile<br />

uyumlu Google Talk kullanan birini Linux<br />

üzerinden araman›n kolay bir yolu<br />

oldu¤unu söyleyemeyiz.<br />

Ancak bu durum de¤iflecek.<br />

RSDevs.com adl› küçük bir flirket<br />

Skype ile SIP aras›nda bir a¤ geçidi<br />

görevi görecek bir program üzerinde<br />

çal›fl›yor. Bu program, yaln›zca Linux<br />

VoIP istemcileriyle de¤il, ayn› zamanda<br />

güçlü bir aç›k kaynakl› telefon<br />

anahtarlama ve PBX program› olan<br />

Asterisk ile de çal›flt›¤› için gelecek<br />

vaat ediyor.<br />

Skype for Linux ço¤u da¤›t›mda<br />

haz›r olarak sunuluyor. Özellikle, Debian<br />

tabanl› da¤›t›mlar, SUSE 9.x ve<br />

ileriki sürümleri, Fedora 3 ve ileriki<br />

sürümleri ve Mandriva 10.1 ve yeni sürümlerini<br />

destekliyor. Bununla birlikte,<br />

program›n tüm modern Linux sürümlerinde<br />

çal›flmas› gerekiyor.<br />

Yapt›¤›m›z testlerde, bu ücretsiz<br />

program›, daha önce söz etti¤im<br />

programlar›n yan›nda, SUSE Linux Enterprise<br />

Desktop 10, Red Hat Enterprise<br />

Linux 4 ve Xandros 4 sistemlerine<br />

de gerçekten kolayl›kla kurdum.<br />

Program, kurulum sonras›nda da tüm<br />

bu iflletim sistemlerinde güzel çal›flt›.<br />

Elbette, bu özel bir program. Bu<br />

durumdan hoflnut de¤ilseniz, videokonferans<br />

özelli¤i içeren Ekiga (eski<br />

ad› GnomeMeeting) ya da SIP ile<br />

uyumlu bir telefon sistemi olan ve gerekli<br />

tüm özellikleri içeren Yate sizin<br />

için daha uygun olacakt›r.<br />

Son olarak, Skype kullan›c›s› olan<br />

arkadafllar›n›zla görüflmek istiyorsan›z,<br />

bu yeni sürümün son derece istikrarl›<br />

ve herkes için iyi oldu¤unu söyleyebiliriz.<br />

Steven J. Vaughan-Nichols<br />

HABER LINUX 13


RÖPORTAJ<br />

“Linux alan›n› g<br />

IBM Linux strateji yöneticisi, Linux'un alan›n› geniflletti¤ini söylüyor<br />

IBM'in Linux Strateji Müdürü Adam Jollans, verdi¤i röportajda<br />

Linux'un farkl› sektörlerle büyük ve küçük ölçekli iflletmeler<br />

taraf›ndan benimsenmesiyle ilgili geliflmelere iliflkin<br />

görüfllerini ve IBM'in bu e¤ilimlere yan›t vermek için kendi<br />

Linux stratejisini nas›l uyarlad›¤›n› anlatt›.<br />

IBM'in Linux stratejisinde ne gibi de¤ifliklikler oluyor<br />

Yedi ya da sekiz y›ld›r Linux iflinin içindeyiz. Linux ilk<br />

bafllarda a¤ ucundaki bölüm sunucular› ve Web sunucular›<br />

için kullan›l›yordu. Ancak, son zamanlarda Linux'un kritik<br />

uygulamalar ve ifl uygulamalar›nda daha büyük çözümlerin<br />

parças› olarak kullan›ld›¤›n› görüyoruz.<br />

Sizin gözlemlerinize göre Linux özellikle hangi sektörler<br />

taraf›ndan cazip bulunuyor<br />

Linux özellikle finans alan›nda güçlü görünüyor. Wall<br />

IBM Linux<br />

Strateji Müdürü<br />

Adam Jollans<br />

Street bir süredir Linux'u kullan›yor. Bu tercihin nedeni de<br />

hesaplar›n çok h›zl› gerçeklefltirilebilmesi. Linux'un baz›<br />

bankalar taraf›ndan da kullan›lmaya baflland›¤›n› görüyoruz.<br />

Bankalar flubelerini yenilerken müflterilerle iliflkilerin flubeyi<br />

ne kadar do¤rudan etkiledi¤inin fark›na var›yor. Dolay›-<br />

s›yla müflteriler bir gün bir flubeyi, di¤er gün bir telefon sistemini,<br />

ertesi gün de bir Web sistemini kullanabiliyorlar. Linux'un<br />

kullan›ld›¤› ikinci alan perakende sektörü. Bu sektörde<br />

flubelerde ve ma¤azalarda bir teknolojik s›çray›fl yaflan›-<br />

yor. Ancak Linux'ta flunu görüyoruz: ‹nsanlar uygulamalar›n<br />

özellefltirilmesini istiyorlar; yani diyelim ki bir ödeme yap›-<br />

yorlarsa ifllemin tamamen kendi tercihlerine göre özellefltirilmesini<br />

istiyorlar.<br />

Linux kullan›m›n›n benimsendi¤i üçüncü alan ise kamu<br />

sektörü. Kamu sektöründe amaçlanan daha az maliyetle yeni<br />

sistem hizmetleri sa¤lanmas›.<br />

Kurumsal flirketlerle karfl›laflt›r›ld›¤›nda Linux'un küçük<br />

ve orta ölçekli iflletmeler için getirdi¤i zorluklar nelerdir<br />

Kobi'ler için maliyetin düflürülmesi ve esneklik çok<br />

önemli, ancak ayn› zamanda destek, bütünlefltirme ve uygulama<br />

istiyorlar. Dolay›s›yla Kobi'ler için en önemli nokta ortaklarla<br />

aralar›nda bir a¤ kurulmas›. Kurumsal müflteriler de<br />

maliyete dikkat ediyor, ancak aç›k kaynak ile ticari yaz›l›mlar›n<br />

nas›l bir arada kullan›laca¤›n› da önemsiyorlar.<br />

Linux kullan›m› Kobi'lerde mi, kurumsal kullan›c›larda<br />

m› daha yayg›n, böyle bir k›yaslama yapabilir misiniz<br />

fiimdiye dek kurumsal alanda Linux'un daha yayg›n olarak<br />

kullan›ld›¤›n› gözlemlemifltik. Ancak son dönemlerde<br />

Kobi'lerin de Linux'a yönelmeye bafllad›¤›n› görüyoruz.<br />

Kobi'lere yönelik olarak Linux çevresindeki ortaklar<br />

a¤›n› geniflletmek için neler yap›yorsunuz<br />

San›r›m Linux kullanan ifl ortaklar›n›n say›s› en son yaklafl›k<br />

5.000 - 6.000 civar›ndayd›. Biz, bu rakam› daha çok<br />

art›rmak yerine, bu ifl ortaklar›n›n ifllerini büyütmelerine<br />

yard›mc› olmaya odaklan›yoruz.<br />

IBM'in Linux yaz›l›mlar›ndan elde etti¤i gelir ne durumda<br />

Linux'tan daha h›zl› bir flekilde art›yor. Bunun nedeni Linux'un<br />

basit görevler yerine daha karmafl›k görevler için<br />

kullanmaya bafllanmas›. Dolay›s›yla güvenilir ifllem veritabanlar›<br />

ve Web uygulama sunucular› vb. talepleri ortaya ç›-<br />

k›yor. Bu durumu özellikle Web uygulama sunucular›nda,<br />

Web ticari sunucular›nda ve Linux ile di¤er parçalar aras›n-<br />

14 HABER LINUX


eniflletiyor”<br />

daki bütünlefltirmede, ayr›ca sistem yönetiminde gözlemliyoruz.<br />

Red Hat ve Novell ile gerçeklefltirdi¤iniz ortakl›klar›n<br />

yan›nda daha küçük olan di¤er Linux sat›c›lar›<br />

ile çal›flmay› planl›yor musunuz<br />

Daha küçük oyuncularla sürdürdü¤ümüz ifl iliflkileri<br />

bir çeflit taktik olarak görülebilir. Ancak, özellikle<br />

flirketlere yönelmeyi hedefliyoruz. fiirketler de daha<br />

istikrarl› sistemler isteme e¤ilimindeler. Bu yüzden<br />

daha çok Red Hat ve Novell'e odaklan›yoruz.<br />

Baflar› elde etti¤ini düflündü¤ünüz daha küçük<br />

Linux sat›c›lar› var m›<br />

Özellikle Ubuntu'yu dikkate de¤er buluyoruz.<br />

Ubuntu, pek çok farkl› ülkeye son derece eriflilebilir<br />

düzeyde masaüstü da¤›t›m› sa¤lamaya çal›fl›yor. ‹zlenimlerimize<br />

göre Linux'un genifllemesindeki etkenlerden<br />

biri de bilgi iflleme eriflen kitlenin büyümesi. Örne¤in<br />

Brezilya'da daha çok kiflinin bilgi iflleme eriflim<br />

sa¤lamas› amac›yla yerel Linux'un PC'lerde kullan›ld›¤›n›<br />

görüyoruz. Bir baflka örnek de 100 dolara dizüstü bilgisayar<br />

sa¤lamay› hedefleyen MIT projesi.<br />

Sanallaflt›r›lm›fl BT ortamlar›na yönelik e¤ilim IBM'in<br />

Linux stratejisini nas›l etkiliyor<br />

Bilgi ifllem alan›nda nereye gitti¤imize bakacak olursak,<br />

e¤ilimin giderek flu yönde oldu¤unu görüyoruz: Merkezde<br />

farkl› yollarla sanallaflt›r›lm›fl bir bilgisayar havuzu var ve<br />

bu bilgisayarlar daha sonra topoloji, kullan›labilirlik, ifllem<br />

özellikleri vb. do¤rultusunda yeniden dinamik bir flekilde uygulamalar›n<br />

çal›flt›¤› alana atan›yor. Dolay›s›yla on y›l sonra<br />

uygulamalar›n nerede çal›flt›¤›n› bilmeyece¤iz, üstelik bunun<br />

önemi de olmayacak. Linux bu tabloya çok iyi uyum<br />

sa¤l›yor, çünkü birçok farkl› mimaride çal›fl›yor.<br />

Bu yolda at›lm›fl bir ad›m olarak, BT altyap›s›n› sa¤lad›-<br />

¤›m›z Amerika Aç›k Tenis Turnuvas› ve di¤er tenis turnuvalar›nda<br />

gerçeklefltirdiklerimizi sayabiliriz. Web sitesindeki<br />

yükler çok de¤erli. Bu yüzden bir tür bilgisayar flebekesi<br />

oluflturulmas›, hatta bunlar›n dinamik bir flekilde tedarik<br />

edilmesiyle ilgili çal›flmalar yapt›k. Yük artt›¤›nda bunu otomatik<br />

bir flekilde tespit ediyor, daha sonra arka plandaki ifllemleri<br />

durdurup tenis Web siteleri için yeniden Linux Web<br />

sunucular› tedarik ediyoruz. Tüm bunlar birkaç dakika içinde<br />

gerçeklefltiriliyor. Bilgi ifllem gücünü nereden ald›¤›m›z,<br />

nas›l da¤›tt›¤›m›z ve süreci nas›l yönetti¤imiz konusunda<br />

buradan bir ç›kar›m yapmak mümkün.<br />

Linus Torvalds GPL'nin (General Public License) 3. sürümüne<br />

karfl› ç›kt›. Bu durum ne gibi de¤iflikliklere yol aç›-<br />

yor<br />

Linus'un her türlü yorumu önemlidir, ancak GPL 3 henüz<br />

ilk aflamas›nda. Bu konuda farkl› görüfller var.<br />

GPL 2'de kalaca¤›m›z› düflünüyor musunuz<br />

Henüz buna iliflkin bir karar al›nd›¤›n› sanm›yorum; bunun<br />

için daha çok erken.<br />

Linux'un masaüstünde kullan›lmas› hakk›nda neler<br />

söyleyeceksiniz<br />

Masaüstünde kullan›m henüz çok yeni. Analistlere göre<br />

pazar pay› hala tek haneli rakamlarda. Linux'un masaüstünde<br />

kullan›ld›¤› alanlar: uygulama gelifltirme, Hollywood animasyonlar›<br />

ve ça¤r› merkezleri ya da banka vezneleri gibi<br />

hareketlerin k›s›tlanmas›n› istedi¤iniz alanlar. ‹flyerinde kullan›m›n<br />

yayg›nlaflmaya bafllad›¤› alanlar ise maliyetlerin düflürülmesi<br />

ve aç›k bilgi ifllem aç›s›ndan yararl› oldu¤u için<br />

kamu ve e¤itim sektörü.<br />

Masaüstü pazar›na bakacak olursan›z, uygulamalar ve<br />

kullan›mlar› aç›s›ndan “yumurta m› tavuktan ç›k›yor, yoksa<br />

tavuk mu yumurtadan” durumu söz konusu. Kullan›m olmadan<br />

uygulamalar ortaya ç›km›yor, uygulamalar olmadan ise<br />

kullan›m gerçekleflmiyor. Ancak ba¤›ms›z yaz›l›m sat›c›lar›<br />

aç›s›ndan önemi olacak yüzde 10 çizgisinde bir oynama noktas›<br />

oldu¤unu düflünüyorum.<br />

Shelley Solheim<br />

HABER LINUX 15


Unix sistem yöneticilerini di¤erlerinden<br />

ay›ran en temel özellik grafik arayüzlere<br />

pek de itibar etmiyor olmalar›d›r san›r›z.<br />

Unix sistem yöneticileri, genellikle<br />

GUI'leri "konuya yeteri kadar hakim olmayan<br />

kiflilere yard›mc› olan, onlara ne<br />

yapacaklar› (yapabilecekleri) konusunda<br />

ipuçlar› veren arayüzler olarak görmekte<br />

ve tam da ayn› sebeplerden dolay›<br />

onlardan haz etmemektedirler.<br />

Zira, sistem yöneticili¤i gibi ciddi bir<br />

konuda çal›flan kiflilerin bu tür bir yard›mdan<br />

çok ifllerini h›zla ve etkin bir flekilde<br />

yapabilecekleri araçlara sahip olmalar›<br />

gerekir. Bu kiflilerin süslü ikonlara,<br />

ekranda okunabilir alan› azaltan tipbox'lara<br />

ve özellikle de "gerçekten ama<br />

gerçekten emin misiniz bunu yapmay›<br />

istedi¤inize" diyen ekranlara ihtiyaçlar›<br />

yoktur. Dahas› hakim anlay›fl "konuya<br />

yeteri kadar hakim olmayan" ve bu tür<br />

yard›mlara ihtiyac› olan kiflilerin mümkün<br />

oldu¤u kadar söz konusu bilgisayardan<br />

da uzak durup hakim olduklar›<br />

yönlere yönelmeleri fleklindedir.<br />

Öte yandan gözden kaçan önemli bir<br />

nokta da Linux ve BSD baflta olmak<br />

üzere Unix tabanl› sistemlerin oldukça<br />

yayg›nlaflt›¤› günümüzde kullan›c›lardan<br />

sistem yöneticisi meziyetlerini bekleyemeyecek<br />

oldu¤umuzdur. Birçok<br />

kullan›c› günümüzde daha güvenli ve<br />

güvenilir bulduklar› için GNU/Linux'u ifl<br />

istasyonu olarak<br />

tercih etmektedir.<br />

‹flin do¤rusu bu tercihlerinden<br />

dolay›<br />

kimseden GNU/Linux<br />

camias›na kendilerini<br />

aday›p, bütün<br />

problemlerini<br />

kendilerinin çözmesini<br />

bekleyemeyece¤imiz<br />

gibi, mümkün<br />

oldu¤u kadar<br />

az u¤raflmayla gündelik<br />

ifllerini yapabilir<br />

olmaya duyduklar› iste¤e de sayg›<br />

göstermemiz gerekti¤idir.<br />

Son y›llarda y›ld›z› parlayan Ubuntu<br />

ve benzeri kullan›c› odakl› da¤›t›mlar da<br />

tam bunu amaçlamaktad›r.<br />

Bu durumda acaba bir orta nokta<br />

bulmak mümkün olamaz m› Yani hem<br />

GUI'nin kolayl›klar›n› sunabilen, hem de<br />

yeri geldi¤inde iflleri birçok pencere<br />

aras›nda dolaflmadan h›zla halledebilen<br />

16 HABER LINUX


ir sistem oluflturulamaz m›<br />

ShellShock yaz› dizimizde biz de<br />

tam bunu yapmaya çal›fl›yoruz. Bu iki<br />

ekol aras›nda çok da net çizgiler olmad›¤›n›,<br />

birçok kullan›c›n›n korktu¤u konsol<br />

ekran›n›n asl›nda birçok araç ve<br />

klavye k›sa yolu ile oldukça pratik kullan›mlara<br />

da izin verdi¤ini göstermek as›l<br />

amac›m›z.<br />

‹flte bu do¤rultuda, bu say›m›zda size<br />

kulland›¤›n›z mevcut kabuklardan<br />

çok da farkl› olmayan, fakat birçok kullan›m<br />

kolayl›¤› sa¤layan bir yeni kabu¤u<br />

tan›taca¤›z.<br />

Söz konusu yaz›l›m›n ismi Fish. Friendly<br />

Interactive Shell'in k›saltmas›<br />

olan Fish, özellikle de Özgür Yaz›l›m camias›na<br />

yeni kat›lanlar›n be¤enece¤i<br />

birçok kolayl›klar getirmekte.<br />

Daha önce bash, tcsh, zsh gibi kabuklar›<br />

nas›l çal›flt›r›yorduysan›z Fish'i<br />

de ayn› flekilde çal›flt›r›yorsunuz.<br />

http://roo.no-ip.org/fish/ adresinden<br />

kaynak kodunu indirip derleyebilece¤iniz<br />

The Friendly Shell'i, sisteminiz<br />

Debian'›n paket sistemini destekliyorsa<br />

apt-get install fish ile de kolayca kurabilirsiniz.<br />

Kurulumun ard›ndan yapman›z gereken<br />

tek fley bir terminal ekran›na fish<br />

yaz›p enter'a basmak.<br />

Komut Sat›r›:<br />

Fish'i ilk çal›flt›rd›¤›n›zda fark edece¤iniz<br />

komut sat›r› prompt'unun de¤iflmesi<br />

olacakt›r. Her ne kadar bu daha sonradan<br />

da düzenlenebilir bir özellik olsa<br />

da Fish kullan›c›@makina /dizin_ismi><br />

fleklinde bir prompt'a sahiptir.<br />

Peki bu yeni kabukta ne yapabilirsiniz<br />

Tabi ki komut ve argümanlar›n› yaz›p<br />

çal›flt›r›rs›n›z. ‹flte bu noktada Fish<br />

önceki kabuklardan ayr›lmakta. Mesela<br />

firefox yazmaya bafllad›¤›n›zda ilk baflta<br />

harflerin k›rm›z› oldu¤unu, bütün yedi<br />

harfi girdikten sonra ise yeflile döndü¤ünü<br />

görürsünüz. Bu sistemde fire ya<br />

da firefo diye bir çal›flt›r›labilir dosya olmad›¤›n›<br />

gösterir. Yani bir isim ancak<br />

path'de bulundu¤unda rengi yeflile döner.<br />

Tab ile Tamamlama:<br />

Geçen say›da Bash'in k›sa yollar›ndan<br />

en önemlilerinden birinin tab ile gerek<br />

çal›flt›r›labilir dosya isimlerinin gerekse<br />

onlara argüman olan dosya isimlerinin<br />

tamamlanabildi¤ini görmüfltük.<br />

Fish'de de bu özellik desteklenmekte<br />

ve hatta daha da gelifltirilmifl gidilmifl.<br />

Hay›r bahsetti¤imiz Bash'in çal›flt›-<br />

r›lan dosyaya göre programlanabilir tamamlama<br />

özelli¤i de¤il (mplayer gibi bir<br />

medya oynat›c› çal›flt›rd›¤›n›zda argüman<br />

olarak sadece film ve müzik dosyalar›n›<br />

getirmek gibi). Bunun yerine daha<br />

HABER LINUX 17


paket/komut hakk›nda bilgi alabilirken,<br />

birçok durumda komutun isminin akl›n›-<br />

za gelmiyor olmas›d›r. Herkesin bir ara<br />

"Yahu f ile bafllayan bir komut vard›<br />

ama neydi fiunun man sayfas›na bir<br />

baksam" dedi¤i olmufltur.<br />

Bu ihtiyaç Fish'i haz›rlayanlar›n gözünden<br />

kaçmam›fl.<br />

Yapman›z gereken çok basit<br />

man f <br />

ile hem man dosyas› olan f ile bafllayan<br />

komutlar› s›ralayabilir hem de bunlar›n<br />

ne ifle yarad›¤› hakk›nda çok basit<br />

de olsa bir fikir alabilirsiniz.<br />

basit ama daha yararl› olabilecek bir<br />

fley düflünülmüfl ve seçti¤iniz çal›flt›r›labilir<br />

program›n seçenekleri tamamlanmaya<br />

bafllanm›fl.<br />

Ne demek istedi¤imizi biraz daha<br />

kolay anlaman›z için flunu yaz›n (Tabi<br />

Fish'de oldu¤unuzu varsayarak)<br />

mplayer dizin ismi yaz›p tab'a bast›¤›-<br />

n›zda önünüze bu dizindeki dosyalar›n<br />

isimleri, cinsleri ve boyutlar› geliyor.<br />

Man Tar<br />

Birçok kullan›c›n›n en rahats›z oldu¤u<br />

fleylerden biri de man komutu ile birçok<br />

cp --<br />

ve tab tuşuna basın.<br />

Gördü¤ünüz ekran basitçe man cp komutu<br />

ile görebilece¤iniz cp (copy) komutuna<br />

ait komut sat›r› parametrelerinin<br />

bir listesi. Özellikle ilk bafllarda (ve<br />

ilerleyen y›llarda) bu parametreleri ezberlemekte<br />

zorluk çekenler için birebir.<br />

Bu ekrandan istedi¤iniz seçene¤in<br />

bafl harflerini yaz›p Fish'in sizin için tamamlamas›n›<br />

bekleyebilirsiniz.<br />

Ayn› flekilde e¤er bir argüman› yanl›fl<br />

yazarsan›z fish onun rengini k›rm›z›<br />

yaparak size haber verecektir.<br />

Örnek:<br />

ls --colour<br />

yazmay› bir deneyin ve ard›ndan colour'u<br />

color'a çevirin.<br />

De¤iflik bir dosya listesi:<br />

Bir baflka güzel özellik de yine argüman<br />

tamamlamaya eklenmifl. Diyelim ki<br />

mplayer ile bir dosyay› göstereceksiniz<br />

factor (1: factor numbers)<br />

faillog (5: Login failure logging file)<br />

false<br />

(1: do nothing, unsuccessfully)<br />

fan<br />

(1: turn the fan on/off on a Toshiba Pentium(tm) lap<br />

top)<br />

fastjar (1: archive tool for Java archives)<br />

fastjar-4.1 (1: archive tool for Java archives)<br />

fbdev<br />

(4: video driver for framebuffer device)<br />

fbrun<br />

(1: display run dialog window)<br />

fbsetbg (1: "set a background/wallpaper")<br />

fbsetroot (1: a simple background utility used by the Fluxbox<br />

window manager, origin$)<br />

fc-match (1: match available fonts)<br />

fd<br />

(4: floppy disk device)<br />

fdformat (8: Low-level formats a floppy disk)<br />

fdisk<br />

(8: Partition table manipulator for Linux)<br />

fdlist (1: Floppy disk mount utility TQ)<br />

fdmount (1: Floppy disk mount utility TQ)<br />

fdmountd (1: Floppy disk mount utility TQ)<br />

fdrawcmd (1: send raw commands to the floppy disk controller<br />

TQ)<br />

fdumount (1: Floppy disk mount utility TQ)<br />

fdutilsconfig (8: configure the suid bit of fdmount)<br />

feh<br />

(1: image viewer and cataloguer)<br />

feh-cam (1: a utility for viewing live webcam images<br />

gen_cam_menu.sh - a utility for$)<br />

sundance@blackstart /home> mplayer ~sundance/fun/<br />

$ce/fun/NBA1992.avi<br />

(AVI video, 588MB)<br />

$ce/fun/down.sh<br />

(Shell script, 1,4kB)<br />

$ce/fun/TheCode.wmv<br />

(WMV video, 26MB)<br />

$ce/fun/FreedomDowntime.avi (MPEG video, 701MB)<br />

Komut tarihçesi:<br />

Bash'de komut tarihçesinde bir aramay›<br />

Ctrl-R ile yapabilece¤imizi göstermifltik.<br />

Benzer flekilde Fish'de de arama<br />

yapman›z mümkün, fakat çok daha kolay<br />

bir flekilde.<br />

Mesela daha önce mplayer ile bir<br />

dosyay› izlemiflseniz, yapman›z gereken<br />

mplayer yaz›p yukar› ve afla¤› tufllara<br />

basarak arama yapt›¤›n›zda, önünüze<br />

sadece içinde mplayer olan sat›rlar<br />

gelecektir. Her ne kadar benzese de<br />

18 HABER LINUX


u yöntemin Ctrl-R'den daha pratik oldu¤u<br />

kesin.<br />

Fish düflünmez, çünkü fish bilir:<br />

Gördü¤ünüz gibi fish birçok aç›dan kabuk<br />

kullan›c›s›n›n iflini kolaylaflt›rmay›<br />

amaçl›yor ve bunu oldukça da iyi baflar›yor.<br />

Peki yapabildikleri bu kadarla s›n›rl›<br />

m› Tabi ki de¤il.<br />

Komutlar ve argümanlar› konusunda<br />

mümkün oldu¤u kadar kullan›c›n›n<br />

ne yapmak istedi¤ini anlamaya çal›flan<br />

Fish, bunun d›fl›ndaki komut sat›r› girdileri<br />

konusunda da size elinden geldi¤ince<br />

yard›mc› olmaya çal›fl›yor.<br />

Örnek olarak, komut sat›r›nda flunu<br />

yaz›n:<br />

Programlama:<br />

Paranoya seviyesinde siyah ekrandan<br />

korkanlar› saymazsak, birçok bilgisayarc›y›<br />

korkutan Unix özelliklerinin bafl›nda<br />

"shell programlama" gelir. Shell<br />

Shock serisinde de gördü¤ümüz gibi,<br />

her ne kadar ifliniz görecek kadar shell<br />

programlamak zor olmasa da, kulland›¤›<br />

yaz›m kurallar› yüzünden, ister baflkas›,<br />

ister siz yazm›fl olun, bir süre önce yaz›lm›fl<br />

olan bir kodu tekrar incelemek ve<br />

ne yapt›¤›n› anlamak genelde zor olmaktad›r.<br />

Dahas› hacker ekolünden gelen birçok<br />

programc›n›n destekledi¤i bir arge<br />

yöntemi vard›r: iflinizi görecek birkaç<br />

sat›r shell kodu yazars›n›z, sonra buna<br />

yeni bir özellik eklersiniz, sonra bir<br />

daha sonra bir daha ve kendinize<br />

geldi¤inizde görürsünüz ki yanl›fl bir<br />

araçla do¤ru ifli yapmaya çal›fl›yorsunuz.<br />

Teoride shell programlaman›n<br />

sonu olmasa da, yard›mc› konsol<br />

komutlar›yla hemen hemen her fleyi<br />

yapabilir olsan›z da, bu türden bir<br />

program için muhtemelen baflka bir<br />

programlama dili kullanman›z do¤ru<br />

olur.<br />

‹flte bu korkutucu yaz›m dizini<br />

TheFishShell'de de¤iflmifl, bunu özellikle<br />

döngülerde görebiliyoruz.<br />

Bu de¤iflimin iki yönü var. Öncelikle<br />

yap›lan bütün de¤ifliklikler uzun<br />

süredir shell programlayan herkesin<br />

"flunu de¤ifltirseler ne iyi olur" diyece¤i<br />

türden.<br />

Öte yandan bu de¤ifliklikler yüzünden<br />

eski shell betikleri ne yaz›k ki çal›flmamakta.<br />

Tabi ki düzgün yaz›lm›fl bir shell beti¤inin<br />

ilk sat›r›ndaki shebang'de hangi<br />

kabuk yorumcusu ile çal›flaca¤› (bash,<br />

sh, csh, zsh tcsh vs.) yazd›¤›ndan bu da<br />

çok fazla problem olmayacakt›r.<br />

GUI mi Shell mi<br />

Bu ebedi soruya san›r›m verilebilecek<br />

en iyi cevab› TheFishShell veriyor. Ne<br />

tür bir arayüz kullanaca¤›n›z› tabi ki<br />

yapaca¤›n›z ifl belirliyor. Fakat e¤er<br />

shell kullanacaksan›z TheFishShell'i<br />

kullanman›z iflinizi oldukça kolaylaflt›-<br />

racakt›r.<br />

foo=bar<br />

karfl›n›za flöyle bir uyar› ç›kar:<br />

fish: Unknown command<br />

'foo=bar'. Did you mean 'set foo<br />

bar' For information on assigning<br />

values to<br />

variables, see the help section<br />

on the set command by<br />

typing 'help set'.<br />

Gördü¤ünüz gibi fish yine ne<br />

yapmak istedi¤inizi anlad› ve<br />

akl›n›zdan geçeni tahmin etmek<br />

d›fl›nda size yapabilece¤i yard›-<br />

m› yapt›, ad›ndan da daha fazla<br />

bilgi için help set komutunu çal›flt›rman›z›<br />

söyledi.<br />

HABER LINUX 19


Klavye fareye karfl›!<br />

WMII: Yeni nesil bir pencere yöne<br />

20 HABER LINUX


ticisi<br />

Pencere yönetimi, fare gibi düflük bant<br />

geniflli¤ine sahip bir ayg›ta b›rak›lamayacak<br />

kadar önemlidir.<br />

Jim Mackraz<br />

Bu girifl sözünü aç›klamama izin verin.<br />

Önünüzde bilgisayar ile iletiflim<br />

kurmak için iki cihaz var, bir klavye<br />

ve bir fare. Sizin bu iki cihazla iletiflim<br />

kurmak için aktard›¤›n›z veriyi<br />

düflünün. Fareyle, yukar›-afla¤›, sola-sa¤a<br />

hareket ettirerek, tufllar›na<br />

basarak, ya da hareket ettirirken<br />

tufllar›n› kullanarak iletiflim kurars›-<br />

n›z. Bu iletiflim ile üretebilece¤iniz<br />

farkl› bilgiler "mouse gestures" diye<br />

tabir edilen hareketlerle birlikte<br />

dahi çok çeflitli olmayacakt›r.<br />

Klavye için durum çok farkl›.<br />

Standart bir klavyede en az 100 tufl<br />

bulunuyor. Al›n size flimdiden 100<br />

farkl› iletiflim metodu. Bu arada,<br />

klavye ile iletiflim kurarken, farede<br />

oldu¤u gibi 3 parmak ile s›n›rl› kalmad›¤›n›z›<br />

(zamane farelerinin baflparmak<br />

alt›nda da tuflu var), 10 parmak<br />

kullanabildi¤inizi de unutmay›n.<br />

Bu 100 tuflun temel ifllevi yaz›<br />

yazmak oldu¤undan bir fleyler kontrol<br />

etmek için kullanmak manas›z<br />

olacakt›r fakat etrafta CTRL, ALT,<br />

WIN, SHIFT gibi tufllar da var. Al›n<br />

size kontrol için "yüzlerce" seçenek!<br />

‹flte giriflteki "düflük bant geniflli¤i"nden<br />

kas›t budur.<br />

Bu konu ile ilgili detayl› bir yaz›<br />

okumak istiyorsan›z kaynak [a]'y›<br />

gözden geçirmeyi unutmay›n.<br />

Bilindik pencere yöneticileri<br />

karfl›t› bir bölüm<br />

Herfley ara ara Emacs[emacs] ipuçlar›<br />

paylaflt›¤›m›z bir arkadafl›ma<br />

"XSteve's Emacs Power User<br />

Tips"[xsteve] adresini iletmemle<br />

bafllad›. Adresi yollamam›n ertesi<br />

günü, sayfadaki ion3[ion3] adl› yaz›l›m›<br />

arkadafl›m çoktan bilgisayar›-<br />

na kurmufl, bir süre kurcalay›p kendisini<br />

rahat hissetmeyince Gnome'a<br />

geri bile dönmüfltü.<br />

ion3'ün sitesindeki yaz›y› okuyunca,<br />

ion3'ün pencere yönetiminin<br />

bana Gnome, KDE gibi masaüstü ortamlar›n›n<br />

yönteminden daha mant›kl›<br />

geldi¤ini fark ettim. Yaz›da basitçe<br />

üst üste binen pencerelerin<br />

yaratt›¤› karmafla ve bundan kurtulmak<br />

için projenin seçti¤i yol anlat›-<br />

l›yor. Mizahi bir dille, ion3'ün söylediklerini<br />

size aktarmadan geçemeyece¤im:<br />

“Da¤›n›k ve üst üste binmifl pencereleri<br />

mouse ile bile düzenlemek<br />

iflkence. Bu karmaflay› yaratan<br />

‘pencere yöneticileri’, bu ifli kullan›-<br />

c›ya b›rakarak nas›l ‘yönetim’ yapt›klar›n›<br />

san›yorlar!”<br />

Bu konuya bulunan çözüm de<br />

pek karmafl›k de¤il. Ekran› belli parçalara<br />

bölüp, pencerelerin boyutlar›<br />

bu parçalardaki alanlara göre otomatik<br />

ayarlamak. Bu kadar ion3<br />

reklam›ndan sonra ilginizi bu yaz›l›-<br />

ma aktarmay› baflarabildiysem, lütfen<br />

denemekten çekinmeyin, çünkü<br />

size art›k wmii anlatmaya bafllayaca¤›m!<br />

wmii<br />

ion3'ten bu yeni pencere yönetimi<br />

sistemini ö¤rendikten sonra biraz<br />

araflt›rd›m ve "sitesini be¤endi¤im<br />

için" wmii'› denemeye karar verdim.<br />

Bu son k›s›mda bu programc›¤› sizinle<br />

h›zl›ca paylaflaca¤›m.<br />

Debian/Ubuntu kullan›c›s›ysan›z<br />

libx11-dev ve build-essential paketlerini<br />

yükleyin ve http://www.wmii.de/wmii/<br />

adresindeki wmii-3.1<br />

tar.gz dosyas›n› çekin. Dosyay› açt›ktan<br />

sonra config.mk dosyas›ndaki<br />

kurulum yolunu düzenleyin, "make"<br />

komutu ile derleme ifllemini bitirip,<br />

"make install" deyip kurulumu<br />

çal›flt›r›n.<br />

Kurulumdan sonra yaz›l›m› ça-<br />

HABER LINUX 21


l›flt›rmak için ev dizininizde “.xsession”<br />

dosyas›n›n içerisine "exec [kurulum<br />

yolu/wmii]" yaz›n ve dosyay› çal›flt›r›labilir<br />

k›l›n (chmod +x).<br />

Bu h›zl› kurulum aflamas› sonras›nda<br />

Gnome ya da KDE'den ç›k›p, girifl<br />

yöneticisi (gdm, kdm) ayarlar›ndan<br />

"Geçerli Sistem Oturumu"nu seçin ve<br />

girifl yap›n. Karfl›n›za wmii'›n "Merhaba"<br />

mesaj› gelecektir.<br />

Bu noktadan sonra referans verece¤im<br />

resimlere http://tinyurl.com<br />

/plmu9 adresinden eriflebilirsiniz. Bu<br />

referanslar›n dergi sayfalar›nda<br />

gördü¤ünüz resimler ile bir ba¤lant›s›<br />

yoktur.<br />

wmii pencerelerinizi sizin yerinize<br />

yönetir. Bu yönetim tarz›n›n en<br />

büyük yetisi ekran alan›n› tam olarak<br />

kullan›p pencereleri tüm monitörünüze<br />

da¤›tmas›d›r. Çal›fl›rken 5<br />

tane terminal aç›p, aktif olarak her<br />

pencereyi görmek istedi¤inizi düflünün.<br />

o pencerenin boyutunu de¤ifltir,<br />

sola çek; öbürünü de¤ifltir, yukar›<br />

götür. O bunun üzerine ç›kt›, ay!<br />

her birinden 5 pixel daha yer alay›m.<br />

Tam bir iflkence!<br />

Bu yönetim tarz›n› denemek için<br />

3-5 kere Alt+Enter'a bas›n. Her bas›fl›n›zda<br />

bir xterm penceresi ç›kacak,<br />

wmii ekrandaki pencerelerin<br />

boyutunu k›s›p yenisine yer açacak.<br />

Nas›l, "o pencereyi k›s, di¤erini<br />

tafl›" ifllemine gerek kalmadan, rahatça<br />

"tüm" ekran alan›n› kulland›k.<br />

E¤er seçili de¤ilse en alttaki pencereye<br />

geçin. Hay›r hay›r b›rak›n fareyi,<br />

Alt + k ile en alta inin. Ayn› flekilde, yukar›<br />

ç›kmak için de Alt + j kullanabilirsiniz.<br />

fiu an wmii, bu ekran için varsay›lan<br />

pencere yerleflimini kullan›yor.<br />

Alt + s tufluna bast›¤›n›zda sadece<br />

pencere bafll›klar›n›n göründü¤ü baflka<br />

bir moda geçebilirsiniz. Ayr›ca, Alt + j<br />

yerine Alt + Shift + j'ye basarsan›z, aktif<br />

pencere ile üstündeki pencere yer<br />

de¤ifltirecektir. Bu tüm yön tufllar› için<br />

(birazdan bahsedece¤im) geçerlidir.<br />

Ekranda ikinci bir sütun yaratmak<br />

için Alt + Shift + l'ye bas›n.<br />

wmii ekran› ikiye bölecek, aktif<br />

pencereyi sa¤ tarafa yerlefltirecektir.<br />

Sola yerlefltirmesini isterseniz<br />

de Alt+ Shift + h ye basabilirsiniz.<br />

fiimdi bast›¤›n›zda önce<br />

di¤er pencerelerin alt›na, sonra<br />

da sol tarafa alacakt›r. Wmii pencereleri<br />

sütunlar üzerinden yönetir.<br />

Bir sütunu bir moda, di¤erini<br />

di¤er moda geçirebilir, bu paragrafta<br />

bahsetti¤im gibi, sütunlar<br />

aras›nda pencereleri aktarabilirsiniz.<br />

Temel pencere yerleflimlerinden<br />

sonra boyutland›rmadan ve<br />

fare kullan›m›ndan bahsedelim.<br />

Bir pencerenin sütununu ya da<br />

sütundaki yerini de¤ifltirmek için<br />

Alt tufluna basarken pencereyi<br />

sürükleyin.<br />

Boyun de¤ifltirmek için de<br />

Alt'a bas›l› tutarken sa¤ tuflu kullan›n.<br />

Bunun gibi fare gerektiren durumlarda<br />

fare kullanmak istemiyorsan›z<br />

[kurulum dizini]/etc/wmiirc dosyas›n›<br />

düzenleyip ilgili betiklerini yazman›z<br />

gerekecek. Dosyan›n içine bak›nd›-<br />

¤›n›zda her tufl için hangi komutun çal›flt›r›laca¤›n›<br />

görebilir, düzenleyip istedi¤iniz<br />

herhangi bir tufl kombinasyonuna<br />

herhangi bir ifli atayabilirsiniz.<br />

Bu tarz iflleri "wmiir" komutu ile yapacaks›n›z.<br />

wmii'›n bir hofllu¤u da kabaca<br />

22 HABER LINUX


Kaynak<br />

[a] http://www.mired.org/home/mwm/papers/windowing.html<br />

[b] http://www.fazlamesai.net/a=article&sid=4149<br />

[c] http://www.fazlamesai.net/a=article&sid=1155<br />

[d] http://www.modeemi.fi/~tuomov/ion/<br />

[emacs] http://www.gnu.org/software/emacs/<br />

[xsteve] http://www.xsteve.at/prg/emacs/power-user-tips.html<br />

[ion3] http://www.modeemi.fi/~tuomov/ion/<br />

"uzaktan kumandal›" olmas›d›r.<br />

"wmiir read /" deyip ç›kt›ya bir<br />

bak›n. Bu özel dosyalara "wmiir<br />

write" ile yazabilirsiniz. Komutun<br />

detayl› kullan›m›, sanal dosya uçlar›<br />

için wmii dokümantasyonuna<br />

bakman›z› istiyorum. Basit bir<br />

örnek olarak, ekran›n alt›ndaki<br />

durum çubu¤unun sa¤ taraf›n›<br />

düzenleyen, [kurulum dizini]/etc<br />

/status dosyas›na göz atabilir ya<br />

da sitesindeki "code snippets"<br />

k›sm›n› okuyabilirsiniz. Çal›flma<br />

alan› yönetimi ya da günlük kullan›m<br />

için gerekli tufllar›n listesini<br />

yaz›n›n içinde, tablo fleklinde bulabilirsiniz.<br />

Her fley güzel, hofl peki ya<br />

standart, klasik pencere yönetim<br />

seçene¤imiz yok mu Elbette bu<br />

unutulmam›fl. Alt + Shift + Space<br />

tufluna bast›¤›n›zda aktif pencere<br />

yüzer moda geçecektir. Bu<br />

modda yukar›da bahsetti¤im tufl<br />

kombinasyonlar› ile pencerelerin boyutunu<br />

de¤ifltirebilir, tafl›yabilirsiniz.<br />

wmii'i ö¤renmeye bafllamak için<br />

[kurulum dizini]/etc/wmiirc komut<br />

dosyas›n› ve sitesindeki e-posta listesi<br />

arflivlerini tarayabilirsiniz. Yaz› ile ilgili<br />

görüflleriniz baflta olmak üzere, e-<br />

posta yollamaktan çekinmeyin.<br />

Can Burak Çilingir<br />

Tablo<br />

Alt + h,j,k,l<br />

: Soldaki (h), sağdaki (l), üstteki (j), alttaki (k) pencereye geç.<br />

Alt + Shift + h,j,k,l : Seçili pencereyi soldaki (h), sağdaki (l), üstteki (j), alttaki (k)<br />

pencereyle değiştir.<br />

Alt + [rakam]<br />

: Geçerli pencereyi [rakam] ile etiketle<br />

Alt + Shift + [rakam] : [rakam] ile etiketlenmiş pencereleri göster<br />

Alt + d (default)<br />

: Varsayılan pencere yönetim moduna geç<br />

Alt + s (stacked)<br />

: Pencereleri üst üste binecek şekilde yönet<br />

Alt + m (maximized)<br />

: Sadece aktif pencereyi göster<br />

Alt + p<br />

: Program çalıştır<br />

Alt + a (actions)<br />

Alt + Shift + Space<br />

: wmii işlerini çalıştır (programdan çıkmak için buradan "quit" denemiz<br />

gerekiyor)<br />

: Aktif pencereyi yüzer pencere durumuna getir ya da geri al (bildiğimiz<br />

standart pencere yönetimi, bkz: Şekil 4)<br />

HABER LINUX 23


KAPAK KONUSU<br />

Belediyeler Linux<br />

ile tan›fl›yor!<br />

UNDP projesi çerçevesinde Linux e¤itimleri alan Bahçelievler Belediyesi,<br />

Linux'u belediye bünyesinde kullanmaya bafllad›<br />

Birleflmifl Milletler Gelifltirme Program›<br />

(UNDP) ile Bulgaristan ‹nternet<br />

Derne¤i (ISOC-BG), geçti¤imiz y›l›n bafl›nda<br />

belediyelerin özgür ve aç›k kaynak<br />

kodlu yaz›l›mlar› daha etkin bir flekilde<br />

kullanabilmeleri ve bu sayede internet<br />

hizmetlerini daha h›zl› ve verimli<br />

sunabilmeleri için bir program<br />

bafllatt›. Özgür ve Aç›k Kaynak Kodlu<br />

(ÖAKK) yaz›l›mlar› öne ç›kartan bölgedeki<br />

bu ilk proje, Bulgaristan'›n yan› s›-<br />

ra Bosna Hersek, H›rvatistan, Makedonya,<br />

S›rbistan ve Karada¤ bölgelerini<br />

kapsayacak flekilde düflünülmüfl.<br />

Projenin son safhas›nda Türkiye de<br />

devreye al›nm›fl ve ‹stanbul'da Bahçelievler<br />

Belediyesi'ndeki bilgi ifllem<br />

merkezi, kapsaml› bir e¤itim çal›flmas›<br />

yard›m›yla Linux ile tan›flt›r›lm›fl.<br />

Projenin ilk aya¤› 18 ay sürmüfl.<br />

Bulgaristan - Türkiye s›n›r›na çok yak›n<br />

olan ve ço¤unlu¤unu Türklerin<br />

oluflturdu¤u K›rcaali (Kurdjali)* flehri<br />

ilk pilot bölge olarak seçilmifl. fiehrin<br />

belediye baflkan› Hasan Aziz, UNDP ve<br />

ISOC-BG'den, vatandafllar›n belediyenin<br />

sundu¤u servislere daha rahat<br />

ulaflmas›n› sa¤layabilmeleri amac›yla<br />

destek istemifl. Bu taleple birlikte, projenin<br />

pilot bölgesi olarak K›rcaali seçilmifl<br />

ve di¤er pilot bölgeler ise Avrupa'n›n<br />

güney do¤usundaki belediyeler<br />

olarak saptanm›fl.<br />

“Geçen y›l sadece K›rcaali'de, eski<br />

ve kullan›lamaz hale gelen bilgisayarlar›n<br />

yüzde 40'›na Linux ve ince istemci<br />

yap›s› kurularak bunlar›n tekrar geri<br />

dönüfltürülmesi sa¤land›” diyen projenin<br />

Türkiye aya¤›n›n koordinatörü Görkem<br />

Çetin; “Projenin Türkiye baca¤›nda<br />

Bahçelievler Belediyesi ile bir pilot<br />

çal›flma yap›ld›. Pilot çal›flma s›ras›nda<br />

belediyenin bilgi ifllem merkezi çal›-<br />

flanlar›na Open Office ve Linux e¤itimi<br />

verildi. Toplam 7 bilgi ifllem eleman›,<br />

24 HABER LINUX


50 saati aflan e¤itim sonunda Linux ve<br />

Open Office hakk›nda bilgi ald›lar.<br />

Özellikle Linux'un sunucu olarak nas›l<br />

kullan›laca¤›, sistem yönetimi, dosya<br />

ve yaz›c› paylafl›m yöntemleri ile Open<br />

Office'in masaüstündeki çeflitli kullan›m<br />

senaryolar› kat›l›mc›lara aktar›ld›.<br />

Bilgi ‹fllem Merkezi Sistem Uzman› Ersen<br />

Denli ve 6 çal›flan, e¤itim sonunda<br />

sertifikalar›n› teslim ald›lar” diye konufltu.<br />

Bahçelievler'de Linux ça¤›<br />

E¤itimin tamamlanmas› ile birlikte belediyede<br />

ÖAKK yaz›l›mlar›n kullan›m›-<br />

n›n da önü aç›lm›fl. Bilgi ‹fllem Merkezi'ne<br />

iki Linux sunucusu ifllem yapmaya<br />

bafllarken, 45'e yak›n bilgisayarda<br />

da Open Office kurulmufl. Bu say›n›n<br />

çok k›sa bir sürede 60'a ç›kmas› bekleniyor.<br />

Projeden nas›l ve ne zaman haberdar<br />

olduklar›n› sordu¤umuz, Bahçelievler<br />

Belediyesi Bilgi ‹fllem Merkezi<br />

Sistem Uzman› Ersen Denli, “Proje ile<br />

ilgili duyuruyu e-mail ile alm›flt›k daha<br />

önce. Ancak Görkem Çetin ile irtibata<br />

geçmemiz Kas›m 2005 tarihlerinde oldu.<br />

Daha sonra yap›lan görüflmelerde,<br />

bu projeyi Bahçelievler Belediyesi olarak<br />

biz sahiplendik ve hemen süreç<br />

planlamalar›n› yapt›k. Yöneticilere bu<br />

projeden bahsedilmesi, onlar›n onay›-<br />

n›n al›nmas› gibi ifllemleri ise bir hafta<br />

gibi bir sürede bitirerek projeye<br />

bafllam›fl olduk” diyor.<br />

Bu proje kapsam›nda belediye<br />

olarak kendilerine çok da<br />

fazla ifl düflmedi¤ini belirten<br />

Denli flunlar› söylüyor, “Proje<br />

çerçevesinde verilecek e¤itimler<br />

için çal›flanlar›n belirlenmesi,<br />

e¤itim takviminin haz›rlanmas›<br />

d›fl›nda baflka bir ifl düflmedi.<br />

Görkem Çetin hemen her<br />

ad›mla ilgilenerek birçok ifli<br />

bizzat kendisi yapt›.”<br />

Verilen e¤itimlerin içeri¤i,<br />

Linux’un sunucu olarak yap›-<br />

land›r›lmas› ve Open Office<br />

e¤itimini kaps›yor. Bahçelievler<br />

Belediyesi Bilgi ‹fllem Merkezi<br />

çal›flanlar›, Linux sunucu<br />

kurulum ve yap›land›r›lmas› ile<br />

ilgili e¤itmen Gökhan Toplar'dan<br />

oldukça detayl› ve tatmin<br />

edici e¤itim ald›klar›n› belirtiyorlar.<br />

E¤itim; Linux'un dosya sunucusu<br />

olarak kullan›lmas›, e-posta sunucu<br />

olarak yap›land›r›lmas›, terminal<br />

ekran› ve komutlar›, Linux disk yap›lar›,<br />

dosya sistemleri ve güvenlik yönetimi<br />

konular›n› içeriyor. Ayr›ca Linux'un<br />

firewall olarak kullan›m› ile ilgili çok<br />

detayl› bir e¤itim verilmifl.<br />

Bahçelievler Belediye Baflkan› Osman<br />

Develio¤lu Linux projesinin belediyeleri<br />

için anlaml› oldu¤u kadar ülke<br />

için de çok anlamlar tafl›d›¤›n› belirtiyor.<br />

Hizmetler Open Office<br />

ile verilecek<br />

Ersen Denli, “Open Office taraf›nda<br />

ise, bu uygulamay› kullanacak olan belediye<br />

çal›flanlar›na program›n kullan›-<br />

m› ile ilgili detayl›ca e¤itim verildi. Kullan›c›lar›m›z<br />

al›flageldikleri ofis paketlerine<br />

çok benzeyen, onun kadar kullan›fll›<br />

ancak ücretsiz olan bu ürünü çok<br />

be¤endiler. Muadil ofis yaz›l›mlar›n›n<br />

de¤eri 300 dolar civar›nda iken Open<br />

Office ise tamamen ücretsiz” diyor.<br />

E¤itimler tam olarak 09.05.2006<br />

tarihinde bafllam›fl ve 01.06.06 tarihine<br />

kadar devam etmifl. Oldukça esnek<br />

bir e¤itim takvimiyle haftada iki ya da<br />

üç gün e¤itim al›nm›fl. Bu e¤itimlerde<br />

yaklafl›k 30 saat Linux Sunucu e¤itimi<br />

verilmifl. Ayr›ca çal›flanlar yaklafl›k 30<br />

saat Open Office e¤itimi alm›fllar.<br />

E¤itmen Gökhan Toplar<br />

Linux e¤itim s›n›f›nda<br />

ö¤rencileri ile görülüyor.<br />

E¤itime Bahçelievler Belediyesi 6<br />

bilgi ifllem çal›flan› ile kat›lm›fl. “Daha<br />

önce deneme amaçl› Linux sunucu kurmufl<br />

olmam›za ra¤men e¤itim almaks›-<br />

z›n gerçek hayatta sunucu kuramayaca¤›m›z<br />

için, bu e¤itim bizim için çok<br />

verimli oldu” diyen Denli, “E¤itimle<br />

birlikte Linux sunucular üzerine mail<br />

server kurulumu ile ilgili detayl›ca bir<br />

e¤itim ald›k. E¤itimler süresince Gökhan<br />

Toplar'›n ö¤retme azmi ile birlikte<br />

hem çok faydal› hem de çok keyifli bir<br />

e¤itim ald›¤›m›za inan›yorum. Ayr›ca<br />

e¤itimi ald›¤›m›z yer ‹deal Kariyer Derne¤i<br />

de bize istedi¤imiz e¤itim ortam›-<br />

n› sa¤lamak için gerçekten çok büyük<br />

bir gayret sarf etti. Kendilerine sizin<br />

arac›l›¤›n›zla teflekkür etmek isterim”<br />

diyor.<br />

E¤itimin sonunda belediyede Linux<br />

mail server kurulmufl. Ayr›ca bir adet<br />

Linux firewall kurulumu ile ilgili planlamalar<br />

da yap›lmaya bafllanm›fl. “Lisans<br />

maliyetlerinin gerçekten de çok yüksek<br />

rakamlar tuttu¤u bir dönemde,<br />

300 dolar de¤erinde bir bilgisayar› her<br />

fleyi ile mükemmel ve ücretsiz bir firewall<br />

haline getirmek gerçekten de çok<br />

güzel” diyen Ersen Denli, “San›r›m<br />

muadillerinin sadece yaz›l›m de¤eri<br />

1000 dolar civar›nda. Biz 300 dolar gibi<br />

küçük bir rakama fonksiyonel bir firewall<br />

kurabiliyoruz. Tabi bu çal›flmalar›<br />

bafllang›ç olarak düflünüyoruz.<br />

HABER LINUX 25


Bahçelievler Belediye Baflkan› Osman Develio¤lu projenin baflar›s›ndan<br />

duydu¤u memnuniyeti dile getiriyor.<br />

Önümüzdeki dönemlerde daha çok kullan›c›ya<br />

e¤itim ald›rarak belki kullan›c›<br />

taraf›nda Linux ifl istasyonu kullan›m›-<br />

n› da gündeme getirebiliriz. Ancak bu<br />

oldukça uzun bir süreç ve Linux iflletim<br />

sistemlerinin geliflimi de bizim bu<br />

karar› al›p almamam›z yönünde etkili<br />

olacak” diyor.<br />

Linux daha da<br />

yayg›nlaflacak!<br />

Linux taraf›ndaki araflt›rmalar›n›n ve<br />

testlerinin halen sürdü¤ünü belirten<br />

Denli, “Belediyemizi kent bilgi sistemine<br />

entegre etmek ya da mevcut veritaban›m›z›<br />

Linux üzerine tafl›mak nihai<br />

hedef olabilir belki bizim için. Ancak bu<br />

kararlar›m›zda Linux iflletim sistemlerinin<br />

geliflimi de çok etkili olacak elbette”<br />

diyor. Yönetim kolayl›¤›n›n artmas›n›n,<br />

Windows ile aras›ndaki entegrasyonun<br />

daha da kolay yap›labilir olmas›<br />

gibi konular›n kendileri için<br />

önemli oldu¤unu söyleyen Denli, ancak<br />

k›sa vadeli planlar›n›n, ofis paketi olarak<br />

tamam› ile Open Office kullan›m›<br />

oldu¤unu söylüyor. Bu hayata geçtikten<br />

sonra, ifl istasyonu olarak da Linux'un<br />

gündeme gelebilece¤ini belirten<br />

Denli, kullan›c›lar›n geri dönüfllerinin<br />

de alacaklar› bu kararlarda çok etkili<br />

olaca¤›n› söylüyor ve ekliyor; “Her<br />

kurumda oldu¤u gibi bizde de de¤iflikli¤e<br />

karfl› tepkiler zaman zaman oluyor.<br />

E¤itim ve yeterli destekle bu tepkileri<br />

eritip planlar›m›z› gerçeklefltirmeyi<br />

düflünüyoruz. Tabi bu konuda bize<br />

sürekli destek veren baflta belediye<br />

baflkan›m›z say›n Osman Develio¤lu<br />

olmak üzere, baflkan yard›mc›m›z say›n<br />

‹smail Hakk› Özhan ve di¤er baflkan<br />

yard›mc›lar›m›z, bilgi ifllem müdürümüz<br />

say›n Ayd›n Zayim, bafltan beri<br />

sürekli bu konu ile ilgili bize desteklerini<br />

sürdürüyorlar” diyor.<br />

“Aç›k kaynak kodlu yaz›l›mlar ve<br />

bunlar›n en bafl›nda gelen Linux bütün<br />

dünyada h›zla geliflen ve popülerli¤ini<br />

art›ran bir iflletim sistemi halini ald›”<br />

diyen Denli son olarak flunlar› söylüyor:<br />

“Ülkemizde çok yayg›n olmasa bile<br />

yurtd›fl›nda çok yayg›n olarak kullan›ld›¤›n›<br />

biliyoruz. BT yat›r›mlar›m›zda<br />

lisans maliyetleri gerçektende çok<br />

yüksek rakamlara ç›kabiliyor. Muadil<br />

ve ücretsiz ürünleri kullanmak bir anlamda<br />

milli servetimizin ülkemizde<br />

kalmas› anlam›na geliyor. Birçok kurumun<br />

biraz cesaretle bu ad›mlar› atabilece¤ini<br />

düflünüyorum.<br />

Burada BT yöneticilerine gerçekten<br />

de çok fazla ifl düflüyor. Kendilerini<br />

e¤itmek, anlatmak, baflkalar›na ö¤retmek<br />

ve uygulamak zorundalar. Ben<br />

birçok kiflinin cesaretle bu ad›mlar› tamamlayabilece¤ini<br />

düflünüyorum. Ayr›ca<br />

kaynak kodlar›n› görmek, gerekti-<br />

¤i durumlarda müdahale edebilmek de<br />

güvenlikle ilgili s›k›nt› ve endiflesi olanlar›<br />

rahatlat›r san›r›m. Bizi Linux ile tan›flt›ran,<br />

bu projeyi bizimle paylaflan<br />

Say›n Görkem Çetin'e ve e¤itimlerimizi<br />

veren Say›n Gökhan Toplar'a tekrar<br />

teflekkür ederim.”<br />

*K›rcaali, Bulgaristan'daki 28 flehirden<br />

birisi. Bulgarlar ve Türklerden oluflan flehirde<br />

yaklafl›k 69 bin insan yafl›yor. K›rcaali,<br />

son zamanlarda Bulgaristan'›n teknolojik<br />

aç›dan en geliflmifl flehirlerinden birisi olarak<br />

biliniyor.<br />

Umut Kavurmac›<br />

26 HABER LINUX


UZMAN GÖRÜfiÜ<br />

Bir Cell'e dolusu<br />

süperbilgisayar...<br />

Serkan fiahin<br />

IBM Sunucu Sistemleri ‹flletim Müdürü<br />

serkan@tr.ibm.com<br />

San›r›m aran›zda büyük bir heyecan ile<br />

Sony PlayStation3'ü beklemeyen yoktur.<br />

Merakla konsolun bize neler getirece¤ini,<br />

özellikle de oyunlar›n nas›l olaca-<br />

¤›n› dört gözle bekliyoruz. Blue Ray teknolojisi<br />

ile tan›flmak için bir süreli¤ine ç›-<br />

k›fl› ertelenmiflti. Asl›nda bizlerin merakla<br />

bekledi¤i bu digital center oyun konsolu<br />

görüntüsündeki süperbilgisayar›n<br />

kalbinde Cell Broadband Engine yer al›-<br />

yor.<br />

IBM, Toshiba ve Sony'nin güç birli¤i<br />

yaparak birlikte gelifltirdikleri merkezi<br />

ifllemci olan Cell BE, asl›nda tamamen<br />

IBM teknolojisini tafl›yor. Süperbilgisayar<br />

diyorum çünkü ilk versiyon Cell ifllemci<br />

90-nm ve 4.6 Ghz h›z›nda, içerisinde<br />

234 milyon transistor bar›nd›r›-<br />

yor. Büyüklü¤ü ise sadece 221milimetrekare.<br />

Teoride maksimum bir saniyede<br />

256 milyar kayma noktal› ifllem<br />

(GFLOPS) yapabiliyor.<br />

Cell BE merkezi ifllemcileri, yüksek<br />

paralel ifllemci mimarisi kullanmakta<br />

olan 9 çekirdek kullanmaktad›r. Synergistic<br />

Processing Elements (SPE) olarak<br />

adland›r›lan 8 adet özel ön ifllemciler ve<br />

1 adet 64-bit PowerPC Processing Element'in<br />

(SPE) birlefliminden oluflmaktad›r.<br />

PPE ve SPE'ler çok yüksek h›zl› Element<br />

Interconnect Bus (EIB) olarak adland›r›lan<br />

bir veriyolu ile birbirlerine<br />

ba¤lanmaktad›rlar. PPE olarak bahsetti-<br />

¤imiz 64-bit'lik PowerPC ifllemci asl›nda<br />

PowerPC 970 CPU benzeyen bir<br />

CPU'dur. (G5 olarak ta bilinmektir)<br />

Cell 0,9 ile 1,3 volt aras›nda saat h›zlar<br />

en yüksek de¤erlerine ulafl›r, 3,2'den<br />

5,2 GHz saat h›zlar›na ç›kabilmektedirler.<br />

4GHz de¤erinde herbir SPE teoride<br />

maximum 32GFLOPS de¤erini yakalayabilmektedir.<br />

IBM Austin yerleflkesinde gelifltirilen<br />

bu chip için onlarca IBM mühendisi çal›flm›flt›r<br />

ve bu gelifltirme 400 milyon dolarl›k<br />

bir bütçe ile gerçeklefltirilmifltir.<br />

Bütün bu yaz›lanlara flunu eklemek istiyorum,<br />

chip tan›t›m›n› yapan tasar›mc›-<br />

lardan H. Peter Hofstee'nin flu cümleleri<br />

asl›nda karfl›m›zdaki chip'in neler de¤ifltirebilece¤ini<br />

de bizlere f›s›ldamaktad›r;<br />

“Benim hayalim Cell ile PlayStation'›n<br />

programlanabilir olmas›d›r.” Programlanabilir<br />

süperbilgisayar k›vam›nda bir<br />

oyun konsolu, ne ifle yararki demeyin,<br />

geliflmesi ve büyümesi çok zor olan bir<br />

oyun konsolu pazar›ndaki, gelifltirme<br />

maliyetlerini düflmesine, yeterince bulunamayan<br />

gelifltirici say›s›n›n artmas›na,<br />

h›zl› ve daha baflar›l› gelifltirmeler yap›-<br />

labilmesine olanak tan›yacak bir geliflmedir<br />

bu.<br />

IBM Cell ile ilgili yak›n zamanda yapt›¤›<br />

aç›klamalarda önce DeveloperWork<br />

içerisinde gelifltiriciler için birçok arac›<br />

Cell için duyurdu, Alpha Works üzerinden<br />

de birçok bilgi ve proje duyuruldu.<br />

Bahsedilen bu aç›kl›¤› ve Cell ile geliflimin<br />

ve gelifltiricili¤in önünü açman›n en<br />

iyi yolu Linux'tan geçmektedir. Cell Power<br />

mimarisinden gelen bütün özellikleri<br />

Linux uyumlu olacak flekilde tasarland›¤›<br />

için gelifltiriciler için Linux<br />

tabanl› gelifltirme araçlar› yine<br />

ayn› sayfalarda yay›nlan›yor.<br />

Yak›n zmanada IBM Engineering<br />

&Technology Services taraf›ndan<br />

Cell tabanl› sunucu duyurusu<br />

yap›ld›. WiMAX, HDTV, ve<br />

802.11g gibi birçok de¤iflik teknoloji,<br />

Cell ifllemcilerin avantajlar›n›<br />

entegre olarak kullanmaya bafllam›flt›r.<br />

Buna ek olarak son duyurular<br />

Cell tabanl› Blade (Kart<br />

tipi) Sunucular ile oluflturulmaya bafllayan<br />

Süperbilgisayar ortamlar›d›r. Art›k<br />

Cell sunucularda özellikle media ve görüntü<br />

iflleme veya a¤ ifllemlerinde kullan›lacak<br />

durumdad›r.<br />

Tasar›m›n bu son harikas› olan Cell<br />

ifllemcilerin en çok ihtiyaç duyacaklar›<br />

ve flu an bilgisayar dünyas›nda hepimizin<br />

birçok alanda en çok s›zland›¤› konulardan<br />

biri olan ak›ll› ve daha geliflmifl<br />

yaz›l›mlar›n üretilmesi meselesidir. Geldi¤i<br />

bu h›zl› nokta ve yakalanan baflar›<br />

birçok sektörün özellikle araflt›rma ve<br />

gelifltirmeciler ile bilimsel çal›flmalar›n<br />

göz bebe¤i haline getirmifltir Cell ifllemcisini.<br />

Belki de evimizdeki konsollar› Linux<br />

ile çal›flt›rmak ve üzerinde gelifltirilen<br />

GPL yaz›l›mlarla birçok ifllemi yapmak<br />

mümkün olacak. Cell ifllemcili sunucularla<br />

süperbilgisayarlar› oluflturmam›z<br />

daha da kolaylaflacak. IBM'in bu deste¤i<br />

PS3'ün geç ç›kaca¤› anonsundan sonra<br />

gelen sevindirici haber PS3'ün yükseltilebilir<br />

60 GB harddisk üzerinde ön kurulumlu<br />

Linux ile birlikte da¤›t›laca¤›d›r.<br />

Cell'in Linux deste¤i ile ilgili her türlü bilgiye<br />

IBM sayfalar›ndan özellikle DeveloperWorks<br />

ve AlphaWorks sayfalar›ndan<br />

ulaflmak mümkün.<br />

E¤lencenin Süperbilgisayar dönemine<br />

Linux ile hoflgeldiniz...<br />

HABER LINUX 27


Xming<br />

Bir özgür yaz›l›m projesi olan Xming, Windows ortam›nda<br />

çal›flan, en iyi X-Windows-System sunucusudur. Alternatif<br />

yöntem olan cygwin'le ve nihayetinde Xorg ile ayn› kod taban›n›<br />

paylaflan proje gün geçtikçe daha çok ilgi görmekte.<br />

http://freshmeat.net/projects/xming/<br />

PHP LetterIt<br />

Web tabanl› basit bir e-posta liste yönetim arac› olan PHP<br />

LetterIt bu sürümünde çeflitli hata düzelmeleri ile geliyor.<br />

Dev e-posta listeleri ile u¤raflmayanlar için birebir.<br />

http://freshmeat.net/projects/letterit/<br />

28 HABER LINUX


Task Juggler<br />

En basit yaz›l›m›n oluflturulmas›n›n bile birçok aflamadan ve<br />

kifliden oluflan bir proje halini ald›¤› günümüzde, proje yönetimi<br />

ve koordinasyonu bafll› bafl›na bir disiplin olmufl durumda.<br />

Hemen her ifl alan›nda iflimizi kolaylaflt›racak yaz›l›mlar<br />

kullan›rken proje yönetimi gibi verim odakl› bir alanda da<br />

yüzlerce yaz›l›m›n olmas› kaç›n›lmaz. Task Juggler bu alanda<br />

klasik Gantt diyagram› yaklafl›m›na yeni bir soluk getiren<br />

metodolojisi ile benzerlerinden s›yr›l›yor. Zaman planlamas›,<br />

kaynak yönetimi, proje maliyeti gibi birçok konularda kolayl›klar<br />

sa¤layan bu yaz›l›m› proje tabanl› çal›flan herkese<br />

tavsiye ediyoruz.<br />

http://freshmeat.net/projects/taskjuggler/<br />

Endian Firewall<br />

Broadband'in yay›lmas› ile Linux tabanl›, kolay kurulumlu,<br />

web arayüzlü firewall yaz›l›mlar› da geliflmeye bafllad›. Bu<br />

alanda uzun süredir hizmet veren Smoothwall ve IPCop gibi<br />

da¤›t›mlar›n peflinden giden Endian Firewall, piyasadaki<br />

ticari benzerleri ile yar›flabilecek bir kapasitede. Gateway<br />

seviyesinde klasik firewall görevlerini yapmas›n›n yan› s›ra,<br />

geçen trafik üzerinde önceliklendirme, web, mail, ftp trafi¤i<br />

üzerinde antivirüs kontrolleri, fleffaf web proxy, içerik filtreleme<br />

gibi birçok özelli¤i bünyesinde bar›nd›ran Endian, detayl›<br />

dökümantasyonu ve kolay kurulumu ile de dört dörtlük<br />

bir sistem sa¤l›yor.<br />

http://freshmeat.net/projects/efw/<br />

Wormux<br />

Worms oyununu bilmeyenimiz yoktur. Wormux'a baflar›l› bir<br />

worms klonu demek yanl›fl olmaz. Özellikle özgür yaz›l›m<br />

HABER LINUX 29


severlerin hofluna gidecek detaylarla zenginlefltirilmifl (Özgür<br />

yaz›l›m projeleri tak›mlar›, kahramanlar› gibi) oyunu<br />

mutlaka deneyin.<br />

http://freshmeat.net/projects/wormux/<br />

Amule<br />

"Ben o kadar da karmakar›fl›k dosya paylaflmak istemiyorum,<br />

Windows'daki Emule gibi bir program olsa bana yeter"<br />

diyorsan›z sizin için de en iyi seçim Amule.<br />

Emule'dan esinlenip daha bile iyi bir istemci ortaya koyan<br />

Amule projesi özellikle de yeni bafllayan linuxçular için bire bir.<br />

Eclipse Project<br />

Özellikle Java'c›lar›n tercihi olan "evrensel" IDE Eclipse'i<br />

özel yapan hemen her ifl için sahip oldu¤u eklentiler ile gelifltirilebilmesi.<br />

Birçok yeni özelli¤in eklendi¤i bu sürüm hakk›nda detayl›<br />

bilgiyi http://download.eclipse.org/eclipse/downloads/<br />

drops/R-3.2-200606291905/new_noteworthy/eclipsenews-all.html<br />

adresinden ö¤renebilirsiniz.<br />

http://freshmeat.net/projects/eclipseproject/<br />

MLDonkey<br />

E-donkey ve Bittorrent baflta olmak üzere dosya paylafl›m<br />

sistemlerinin ön planda oldu¤u günümüzde, öyle bir istemciniz<br />

olsa ki, hem e-donkey, hem torrent a¤lar›ndan dosya<br />

download edebilse, hatta bunlar› birbirine kar›flt›rabilse, dahas›<br />

DC, Limewire vs. gibi di¤er sistemlerle de ba¤lanabilse.<br />

Kendine ait tek bir guisi olmasa, yeri geldi¤inde webden ya<br />

da basitçe konsoldan ulafl›labilse. Hem Linux’da hem Windows<br />

da çal›flsa. Nas›l güzel bir hayal gibi mi geliyor Güzel,<br />

çünkü bu dediklerimizi MlDonkey iki y›ld›r eksiksiz yerine<br />

getirmekte.<br />

Kulland›¤› düflük haf›za miktar›, birçok seçene¤i ile tam<br />

iste¤inize göre bir dosya paylafl›m›na izin vermesi ile birçoklar›n›n<br />

tek tercihi olan MLDonkey'i denemenizi öneririz.<br />

http://freshmeat.net/projects/mldonkey/<br />

http://freshmeat.net/projects/amule/<br />

MetaForum<br />

MetaForum, Web 2.0 güzellikleri() Forum yaz›l›mlar›na ne<br />

zaman yans›yacak diyenler için cevap olabilir. Bar›nd›rd›¤›<br />

özelliklerle kullan›c›lar›na oldukça farkl› bir forum deneyimi<br />

sunan MetaForum mutlaka incelenmesi gereken, özgür bir<br />

lisansa sahip olmayan bir yaz›l›m.<br />

http://freshmeat.net/projects/metaforum/<br />

30 HABER LINUX


32 HABER LINUX


HABER LINUX 33


Tekfen'in de tercihi<br />

Linux oldu!<br />

Tekfen ‹malat ve Mühendislik Afi. Novatech'in Gelibolu projesi ve Linux<br />

altyap›s› ile güvenli bir flekilde gelece¤e ilerliyor<br />

Tekfen'in Toros Gübre, Tefken Bank,<br />

Tekfen ‹malat ve Mühendislik, Tekfen<br />

Mühendislik, Tekfen Emlak Gelifltirme<br />

Grubu ve Tekfen Services firmalar› Levent'deki<br />

Tekfen Binas›nda yer al›yor.<br />

Tekfen'in taahhüt grubu alt›ndaki Tekfen<br />

Mühendislik ile Tekfen ‹malat ve<br />

Mühendislik firmalar› da burada yer<br />

al›yor. Tekfen'de her firman›n bilgi ifllem<br />

yap›lar› birbirinden ayr›. Her firma<br />

yat›r›m isteklerini kendi içerisinde sapt›yor<br />

ve ba¤l› bulundu¤u grup baflkanl›¤›n›n<br />

onay› ile yat›r›mlar›n› yap›yor.<br />

Tekfen ‹malat ve Mühendislik Bilgi<br />

‹fllem Müdürü Yakup Akçura, “Novatech<br />

ile çal›flmaya bafllamam›z, internete<br />

aç›lmam›z ile bafllad›. ‹nternete<br />

aç›ld›¤›n›z anda kullan›c› say›n›z bir anda<br />

onlardan, milyonlara ç›k›yor. Bu nedenle<br />

güvenli bir ara yönetim seviyesine<br />

ihtiyac›m›z vard›. E-mail sunucusu<br />

olarak ve flirket içi haberleflme ile bilgi<br />

ak›fl› için IBM Lotus Notes Domino kullan›yoruz.<br />

IBM'in tavsiyesi üzerine Novatech<br />

firmas› ile çal›flmaya bafllad›k.<br />

Novatech'in sundu¤u çözümler bizim<br />

gibi orta ölçekli fakat bilgiye önem veren<br />

bir firmaya çok uygun geldi¤i için<br />

onlarla çal›flmaya bafllad›k. Bu arada<br />

yeri gelmiflken söylemekte fayda görüyorum,<br />

Tekfen isminin aç›l›m› Teknoloji<br />

ve Fen'dir. Grup flirketleri olarak<br />

her zaman Teknoloji ve Fen'e büyük<br />

önem verilmifltir ve bunu tüm gerçeklefltirilen<br />

projelerde görmek mümkündür”<br />

diyor.<br />

Novatech ile yap›lan çal›flmalarda<br />

ilk aflama bir firewall kurulmas› olmufl.<br />

‹nternete güvenli bir flekilde ç›k›lmas›<br />

ve flirket içi kullan›c›lar›n interneti daha<br />

verimli ve flirket politikalar›na uygun<br />

kullanabilmeleri için Novatech'in<br />

Gelibolu ad› verilen firewall sistemi<br />

kullan›lmaya bafllanm›fl<br />

“‹nternet kullan›c›lar›n›n say›s›<br />

günden güne artt›. fiu anda 50 internet<br />

kullan›c›m›z var. 2006'da yapt›¤›-<br />

m›z bir yat›r›mla Novatech'den ald›¤›-<br />

m›z çözümler ile içerideki kullan›c›lar›-<br />

m›z› daha verimli denetliyoruz. Ayr›ca<br />

2006 y›l› içerisinde makine park›m›z›<br />

da yeniledik” diyen Akçura flunlar›<br />

söylüyor; “‹nternet ç›k›fl h›zlar›m›z oldukça<br />

iyi. Hem fabrika taraf›nda hem<br />

de merkezde G.SHDSL ile ba¤lan›yoruz.<br />

‹nternet konusunda G.SHDSL yan›nda<br />

Kablonet ve ADSL de kullan›yoruz.<br />

Özetle bütün yumurtalar› ayn› sepete<br />

koymad›k. Dört ayr› noktada internet<br />

ba¤lant›m›z var. Bunlar›n hepsinde<br />

de ayr› yöntemler kullan›yoruz.<br />

ADSL'den sadece e-mailleri al›yoruz.<br />

G.SDHL'den sadece e-mailleri gönderiyor<br />

ve web eriflimi sa¤l›yoruz kablonet<br />

ise update'ler için kullan›l›yor. Ayr›ca<br />

fabrika ile iç networkümüzü Novatech<br />

taraf›ndan kurulan OpenVPN çözümü<br />

ile sa¤l›yoruz. Novatech'in sa¤lad›¤›<br />

OpenVPN Server çözümü sayesinde,<br />

internet üzerinden 128 bit SSL ile güvenli<br />

bir VPN iletiflimi kurulmas› sa¤land›.<br />

‹nternet üzerinden iki nokta, dahili<br />

bir a¤ üzerindeymifl gibi aralar›nda<br />

flifreli ve güvenli bir flekilde haberlefliyorlar.<br />

Bu da 2006 y›l›nda Novatech<br />

ile yapm›fl oldu¤umuz ifllerden bir tanesiydi.”<br />

fiirket içi güvenlik flart!<br />

Günümüzde teknoloji gelifltikçe tafl›nabilir<br />

araçlar da art›yor. Kullan›c›lar usb<br />

bellek ve usb diskler tafl›yorlar. Bunlardan<br />

virüs buluflabiliyor ya da internetten<br />

istedikleri dosyay› download<br />

etmeleri, flirket için güvenlik aç›klar›<br />

yaratabiliyor. Bu nedenle Novatech'in<br />

de dan›flmanl›¤› ile flirket bünyesinde<br />

Microsoft'un Active Directory yap›s›<br />

kurulmufl. Bunun için bir merkezde bir<br />

de fabrikada iki tane sunucu bulunuyor.<br />

Bu sunucular›n üzerinde Windows<br />

2003 Server Standard Edition çal›fl›-<br />

yor. Kullan›c›larda da Windows XP Professional<br />

mevcut. Ayr›ca kullan›c›lar›<br />

daha iyi denetleyebilmek için IBM'in<br />

Directory yaz›l›m› kullan›l›yor. Bu da<br />

Gelibolu ‹nternet - A¤ Güvenli¤i Çözümleri<br />

Günümüzde teknolojinin merkezinde yer alan iletiflim, ayn› zamanda da bir güvenlik<br />

ihtiyac›n›n do¤mas›na sebep olmaktad›r. fiirketlerin önemli ve hassas verilerini<br />

internet, intranet ve extranet gibi ortamlarda saklamalar› kurumsal veri güvenli¤ini<br />

tehdit eden önemli bir faktördür. Gelibolu, yerli uzmanlar taraf›ndan gelifltirilen,<br />

Linux tabanl› internet - a¤ güvenli¤i ve kontrolü sa¤layan çözümlerdir.2002 y›l›nda<br />

gelifltirilmeye bafllanarak gün geçtikçe artan talep ve kullan›c› memnuniyeti ile birlikte<br />

yayg›nlaflarak yabanc› ürünlerin alternatifi olmufltur. Gelibolu; küçük, orta ve<br />

büyük ölçekli firmalar›n tüm internet - a¤ güvenli¤i ve kontrolünü sa¤layarak firmalar›n<br />

de¤iflen yap›lar›na göre yeni maliyetler ve yat›r›mlar gerektirmeden esneyebilmektedir.<br />

‹çerdi¤i Modüller:<br />

-Vekil Sunucu (Proxy)<br />

-‹stenmeyen E-Posta Denetimi (AntiSpam)<br />

-VPN<br />

-Sald›r› Tespit (IDS)<br />

-‹nternet Eriflim Denetimi (URL Filtreleme<br />

34 HABER LINUX


yine Novatech'in deste¤i ile kurulmufl.<br />

Mevcut 50 internet kullan›c›s›n›n 30'u<br />

‹stanbul merkez ofiste, kalan 20 kullan›c›<br />

ise ‹zmit'teki fabrikada bulunuyor.<br />

Yedekleme için ise IBM Tivoli Storage<br />

Manager kullan›l›yor. IBM Lotus Notes<br />

kullan›m› ise çok daha öncelerden bafllam›fl.<br />

Ayr›ca IBM'in X100 model sunucular›<br />

flirket bünyesinde performans PC<br />

olarak konumland›r›lm›fl. Mali ve ‹dari<br />

‹fller taraf›nda yo¤un bilgi yükü ve<br />

bunlar›n de¤erlendirilmesi için daha<br />

performansl› fakat ileride multimedya<br />

olarak geniflleme ihtiyac› gerektirmeyecek<br />

PC'lere ihtiyaç oldu¤undan, 15<br />

adet IBM'in girifl seviyesi sunucusu<br />

performans PC olarak al›nm›fl. Geçti¤imiz<br />

May›s ay›ndan bu yana kullan›lmakta<br />

olan bu PC'ler 64 bit ifllemci altyap›s›na<br />

sahip. Bu flekilde hem flu an<br />

için gerekli olan performans elde edilmifl,<br />

hem de gelecek 64bit iflletim sistemleri<br />

ve uygulamalar için gerekli donan›m<br />

da haz›r olmufl.<br />

“Lotus Notes Domino üzerinde yürütülmekte<br />

olan ve halen gelifltirmekte<br />

oldu¤umuz uygulamalar var. Muhasebe<br />

program› taraf›nda Tam Bilgisayar'›n<br />

TES paketini IBM'in DB2 Server'›<br />

üzerinde kullan›yoruz. Mühendislik<br />

taraf›nda ise ThinkCenter PC'ler<br />

kullan›yoruz” diyen Akçura, “‹lk Domino'yu<br />

kurdu¤umuzda Linux üzerinde<br />

kurduk. Bizim Lotus Notes Domino'lar<br />

Linux üzerinde çal›fl›yor. Dolay›s›yla<br />

biz sunucu taraf›nda hep Linux'u tercih<br />

ettik diyebilirim. Bir tek Active Directory<br />

mecburen Windows 2003 Server<br />

üzerinde çal›fl›yor” diyor.<br />

Gelibolu ile tam koruma<br />

Novatech Teknik Müdürü Fatih Aslan<br />

ise “2004 y›l›nda Tekfen ‹malat ve<br />

Mühendislik Afi.'ye IBM'in önermesi ile<br />

geldik. ‹lk geldi¤imizde burada internete<br />

ç›k›fl için bir firewall çözümü aran›yordu.<br />

Burada, bizim Gelibolu projesi<br />

içerisinde gelifltirilen güvenlik çözümümüzün<br />

uygun olabilece¤i görüldü.<br />

Bu güvenlik çözümündeki amaç; d›flar›dan<br />

içe do¤ru olan kötü kullan›c›lar›<br />

engellemek, ikincisi ise içeriden d›flar›-<br />

ya do¤ru olan gereksiz portlar› kapatmakt›.<br />

Gelibolu projesindeki geliflmifl<br />

alt ürünlerden, öre¤in Proxy'den, içerik<br />

filtrelemeden yararlanarak buradaki<br />

kurulumu gerçeklefltirdik. Buraya<br />

bir e-mail server kurduk. Bu kurdu¤umuz<br />

e-mail server halen daha aktif<br />

olarak çal›flmakta ve yedek olarak kullan›lmakta.<br />

fiu anda Q-mail mail sunucusu,<br />

Lotus Notes'un yede¤i olarak çal›fl›yor”<br />

diyor.<br />

Firewall kurulduktan sonra kullan›-<br />

c›lar› Proxy'den ç›kartmak uygun görülmüfl.<br />

Proxy'den ç›kartt›ktan sonra<br />

da bir içerik filtreleme (Content Filter)<br />

arac›l›¤›yla kullan›c›lar›n belli bafll›<br />

sayfalara gitmesi engellenmifl. Özellikle<br />

yasakl› sitelere ve gün içerisinde<br />

eriflilmesi istenmeyen baz› sitelere<br />

eriflim k›s›tlanm›fl. Ayr›ca Gelibolu<br />

üzerinde olan POP3 Gateway'lerle kullan›c›lar›n<br />

kullanmakta olduklar› e-postalar›<br />

spam ve virüs taramas›ndan geçirilmifl.<br />

Daha sonra 2005 sonunda firewall<br />

üzerinde IDS (Intrusion Detection<br />

System) ve IPS (Intrusion Prevention<br />

System) kurulmas› talebi gelmifl. ‹nternet<br />

ç›k›fl› detayl› olarak raporlanm›fl.<br />

Bunun için de Linux'da Open Source<br />

olarak var olan SARG yap›s› kullan›lm›fl.<br />

Ayr›ca her kullan›c›ya internete ç›-<br />

karken kullan›c› parola sistemi getirilmifl.<br />

Dolay›s›yla bir kullan›c› a¤a ba¤lansa<br />

bile flifre do¤rulamas› yapam›-<br />

yorsa internete ç›kam›yor. Kullan›lan<br />

birkaç farkl› araç ile kullan›c›lar›n kendi<br />

flifrelerini de¤ifltirmesine de olanak<br />

sa¤lanm›fl. 2005 ve 2006 y›llar› içerisinde<br />

tüm bu projeler tamamlanm›fl.<br />

En son yap›lan proje çerçevesinde<br />

ise fabrika ve merkezin internet üzerinden<br />

birbirine ba¤lanmas› ve seyahat<br />

eden çal›flanlar›n dizüstü bilgisayarlar›<br />

ile içeriye eriflebilmesi için bir<br />

VPN yap›s›n›n kurulmas› sa¤lanm›fl.<br />

Ayr›ca e-maillerin SMTP Gateway'den<br />

geçirilerek Lotus Notes'a teslim edilmesi<br />

ile ilgili bir proje yap›lm›fl. Böylelikle<br />

hem virus hem de spam taramas›<br />

sa¤lanm›fl. VPN çözümü olarak da<br />

open source bir yaz›l›m olan OpenVPN<br />

kullan›lm›fl. OpenVPN ile hem bölgeleri<br />

birbirine ba¤larken hem de mobil kullan›c›lar›<br />

içeriye ba¤larken, bir sertifikaland›rma<br />

sayesinde iç network'e<br />

kontrollü eriflim sa¤lanm›fl.<br />

Gelen e-mailler öncelikle bir süzgeçten<br />

geçiriliyor ve baz› uzant›lara<br />

sahip e-mailler içeriye al›nm›yor. Ayr›-<br />

ca gelen e-maillerin nereden geldi¤i<br />

saptan›yor ve spam olas›l›¤› olanlar<br />

içeriye al›nm›yor.<br />

Umut Kavurmac›<br />

Tekfen ‹malat ve Mühendislik Bilgi ‹fllem Müdürü Yakup Akçura ve Yard›mc›s›<br />

Zafer Mavigöz, Novatech Teknik Müdürü Fatih Aslan ve Novatech Sat›fl ve<br />

Pazarlama Müdürü Ahmet Kaya<br />

HABER LINUX 35


Verilerinizi kurtar›n!<br />

‹htiyaç duydu¤unuzda araçlar elin<br />

36 HABER LINUX


izin alt›nda<br />

Verileri herkes kaybedebilir, önemli olan<br />

böyle bir durumla karfl›laflt›¤›n›zda<br />

kullanaca¤›n›z yöntem ve araçlar› bilmenizdir.<br />

Geçen hafta yeni bir laptopum oldu.<br />

1,5 Gb Ram, 100GB SATA HD, 15,4<br />

inch genifl ekran vs. vs. Söz konusu<br />

bilgisayar bana Windows XP Pro kurulu<br />

olarak geldi. Bu tür durumlarda<br />

genellikle izledi¤im yöntem, eski<br />

hard diskteki önemli bilgileri bir<br />

USB diske yedekleyip daha sonra<br />

bu yedekleri yeni bilgisayar›ma tafl›mak.<br />

Bu ifllem sona erdikten sonra<br />

da ikinci (ya da üçüncü) bir partisyona<br />

a¤›rl›kl› olarak kulland›¤›m iflletim<br />

sistemi olan Debian'› transfer<br />

etmek.<br />

Dikkatinizi çektiyse Debian kurmak<br />

de¤il, transfer etmek dedim, zira<br />

mevcut kullanmakta oldu¤um,<br />

birçok özelli¤ini kendime göre ayarlad›¤›m<br />

sistemi yeniden kurmaktansa,<br />

yeni diske transfer edip boot seçeneklerini<br />

ayarlamak çok daha kolay<br />

geliyor.<br />

Önemli bir baflka detay da, bu<br />

transferleri yaparken Windows üzerinde<br />

VMWare kullanmay› tercih etmem.<br />

Zira VMWare'i gerçek partisyonlarla<br />

çal›flmak üzere ayarlad›-<br />

¤›mda, mevcut Windows makinemde<br />

gündelik ifllerimi gerçeklefltirirken<br />

bir taraftan da bahsetti¤im partisyon<br />

transferlerini yapmak, hatta<br />

gerekirse di¤er partisyonlara linux<br />

kurmak mümkün oluyor.<br />

Bu sefer de ayn› flekilde, VMWare'i<br />

gerçek partisyonlar› kullanmak<br />

üzere ayarlamakla ifle bafllad›m.<br />

40GB'l›k bir external USB disk<br />

ceketine bir önceki bilgisayar›n<br />

hard diskini yerlefltirip yeni sistemime<br />

ba¤lad›m ve gerekli dosyalar›<br />

transfer ettim. Bu ifl bittikten sonra<br />

(ki saniyede 20MB transfer h›z› ile<br />

oldukça çabuk bitti¤ini de belirtmem<br />

gerek) bu sefer Debian partisyonumu<br />

transfer etmeye bafllad›m.<br />

Bu da tamamland›ktan sonra art›k<br />

eski laptopun hard diski ile bir<br />

baflkas› kullanmadan önce usulünce<br />

silmek d›fl›nda yapacak bir fleyim<br />

yoktu. Bu konuda da genellikle basit<br />

ama etkili oldu¤una inand›¤›m bir<br />

yöntem kullan›yorum. Bu da söz konusu<br />

diskteki partisyonlar› silip, tamamen<br />

rastlant›sal üç dört partisyon<br />

oluflturmak, bunlara random<br />

baz› dosyalar atmak ve daha sonra<br />

bu partisyonlar› da uçurup tekrar<br />

bir format çekmek fleklinde. Tabi ki<br />

askeri standartlara uygun bir veri<br />

yok etme yöntemi de¤il, ama<br />

40GB'l›k bir hard diskin bafltan afla-<br />

¤› sekiz defa silinip yaz›lmas›n› beklemek<br />

de normal bir iflgününde çok<br />

yap›labilecek bir fley de¤il, e¤er ki<br />

gerçekten çok gizli bilgilere sahip<br />

de¤ilseniz.<br />

Bu sefer de her zamanki gibi önce<br />

data partisyonunu sildim ve hard<br />

diske yazd›rd›m. Fakat bu ifllemi tamamlarken<br />

bir an gözüme rahats›z<br />

edici bir fley tak›ld›. Tam da programdan<br />

ç›kma tufluna bast›¤›m için<br />

emin olamad›m ama partisyon ismi<br />

yazan yerde sda yazmas› gerekirken<br />

hda yaz›yormufl gibi geldi.<br />

Cfdisk'i tekrar çal›flt›rd›m ve<br />

gördüm ki gerçekten de sda yerine<br />

hda yaz›yor. Bir saattir yedeklerimi<br />

kopyalad›¤›m ve dahas› önemli kurulum<br />

dosyalar›n›n bulundu¤u partisyonu<br />

silmifl, üzerine yeni bir partisyon<br />

yaratm›flt›m.<br />

Asl›nda hasar çok da büyük de-<br />

¤ildi, dosyalar› yerlerinden bulup<br />

kopyalamak yaklafl›k bir saatimi<br />

al›rd›. As›l laptopun driverlar›n›<br />

vs.lerini bulmak uzun sürece¤e benziyordu.<br />

Bu noktada bu iflin do¤rusunun<br />

bu olmad›¤› gibi bir kan›ya kap›ld›m.<br />

Partisyonu silip yerine yeni bir partisyon<br />

oluflturmufltum ama dosyalar<br />

orda duruyor olmal›yd›lar, çünkü<br />

üzerlerine bir fley yaz›lmam›flt›. Ve<br />

HABER LINUX 37


onlar› tekrar eriflilebilir k›lacak bir<br />

program olmal›yd›.<br />

Önce sakince VMWare'den Windows'a<br />

geçtim. fiafl›rt›c› bir detay partisyonlar›n<br />

hala eriflilebilir olmalar›yd›.<br />

Demek ki Windows bir kere partisyon<br />

datas›n› okuduktan sonra güncellemiyordu.<br />

Ya da bu iflin VMWare içiden yap›lm›fl<br />

olmas› Windows'u yan›ltm›flt›, o<br />

hala dosyalar› orda san›yordu.<br />

Önce dosyalar› kopyalay›p partisyonu<br />

yeniden yaratmay› düflündüm.<br />

Ne de olsa bilgisayar› kapatt›¤›m anda<br />

gidecekti. Daha sonra USB diskte bütün<br />

D partisyonunu alacak kadar yer<br />

olmad›¤›n› fark ettim ve en elzem fleyleri<br />

kopyalamaya bafllad›m.<br />

Ard›ndan da bakal›m ne olacak diyerek<br />

bilgisayar› reboot ettim.<br />

Windows aç›ld›¤›nda gördüm ki gerçekten<br />

de D partisyonu gitmiflti. Yapmam<br />

gereken tekrar partisyonu oluflturup<br />

dosyalar›n geri kalan›n› bulup<br />

yerine koymakt›. Ama içimden bir ses<br />

bunun hacker yaklafl›m› olmad›¤›n›<br />

söylüyordu. Teknik bilgime dayanarak,<br />

fiziksel olarak zarar görmemifl bu dosyalara<br />

ulaflman›n bir yolu olmal›yd›.<br />

Bu sebeple araflt›rmaya bafllad›m.<br />

Asl›nda uzun uzad›ya araflt›racak bir<br />

fley yoktu. Zaman›nda bu tür bir iflte<br />

gpart isimli bir GNU program› kullanm›flt›m.<br />

Söz konusu program hard diski<br />

tarayarak, olmas› muhtemel partisyon<br />

izlerini ar›yor ve buldu¤unda da<br />

bunlar›n yeri hakk›nda size bilgi veriyordu.<br />

Bunun ard›ndan yapman›z gereken<br />

fley, ayn› yerlerde ayn› boyutlarda<br />

partisyonlar oluflturmak ve önceden<br />

eriflebildi¤iniz verilerinize tekrar ulaflmakt›.<br />

Fakat gpart otomatik bir program<br />

de¤ildi (hemen hemen bütün iyi programlar<br />

gibi) baz› fleyleri elle yapman›z,<br />

partisyon bilgilerini bir kenara not ald›ktan<br />

sonra fdisk ile yeni partisyonlar›<br />

bu bilgilere dayanarak oluflturman›z<br />

gerekiyordu. Bu yüzden<br />

ilk aflamada gpart› göz ard›<br />

ettim. Kesin bu ifli çok daha<br />

kolay ve otomatik bir flekilde<br />

yapan bir Windows program›<br />

vard›r dedim ve araflt›rmalara<br />

bafllad›m.<br />

Gerçekten de bu alanda<br />

yaz›lm›fl baz› programlar vard›.<br />

Hepsi egzotik isimlerle, bu<br />

asl›nda çok basit olan ifli ve<br />

daha birçok fleyi yapt›klar›n›<br />

iddia ediyorlard›. Fakat iflin<br />

tats›z yan› hiçbiri özgür yaz›l›m de¤ildi.<br />

Dahas› içlerinde shareware ya da<br />

freeware olanlar bile çok azd›.<br />

Yaklafl›k k›rk befl dakikal›k bir aramadan<br />

sonra en umut vadeden programlardan<br />

birinin eski bir versiyonunu<br />

indirebilece¤im bir arfliv buldum. Görünüfle<br />

göre bu da ifli görüyordu.<br />

Söz konusu program› indirdim ve<br />

çal›flt›rd›m. Bekledi¤im gibi partisyonlar›m›<br />

eliyle koymufl gibi bulmufltu. Fakat<br />

buldu¤u bir baflka fley de partisyon<br />

tablomda bir terslik oldu¤uydu. Ve bu<br />

muhteflem program görünüfle göre bu<br />

tür ufak problemlerin üzerinden gelmek<br />

için de bire birdi. Acaba söz konusu<br />

problemi gidermek ister miydim<br />

Tabi ki isterdim ve y'ye bast›m. Befl<br />

dakika sonra ifl bitmifl bilgisayar›m yeniden<br />

boot etmeye haz›r hale gelmiflti.<br />

Merakla boot ettim. E¤er bu çözüm<br />

ifle yaramazsa dosyalar› teker teker<br />

toplay›p yerine koyar›m diye düflünüyordum<br />

ki bilgisayar›m›n art›k boot etmedi¤ini<br />

gördüm.<br />

Bu gibi durumlarda her zaman güvenebildi¤im<br />

Knoppix'e baflvurman›n<br />

zaman› gelmifl de geçiyordu. Knoppix'i<br />

bilgisayara takt›m ve boot ettim. Yepyeni<br />

bilgisayar›m›n bütün önemli ayg›tlar›n›<br />

tan›d› (SATA harddisk, Broadcom<br />

Ethernet). Yaklafl›k bir dakikal›k<br />

boot süresi sona erdi¤inde gördüm ki<br />

diskimin partisyon tablosu art›k tama-<br />

Begin scan...<br />

Possible partition(Windows NT/W2K FS), size(40000mb), offset(0mb)<br />

Possible partition(Windows NT/W2K FS), size(24998mb), offset(40000mb)<br />

Possible partition(DOS FAT), size(13348mb), offset(64998mb)<br />

Possible partition(Linux ext2), size(16286mb), offset(79106mb)<br />

End scan.<br />

Checking partitions...<br />

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary<br />

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary<br />

Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary<br />

Partition(Linux ext2 filesystem): primary<br />

Ok.<br />

Guessed primary partition table:<br />

Primary partition(1)<br />

type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)<br />

size: 40000mb #s(81920097) s(63-81920159)<br />

chs: (0/1/1)-(1023/254/63)d (0/1/1)-(5099/74/63)r<br />

Primary partition(2)<br />

type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)<br />

size: 24998mb #s(51196312) s(81920160-133116471)<br />

chs: (1023/254/63)-(1023/254/63)d (5099/75/1)-(8286/29/55)r<br />

Primary partition(3)<br />

type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)<br />

size: 13348mb #s(27336896) s(133116543-160453438)<br />

chs: (1023/254/63)-(1023/254/63)d (8286/31/1)-(9987/194/62)r<br />

Primary partition(4)<br />

type: 131(0x83)(Linux ext2 filesystem)<br />

size: 16286mb #s(33354720) s(162010800-195365519)<br />

chs: (1023/254/63)-(1023/254/63)d (10084/180/1)-(12160/239/63)r<br />

38 HABER LINUX


men okunmaz haldeydi.<br />

‹flte o an akl›ma gpart geldi. Bir<br />

konsol program› olan gpart› çal›flt›r›nca<br />

bana s›ras›yla dört partisyonumu<br />

buldu ve ç›kartt›.<br />

Bu partisyon listesini bir konsol ekran›nda<br />

b›rak›p bir baflka ekranda fdiski<br />

çal›flt›rd›m. Linux'a yeni bafllayanlar›n<br />

birço¤u için cfdisk pratik bir partisyon<br />

düzenleme uygulamas› olsa da,<br />

maalesef fdisk'in çal›flabildi¤i detayda<br />

ifllem yapamamakta.<br />

Fdiski çal›flt›rmak için fdisk /dev<br />

/sda komutunu verdim.<br />

Gpart'›n ç›kt›s› sektör format›nda<br />

oldu¤u için fdisk’de de ilk olarak sektör<br />

moduna geçtim. Bunun ar›ndan yeni<br />

bir partisyon oluflturmak için o komutunu<br />

verdim.<br />

Bunun ard›ndan n (new) ve p (primary)<br />

komutlar›n› vererek ilk partisyonumu<br />

birincil modda yaratm›fl oldum.<br />

Ard›ndan da yaratt›¤›m bu partisyonun<br />

tipini 07 (NTFS) yapt›m.<br />

Böylece ad›m ad›m dört partisyonu<br />

da oluflturdum. Bunun sonunda da<br />

sda1'i aktif boot partisyonu olarak seçtim.<br />

Bunu yaparken her seferinde partisyonlar›<br />

bir öncekinin bitti¤i sektörden<br />

bafllat›yor ve kaç sektör uzunlu-<br />

¤unda oldu¤unu girerek devam ediyordum.<br />

Son partisyonu da yaratt›ktan<br />

sonra partisyon tablosunu diske yaz›p<br />

fdiskten ç›kt›m.<br />

Bu noktada fark etti¤im ilginç bir<br />

fley Knoppix'in partisyon tablosunda<br />

bir de¤ifliklik oldu¤unu hemen fark<br />

edip söz konusu bölümleri ba¤lamas›<br />

oldu. Dosyalar›m›n yerinde olup olmad›¤›n›<br />

görmek için h›zl› bir kontrol yapt›m.<br />

Gerçekten de hepsi yerinde duruyorlard›.<br />

Art›k yapacak çok bir<br />

fley yoktu, Knoppix'i kapat›p<br />

reboot ettim ve<br />

hard diskten boot etmesini<br />

beklemeye bafllad›m...<br />

ama olmad›.<br />

Bu sefer partisyon<br />

tablosu ile ilgili bir sorun<br />

olmad›¤›n› biliyordum..<br />

Büyük ihtimalle MBR ya<br />

da Windows bootloaderda<br />

bir hata vard›. Bunu<br />

çözmek için yapmam gereken<br />

tek fley Windows<br />

CD'si ile recover modda makineyi aç›p<br />

MBR ve boot'u düzeltmekti.<br />

Bu noktada ç›ta biraz daha yükseldi,<br />

bu sefer de XP cdsinden boot etti-<br />

¤imde sistem yepyeni SATA diskimi<br />

göremiyordu. Dahas› bu iflin tek çözümü<br />

olarak da ihtiyac›m olan sürücülerin<br />

oldu¤u bir diske sahip olmad›¤›m›<br />

soruyordu. Tabi ki yepyeni dizüstü bilgisayar›mda<br />

disk drivve yoktu. Söz konusu<br />

sürücüleri USB diskten yüklemenin<br />

bir yolu var m› diye bakt›m ama o<br />

da gözükmüyordu. Bu gidiflle USB bir<br />

floppy d›fl›nda bir çözüm gözükmüyordu.<br />

Internet üzerinde biraz araflt›rd›ktan<br />

sonra tek yolun bu olmad›¤›n› ö¤rendim.<br />

nLite isimli bir program iste¤e<br />

uygun Windows kurulum cdleri oluflturman›za<br />

izin veriyordu. Bu program<br />

ile SATA ya da SCSII disk sürücüleri<br />

veya hotfix ve service packleri kurulum<br />

cdsine ekleyebiliyor, dahas› kurulumun<br />

hiçbir müdahale olmadan yap›-<br />

labilir olmas›n› sa¤layabiliyordunuz.<br />

Bu sayede SATA sürücülerimi içeren<br />

bir kurulum CD'si oluflturdum. Ard›ndan<br />

da bu CD'den<br />

boot edip rescue<br />

mode'a girdim. Bunun<br />

ard›ndan s›ras›yla<br />

iki komutu çal›flt›rd›m,<br />

fixboot ve<br />

fixmbr.<br />

Bunlar›n ard›ndan<br />

-tam da sabr›-<br />

m›n tükenmeye bafllad›¤›<br />

noktada- bilgisayar›m›<br />

tekrar boot<br />

ettim ve sonunda<br />

her fley çal›fl›yordu.<br />

Bunlar›n yan›nda<br />

grub'u kurmak iflten<br />

bile de¤ildi.<br />

Sonuçlar<br />

Bütün bu maceradan baz› önemli oldu-<br />

¤unu düflündü¤üm sonuçlar ç›kartt›m:<br />

1. E¤er hata yapmakta oldu¤unuzu<br />

fark ederseniz ve elinizde yedekleriniz<br />

varsa onlar› kullan›n. Durumunuz<br />

ne kadar kötü gözüküyor olursa<br />

olsun daha kötü bir durumda kalabilirsiniz.<br />

2. Çifte tembellik yapmay›n. Bilgisayarla<br />

bir fleyi yaparken e¤er bir yol<br />

çok çaba harcaman›z› gerektiriyorsa<br />

ve bu size ters geliyorsa bu anlafl›labilir<br />

bir fley, muhtemelen o ifli<br />

yapman›n daha kolay bir yolu mutlaka<br />

vard›r. Fakat k›sa yoldan giderken<br />

daha da tembellik yapmay›n.<br />

Bu örnekte partisyon tablosunu<br />

elle oluflturmam gerektirdi¤i<br />

için gpart'› de¤il de bu ifli otomatik<br />

olarak yapan bir program› kullanmaya<br />

kalkt›m ve sonunda nerdeyse<br />

bütün hard diskimdeki bilgileri kaybediyordum.<br />

3. Kullanaca¤›n›z araçlar› seçerken,<br />

özellikle de önemli verilerle çal›fl›rken<br />

hakim oldu¤unuz araçlar› tercih<br />

edin.<br />

4. Her ne kadar hatalar size zaman<br />

ve emek harcatsa da önemli bir yararlar›<br />

vard›r; ö¤retmek. Hiç kimse<br />

durup dururken "bu partisyon tablomu<br />

silsem, acaba nas›l kurtar›-<br />

r›m" diye u¤raflmaz, bunu nas›l yapaca¤›n›z›<br />

ö¤renebilmeniz için bafl›n›za<br />

gelmesi (ya da bafl›na gelen<br />

birisinin bunla ilgili bir makale yazmas›)<br />

gerekir. Unutmay›n her zaman<br />

için kahramanlar, büyük düflmanlarla<br />

karfl›laflarak büyük olurlar.<br />

K›v›lc›m Hindistan<br />

HABER LINUX 39


Neden GTK+ kullanılmalı<br />

Bölüm 1 : GTK+ ile ilgili temel b<br />

40 HABER LINUX


ilgiler<br />

Üç bölümden oluflan dizinin ilki olan bu<br />

makale, GTK+ dünyasına bir girifl yapmanızı<br />

sa¤lar. Bu makale, GTK+ olana¤ının ne<br />

oldu¤unu, neden kullanılması gerekti¤ini ve<br />

size ne gibi yararlar sa¤layaca¤ını açıklar.<br />

Dizinin di¤er bölümleriyle birlikte bu kurulufl,<br />

GTK+'yi kendi projelerinizde kullanmaya<br />

karar verdi¤inizde bakabilece¤iniz daha<br />

ayrıntılı kaynaklar konusunda yeterli girifl<br />

bilgisi sa¤lar.<br />

Düzey: Orta<br />

Maciej Katafiasz (ibmdw@mathrick.org), Ö¤renci, Bilgisayar Bilimleri<br />

GTK+, bir grafik kullan›c› arabirimi<br />

(GUI) araç tak›m›d›r. Di¤er bir deyiflle,<br />

GUI tabanl› uygulamalar yaratman›za<br />

olanak veren bir kitapl›kt›r<br />

(daha do¤rusu birbirleriyle yak›ndan<br />

ba¤lant›l› birkaç kitapl›ktan oluflan<br />

bir gruptur). GTK+ olana¤›n›,<br />

çeflitli GUI'ler yaratmak için birçok<br />

haz›r yap›y› bir arada bulabilece¤iniz<br />

bir araç kutusu olarak düflünebilirsiniz.<br />

Bafllang›çta, GTK+ baflka bir tan›nm›fl<br />

aç›k kaynak projesi olan<br />

GIMP'nin (GNU Image Manipulation<br />

Program; GNU Görüntü Manipülasyon<br />

Program›) yan ürünü olarak yarat›lm›flt›.<br />

Daha önceki GIMP sürümlerinde<br />

çal›fl›rken Peter Mattis ve<br />

Spencer Kimball, o zamanlar ücretsiz<br />

olmayan Motif araç tak›m›na bir<br />

alternatif olarak GTK'yi (GIMP Toolkit'in<br />

k›salt›lm›fl›) yaratt›lar. (Art›<br />

iflareti ada daha sonra, araç tak›m›<br />

nesne yönelimli özellikler ve geniflletilebilirlik<br />

kazand›¤›nda eklendi.)<br />

Bu yaklafl›k 10 y›l önceydi. Bugün,<br />

en son GTK+ sürümü olan 2.8<br />

ile birlikte ürün çok say›da yeni etkinlik<br />

içeriyor ve GIMP hala, GTK+<br />

olana¤›n› kullanan en iyi programlardan<br />

biri olmaya devam ederken<br />

art›k tek de¤il. GTK+ için tam anlam›yla<br />

binlerce uygulama yaz›ld› ve<br />

en az iki büyük masaüstü ortam›<br />

(Xfce ve GNOME) kullan›c›lar için<br />

eksiksiz bir çal›flma ortam› sa¤lamak<br />

için GTK+ ortam›n› kullan›yor.<br />

Neden bir GUI araç<br />

tak›m› kullan›lmal›<br />

GTK+ gibi bir kitapl›¤›n kullan›lmas›-<br />

n›n kendi GUI kodunuzu yazmaya k›-<br />

yasla birkaç avantaj› vard›r. Örne-<br />

¤in, gelifltirme için harcanan süreden<br />

önemli ölçüde tasarruf etmenizi<br />

sa¤layarak, basit ifllevleri yinelemek<br />

yerine projeniz için as›l önemli<br />

ve özel olan konulara yönelmeniz<br />

için size zaman kazand›r›r. Kullan›-<br />

c›lar›n›z için bu, kulland›klar› uygulamalar<br />

üzerinde daha fazla tutarl›-<br />

l›k anlam›na gelir: Araç tak›m›n›n<br />

çal›flt›¤› her yerde uygulamalar› da<br />

çal›fl›r. Ayn› LEGO'larda oldu¤u gibi,<br />

herkesin tek bir uyumlu boyutu kullanmas›,<br />

tasar›mlar›n›z›n nerede<br />

kullan›l›rsa kullan›ls›n kitapl›¤› kullanan<br />

herkes taraf›ndan paylafl›labilmesi<br />

anlam›na gelir.<br />

Gerçekte, modern GUI araç tak›mlar›<br />

yaln›zca yinelemenin önlenmesinden<br />

daha fazlas›n› yapar. Bu<br />

araç tak›mlar› kullan›c›lar›n uygulamalar›ndan<br />

bekleyebilecekleri ve bu<br />

tür araç tak›mlar› için harcanan zaman<br />

ve çaba tek bir uygulama için<br />

harcayabilece¤inizden daha fazla<br />

olaca¤›ndan elde edilmesi zor olacak<br />

birçok geliflmifl yetenek sunar.<br />

Bu nedenle, uygulaman›zda bir GUI<br />

kullan›lmas› sizin için önemliyse, bir<br />

araç tak›m› kullan›n. Basit bir ifadeyle,<br />

bunun baflka yolu yok. Art›k<br />

geri kalan tek soru hangi araç tak›-<br />

m›n› kullanaca¤›n›zd›r.<br />

GTK+ olana¤›n›n<br />

güçlü yönleri<br />

Gelifltirme ekibinizin gereksinimi ne<br />

olursa olsun, GTK+ tam arad›¤›n›z<br />

yan›t olabilir. GTK+ olana¤›n›n sunaca¤›<br />

çok fley vard›r:<br />

• Güçlü bir topluluk taraf›ndan desteklenen<br />

bu olanak modern ve etkin<br />

HABER LINUX 41


ir flekilde gelifltirilmifl ve gelifltirilmeye<br />

devam etmektedir.<br />

• Çal›flman›z› mümkün oldu¤unca çok<br />

kifliye ulaflt›rmak için çok genifl seçenekler<br />

sunar. Bunlara uluslararas›laflt›rma,<br />

yerellefltirme ve eriflilebilirlik<br />

için geliflmifl bir çerçeve de dahildir.<br />

• Hem gelifltiriciler hem de kullan›c›lar<br />

için yal›n ve kullan›m› kolayd›r.<br />

• Çok iyi tasarlanm›fl, esnek ve geniflletilebilirdir.<br />

• Serbest bir aç›k kaynak lisans›na sahip<br />

ücretsiz bir yaz›l›md›r.<br />

• Hem kullan›c›lar, hem de gelifltiriciler<br />

aç›s›ndan tafl›nabilir bir üründür.<br />

Modern ve etkin bir flekilde<br />

gelifltirilmifl bir araç tak›m›<br />

GTK+, yaz›l›m gelifltirmedeki en yeni<br />

yöntemler kullan›larak yaz›lm›flt›r ve<br />

herhangi bir hata ya da eksiklik bulundu¤unda<br />

(hiçbir yaz›l›m mükemmel de-<br />

¤ildir) gelifltiriciler bir sonraki sürümde<br />

bunlar› düzeltmek için ellerinden<br />

geleni yaparlar. Modern bir yaz›l›m<br />

kullanmak, eskimeye terkedilmifl bir<br />

ürüne tak›l›p kalmayaca¤›n›z anlam›na<br />

gelir.<br />

Sürekli bak›m ve gelifltirme çal›flmalar›,<br />

araç tak›m›n›n gelecekte gidece¤i<br />

yön konusunda da etkinizin olabilece¤ini<br />

gösterir. Ayr›ca, yeni yay›n<br />

düzeyleri piyasaya ç›kt›kça, kullan›c›-<br />

lar›n geribildirimlerine dayanan yeni<br />

özellikler ve ifllevler eklenir ve eski sorunlar<br />

çözülür.<br />

Uluslararas›laflt›rma,<br />

yerellefltirme ve eriflilebilirlik<br />

Herkesin kullanabilece¤i bir yaz›l›m<br />

yarat›rken, üç sözcü¤ü akl›n›zda tutun:<br />

uluslararas›laflt›rma, yerellefltirme ve<br />

eriflilebilirlik (genellikle s›ras›yla i18n,<br />

l10n ve a11y fleklinde k›salt›l›rlar).<br />

Uluslararas›laflt›rma, program›n›z›<br />

uygulaman›n gelifltirildi¤i dilin d›fl›ndaki<br />

di¤er dilleri konuflanlar›n kullan›m›<br />

için haz›rlama sürecidir. Böylece, uygulama<br />

herhangi bir dille ilgili varsay›mlardan<br />

ba¤›ms›z olur.<br />

i18n, program›n›z›n kulland›¤› metni<br />

yaln›zca çevirmekten daha fazlas›-<br />

d›r. Bu, kullan›lan farkl› yazma düzeni<br />

ve alfabelerin, farkl› yaz› yönlerinin,<br />

birçok dili görüntülemek için gereken<br />

özel ifllemlerin göz önünde bulundurulmas›<br />

ve kullan›c›lar›n veri girmeleri<br />

için uygun yöntemlerin sa¤lanmas› anlam›na<br />

gelir. Baz› dillerde her bir harfin<br />

klavye üzerindeki farkl› bir<br />

tuflla gösterilmedi¤i gibi, hata<br />

iletilerinde do¤ru ço¤ulun<br />

kullan›ld›¤›ndan emin olmak<br />

gibi daha genifl karmafl›kl›klar›<br />

da hesaba katman›z gerekir.<br />

Uygulaman›z›n uluslararas› kullan›-<br />

c›lar için haz›rlanmas› yaln›zca dillerin<br />

de¤ifltirilmesinde öte bir süreç oldu-<br />

¤undan, Yerellefltirme uluslararas›laflt›rma<br />

(i18n) ile yak›ndan ilgilidir. Program›n›z›n,<br />

tarihler, para birimleri, say›-<br />

sal gösterimler, metin s›ralama için<br />

yap›lan farkl› dönüfltürmeleri ve dünyan›n<br />

farkl› yerlerinde uygunsuz ya da<br />

k›r›c› olabilecek simgelerin kullan›m›<br />

gibi fark›nda bile olmayabilece¤iniz<br />

birçok ince ayr›nt›y› anlamas› ve bunlara<br />

sayg› duyabilmesi gerekir.<br />

Uluslararas›laflt›rma gibi, düzgün<br />

yerellefltirme, kod üzerinde, sonradan<br />

eklenemeyecek kapsaml› bir haz›rl›k<br />

gerektirir. GTK+, size uluslararas›laflt›rma<br />

ve yerellefltirme için uygun araçlar›<br />

sa¤layarak, kodun (ve ikililerin)<br />

birçok dilde ve yerel bilgi seçene¤inde<br />

de¤ifltirilmeden çal›flt›r›labilmesine<br />

olanak verir. Yapman›z gereken tek<br />

fley yerel bilgileri iflletim sistemiyle<br />

birlikte gönderilen veri setiyle de¤ifltirmek<br />

(l10n için) ya da gerçek bir<br />

programdan ba¤›ms›z olarak da¤›t›lan<br />

ve üzerinde çal›fl›labilen bir<br />

çeviri dosyas›yla de¤ifltirmektir<br />

(i18n için). Sonuçta<br />

ortaya ç›kan esneklik gelifltiricilerinizi,<br />

çevirmenlerinizi<br />

ve kullan›c›lar›n›z› memnun<br />

edecektir.<br />

Eriflilebilirlik program›n›-<br />

z› herkesin kullan›labilmesini<br />

sa¤layan bir unsurdur. Baz› kullan›c›lar›n<br />

görme yetenekleri k›s›tl› olabilir,<br />

baz›lar› bir klavye ya da fare kullanamayabilirler,<br />

baz›lar› ise yaln›zca gözlerini<br />

hareket ettirebilirler. ‹steyen<br />

herkesin uygulaman›z› kullanabilmesini<br />

sa¤lamak çok fazla çaba ister. Neyse<br />

ki GTK+, sizin aç›n›zdan neredeyse<br />

yok denebilecek kadar az çaba gerektiren<br />

geliflmifl bir kullan›labilirlik çerçevesi<br />

arac›l›¤›yla an›nda destek alabilece¤iniz<br />

bir yöntem sa¤lar. Bu çerçeve<br />

sayesinde (UNIX® sistemlerinde standart<br />

bir seçenek olarak bulunur), uygulaman›z›<br />

her tür kullan›c›ya sunabilirsiniz.<br />

Siz de kullan›labilirlik özelli¤inin<br />

sundu¤u birçok avantajdan (otomatik<br />

GUI testleri gerçeklefltirebilmek<br />

gibi) yararlanabilirsiniz.<br />

Uygulaman›z›n özel gereksinimleri<br />

olan kullan›c›lar›n kulland›klar›<br />

eriflilebilirlik yaz›-<br />

l›mlar› taraf›ndan okunabilmesini sa¤layarak,<br />

örne¤in do¤ru davran›fl biçimlerini<br />

denetleyen (bu ifllem, geleneksel<br />

GUI programlamas›nda büyük sorunlara<br />

neden olur) test yaz›l›mlar› taraf›ndan<br />

da eriflilebilir olmas›n› sa¤layabilirsiniz.<br />

(Ayr›ca eriflilebilirlik son zamanlarda<br />

yaln›zca "hofl" bir özellik olmaktan<br />

ç›km›flt›r. Birçok düzenleme,<br />

örne¤in A.B.D. devleti kullan›c›lar› taraf›ndan<br />

kullan›lan yaz›l›mlara iliflkin<br />

kurallar, yaz›l›mlar›n özel gereksinimi<br />

olan kullan›c›lar için uygun deste¤i<br />

sa¤lamas›n› gerektirmektedir.)<br />

Yukar›daki üç unsur, bir araç tak›-<br />

m› (özellikle de tüm bu alanlarda mükemmel<br />

destek sa¤layan GTK+ araç<br />

tak›m›n›) kullanmak için büyük olas›l›kla<br />

yeterli bir gerekçe oluflturur. GTK+<br />

araç tak›m›n›n sa¤lad›¤› destek mükemmel<br />

oldu¤u kadar, ça¤dafl yaz›l›mlarla<br />

edinebilecekleriniz aras›nda en<br />

iyisidir ve bu unsurlar›n uygulaman›za<br />

eklenmesinin önemi ne kadar vurgulansa<br />

azd›r. Bilgisayarlar›n hemen her<br />

yerde oldu¤u ve bunlarla çal›flan kullan›c›lar›n<br />

say›s›z ve benzersiz oldu¤u<br />

günümüz dünyas›nda, baz› kullan›-<br />

c› gruplar›n› göz ard› eden bir uygulamay›<br />

eksiksiz bir ürün olarak<br />

nitelemek mümkün de¤ildir.<br />

Yal›n ve kullan›m› kolay<br />

Bir araç tak›m›, acemi kullan›c›lar<br />

için bile kullan›m› kolay, rahat ve<br />

zevkli olmal›d›r. ‹nsan ve bilgisayar<br />

aras›ndaki etkileflim için uygun bir<br />

model oluflturmak önemsiz bir görev<br />

de¤ildir. GTK+, uzun süren çal›flmalar›n<br />

yan› s›ra, say›s›z ve bazen zor al›nm›fl<br />

kararlar›n da sonucunda ortaya ç›-<br />

kan bir üründür.<br />

GTK+ ürünü, sizin gibi gelifltiriciler<br />

için de kullan›m› kolay bir üründür.<br />

Söylemek istedi¤iniz fleyi do¤rudan<br />

söylemenize olanak verir; bilgisayarlar›n<br />

do¤alar› gere¤i yoksun olduklar›<br />

hayal gücünü telafi etmek üzere insanlara<br />

yükledikleri kurallarla sizi s›k›nt›-<br />

ya sokmaz.<br />

‹yi tasarlanm›fl, esnek ve<br />

geniflletilebilir<br />

GTK+, ürüne bak›m yapanlara, yeni<br />

42 HABER LINUX


özellikler ekleyebilme ve kullan›c›lar›-<br />

na, temel tasar›m› zorlamadan bu ifllevselli¤i<br />

kullanabilme ve gereksinimlerine<br />

en uygun flekilde kullanabilme<br />

olana¤› verecek biçimde yaz›lm›flt›r.<br />

Araç tak›m› ayr›ca geniflletilebilme<br />

özelli¤ine sahiptir; ürüne kendi parçalar›n›z›<br />

ekleyebilir ve bunlar› yerleflik<br />

parçalar› kulland›¤›n›z gibi kullanabilirsiniz.<br />

Örne¤in, uygulaman›z›n birlikte<br />

çal›flt›¤› bilimsel verileri görüntülemesi<br />

ve kullan›c›n›n seçti¤i görsel biçimi<br />

düzgün bir flekilde izlemesi için kendi<br />

denetim ö¤enizi yazabilirsiniz.<br />

Ayr›ca, GTK+ uyarlanabilme özelli-<br />

¤ine sahiptir ve bu özellik, ürünü kendi<br />

gereksinimlerinize uygun hale getirebilmenizi<br />

sa¤lar. GTK+, bir tema seçimi<br />

de dahil, ayarlar›n tüm uygulamalara<br />

yay›labilmesini sa¤layan bir sistem<br />

içerir. Tema, GTK+ ürününün kulland›-<br />

¤› temel denetimlerin nas›l göründü¤ünü<br />

ve belli bir dereceye kadar nas›l iflledi¤ini<br />

etkileyen ve toplu olarak da¤›-<br />

t›lan uyarlamalar grubudur. Temalar›<br />

kullanarak, örne¤in baflka bir iflletim<br />

sisteminin görünümünü taklit edebilirsiniz<br />

(bkz. fiekil 1).<br />

Serbest bir aç›k kaynak lisans›na<br />

sahip ücretsiz yaz›l›m<br />

Ücretsiz yaz›l›m, herkesin, belirli koflullara<br />

uyulmas› kayd›yla, araç tak›m›-<br />

n› yaln›zca al›p kullanmakla kalmay›p<br />

ayn› zamanda de¤ifltirmek ve yeniden<br />

da¤›tmak üzere de serbest oldu¤u anlam›na<br />

gelir. Serbest aç›k kaynak lisans›,<br />

bu koflullar›n çok s›n›rlay›c› olmad›¤›<br />

ve önemli ölçüde özgürlük düzeyine<br />

sahip oldu¤unuz anlam›na gelir.<br />

En önemlisi, GTK+, GNU lisanslar› aras›nda<br />

en az s›n›rlay›c› olan Lesser General<br />

Public License (LGPL) lisans›n›<br />

alm›flt›r. LGPL, yapt›¤›n›z de¤ifliklikleri<br />

de ücretsiz yapman›z kofluluyla, kapsad›¤›<br />

tüm yaz›l›mlar› ücretsiz olarak<br />

alman›za, de¤ifltirmenize ve da¤›tman›za<br />

izin verir. LGPL kullan›c›n›n uygulama<br />

kodunu açmas›n› gerektirmeden,<br />

herkesin kitapl›k taraf›ndan sa¤lanan<br />

ifllevleri kullanmas›na da izin verir.<br />

(Ço¤unlukla önceki sözleflmeler ve lisanslar<br />

nedeniyle, kodun genel kullan›-<br />

ma aç›lmas›n›n istenmedi¤i ya da kesinlikle<br />

imkans›z oldu¤u birçok sektörel<br />

kullan›m için bu önemlidir). LGPL lisans›<br />

sayesinde, hem iyi bir Çözüm Orta¤›<br />

hem de iyi bir aç›k kaynak vatandafl›<br />

olabilirsiniz.<br />

Tafl›nabilir<br />

GTK+ ürününün son ama ayn› derecede<br />

önemli di¤er bir özelli¤i de tafl›nabilir<br />

olmas›d›r. Bu, kullan›c›lar›n bu ürünü<br />

birçok platformda ve sistemde çal›flt›rabilecekleri<br />

anlam›na gelir. Buna<br />

karfl›l›k, gelifltiriciler, program› yaln›zca<br />

bir kez yazarak yaz›l›mlar›n› çok say›da<br />

kullan›c›ya sa¤layabilir ve ayr›ca<br />

birçok farkl› programlama ve gelifltirme<br />

platformu, araç ve programlama<br />

dili kullanabilirler. Tüm bunlar, daha<br />

büyük bir kullan›c› potansiyeli ve gereksinimlerinize<br />

daha uygun, daha genifl<br />

beceri ve araç seçeneklerinden yararlanabilmeniz<br />

anlam›na gelir.<br />

Tüm bu güçlü özellikler bir araya<br />

geldi¤inde, GTK+ ürünü yaz›l›m gelifltirme<br />

için sa¤lam bir temel haline gelir.<br />

Bu sayede, herfleyi yeni bafltan<br />

keflfetmek yerine gerçek sorunlar›<br />

çözmeye yo¤unlaflabilir ve yaratt›¤›-<br />

n›z uygulamalar›n kullan›c›lar›n bekledikleri<br />

gibi çal›flarak yeni sorunlar yaratmak<br />

yerine onlar›n sorunlar›n› çözece¤inden<br />

emin olabilirsiniz.<br />

Sonraki bölüm<br />

Bu makalede, çok fazla ayr›nt›ya girilmeden,<br />

GTK+ ürünün genel özelliklerine<br />

h›zl› bir bak›fl sa¤land›. Bir sonraki<br />

bölümde, gerçek GTK+ kodu hakk›nda<br />

bilgi sahibi olacaks›n›z. Size kodun<br />

gerçekte nas›l iflledi¤ini anlatacak, kullan›labilir<br />

baz› araçlar› tan›tacak ve<br />

GTK+ ürününün farkl› platformlar ve<br />

dillerde nas›l baflar›yla çal›flt›¤›n› gösterece¤im.<br />

Son makalede ise, GTK+<br />

ürününün zor ortamlardaki örneklerini<br />

göreceksiniz. Bu son makalede uyumluluk,<br />

tafl›nabilirlik, yayma ve GTK+<br />

ürününün sizin özel gereksinimlerinize<br />

uydurulmas›yla ilgili sorunlar› analiz<br />

edece¤im. Son olarak, GTK+ ürününü<br />

kendi projelerinizde kullanmak istedi-<br />

¤inizde bakabilece¤iniz kaynaklara<br />

iliflkin ipuçlar› bulacaks›n›z.<br />

Bölüm 2: GTK+ nas›l kullan›l›r<br />

http://www.fazlamesai.net/<br />

index.phpa=article&sid=3982<br />

Bölüm 3: GTK+ nas›l yay›l›r<br />

http://www.fazlamesai.net/<br />

index.phpa=article&sid=3986<br />

Kaynaklar<br />

Bilgi Edinme<br />

• Araç tak›m›yla ilgili ek bilgi için<br />

GTK+ Web sitesini ziyaret edebilirsiniz.<br />

(http://www.gtk.org)<br />

• GTK+ API baflvuru sayfas› gelifltiriciler<br />

için önemli bir sayfad›r.<br />

(http://www.gtk.org/api)<br />

• The Official GNOME 2 Developer's<br />

Guide (yazan Matthias Warkus, No<br />

Starch Press, 2004) GTK+ ile programlama<br />

dahil, GNOME 2 konusunu ele<br />

al›r. (http://www.amazon.com/exec/<br />

obidos/tg/detail/-/1593270305/002-<br />

7090147-8728026v=glance)<br />

• Aç›k kaynak teknolojileri konusunda<br />

kendinizi gelifltirmenize ve bunlar› IBM<br />

ürünleriyle kullanman›za yard›mc› olacak<br />

kapsaml› nas›l yap›l›r bilgileri,<br />

araçlar ve proje güncellemeleri developerWorks<br />

Open source zone (Aç›k<br />

kaynak bölgesi) sayfas›n› ziyaret edebilirsiniz.<br />

(http://www-128.ibm.com/<br />

developerworks/opensource)<br />

Tart›flma<br />

• GTK+ ile yaz›l›m gelifltirme konusunda<br />

destek ve sorular›n›z›n yan›tlar› için<br />

GTK+ e-posta listelerine bakabilirsiniz.<br />

(http://gtk.org/mailinglists.html)<br />

• developerWorks web günlüklerine<br />

kat›larak developerWorks toplulu¤una<br />

eriflebilirsiniz. (http://gtk.org/<br />

mailinglists.html)<br />

Yazar hakkında<br />

Maciej Katafiasz, bilgisayar bilimlerinde<br />

yüksek lisans ö¤rencisidir ve liseden<br />

bu yana açık kaynak teknolojilerini<br />

kullanmaktadır. 1.0 sürümünden bu<br />

yana GNOME masaüstünün kullanıcısı<br />

olan Katafiasz, sürüm 2.0<br />

yayınlandıktan sonra bu sürümü çok<br />

sevmifl ve en sevdi¤i masaüstüne uygulamalar<br />

gelifltirebilmek için GTK+<br />

ürününü ö¤renmifltir.<br />

fiekil 1. GTK+<br />

uygulamalar› için<br />

örnek görünümler<br />

HABER LINUX 43


IBM taraf›ndan Eclipse kayna<br />

aç›ld›, yaz›l›m dünyas› buna<br />

44 HABER LINUX


ak kodlar›<br />

tutuldu<br />

Yüzlerce flirket taraf›ndan desteklenen ve<br />

ba¤›ms›z bir projeye dönüflen, yüzlerce<br />

programc›n›n halen de¤iflik eklentilerle<br />

kesintisiz bir flekilde gelifltirmekte oldu¤u<br />

Eclipse'i ve göze çarpan, herkesin hayat›n›<br />

kolaylaflt›racak birtak›m eklentilerini birlikte<br />

ö¤renelim.<br />

Son befl sene içerisinde Java dünyas›ndaki<br />

en heyecan verici geliflmelerden<br />

biri Eclipse’in IBM taraf›ndan<br />

aç›k kaynak kodlar›yla kullan›-<br />

ma sunulmas› oldu. Biz de bu yaz›-<br />

m›zda, 2001’den beri dünyan›n dört<br />

bir taraf›ndaki Oracle, BEA ve Macromedia<br />

gibi yüzlerce flirket taraf›ndan<br />

desteklenen ve ba¤›ms›z bir<br />

projeye dönüflen, yüzlerce programc›n›n<br />

halen de¤iflik eklentilerle<br />

kesintisiz bir flekilde gelifltirmekte<br />

oldu¤u Eclipse’i ve göze çarpan,<br />

herkesin hayat›n› kolaylaflt›racak<br />

birtak›m eklentilerini anlatmaya çal›flaca¤›z.<br />

Birçok eklentinin bir araya gelmesinden<br />

oluflan yap›s› sayesinde<br />

Eclipse, hem çok h›zl› gelifltirilmekte<br />

olan, hem de son derece dinamik<br />

bir program olma özelli¤ine sahip.<br />

‹lk tasarland›¤› zamanlarda basit bir<br />

IDE (integrated development environment)<br />

olan Eclipse, günümüzdeki<br />

3.0 versiyonuyla birlikte art›k her<br />

türlü kullan›ma uygun bir Rich Client<br />

Platform haline geldi ve baflka<br />

IDE’lerin yarat›lmas› için Java dünyas›n›n<br />

en çok tercih edilen platformlar›ndan<br />

oldu.<br />

Halen Windows NT, Windows XP,<br />

Windows 2000, Windows 98 ve<br />

Windows ME, MacOs iflletim sistemlerinde<br />

kullan›labilen Eclipse çok<br />

platform uyumlu yap›s› sayesinde<br />

Linux alt›nda da sorunsuz çal›flabiliyor.<br />

Elbette, her türlü programc›n›n<br />

Eclipse’i kendi platformuna tafl›mas›<br />

da mümkün, fakat "http://www.<br />

eclipse.org'da" www.eclipse.org’da<br />

sadece genel versiyona destek sa¤lan›yor.<br />

Eclipse’i kullanmaya bafllamak<br />

için ana sayfas› olan "http://www.<br />

eclipse.org" www.eclipse.org ‘a girip<br />

“dowloads” bölümünden bilgisayar›n›za<br />

indirmeniz gerekiyor. Bu<br />

sayfada birçok eklenti, proje ve alt<br />

projeler oldu¤u gibi, Eclipse’i indirmek<br />

için kullanaca¤›z link de en tepede<br />

koyu renklerle yaz›l› duruyor.<br />

Kendinize yak›n olan bir yans›may›<br />

seçtikten sonra, ki Türkiye için “Tubitak-Ulakbim”<br />

tercih edilebilir,<br />

120mb’l›k s›k›flt›r›lm›fl dosyay› indirdikten<br />

sonra tek yapman›z gereken<br />

bu dosyay› orijinal boyutuna geri<br />

getirmeniz ve eclipse.exe’ye çift<br />

t›klaman›z. Eclipse, okumadan, sadece<br />

ileri tufluna basarak geçti¤iniz<br />

herhangi bir yükleme arayüzüne ihtiyaç<br />

duymuyor ve daha önceden<br />

Java Virtual Machine yüklenmifl bir<br />

makinede çal›flabiliyor, “Common<br />

Public License” alt›nda oldu¤u için<br />

de bir ücret gerektirmiyor.<br />

Kullan›c› dostu olmas›yla dikkat<br />

çeken Eclipse’in en yararl› özelliklerinden<br />

biri kod yaz›m›n› fark edilir<br />

derecede h›zland›ran Quick Fix<br />

özelli¤idir. Sadece compile ettikten<br />

sonra ç›kan hatalar› de¤il, yaz›m esnas›nda<br />

gördü¤ü eksiklikleri de düzeltebilmesiyle<br />

kullan›c›ya büyük<br />

kolayl›k sa¤lar. Sat›r›n solunda görünür<br />

hale gelen ampul iflareti, o sat›r<br />

ile ilgili bir düzeltme yap›labilece¤ini<br />

iflaret etmektedir. Farenin<br />

sol tufluyla ampul ikonuna t›klayarak<br />

ya da Ctrl+1 k›sa yolunu kullanarak<br />

yap›labilecek düzeltmelerin listelendi¤i<br />

Quick Fix penceresine eriflilebilir.<br />

Sat›r›n alt›nda beliren pencerede<br />

seçilen düzeltmenin önizlemesi<br />

de görülebilmektedir. Bu sayede<br />

gerekli düzenlemeyi bulmak için<br />

deneme yan›lma yönetimine baflvurman›za<br />

gerek kalmaz. Quick Fix<br />

özelli¤i varsay›lan ayarlarda aç›k<br />

olarak bulunsa da Window > Preferences<br />

> Java > Editor menülerinden<br />

HABER LINUX 45


‘Report problems as you type’ seçene-<br />

¤i iflaretlenerek de aktif hale getirilebilir.<br />

Ctrl+1 k›sa yoluyla tüm düzeltmelere<br />

ulafl›labilece¤i gibi belli düzeltmeler<br />

için özel k›sa yollar oluflturulup s›k kullan›lan<br />

düzeltmelere tek tuflla ulafl›larak<br />

daha kolay bir yaz›m sa¤lanabilir.<br />

WindowBuilder Pro kullanarak, sadece<br />

sürükle – b›rak yaparak arayüzünüze<br />

de¤iflik tiplerde dü¤meler, yaz›<br />

girifli bloklar›, listeler, menüler, altmenüler<br />

ve menü seçenekleri; bunlar›n<br />

yan› s›ra olay düzenleyicileri (event<br />

handler) ve benzeri birçok gerekli<br />

özelli¤i kolayca eklemenize olanak<br />

sa¤lar. Bunlar›n hepsini klasik Java<br />

kodlar› kullanarak yapt›¤› için herhangi<br />

ekstra bir kod kütüphanesi eklenmesini<br />

gerektirmez, dolay›s›yla da yarat›lm›fl<br />

olan programlar ve arayüzler WindowBuilder<br />

Pro yüklenmemifl bir makinede<br />

de sorunsuzca kullan›labilir.<br />

Bunlar›n yan› s›ra, WindowBuilder<br />

Pro daha önce haz›rlanm›fl olan pencereler<br />

üzerinde de¤ifliklik yapmak için<br />

de kullan›labilir, reverse engineering<br />

yöntemi ile haz›r arayüzlerin kodunun<br />

görünmesine de olanak verir.<br />

Bu eklentiyi kullanmak için sat›n almak<br />

gerekti¤i halde, bir deneme versiyonunu<br />

kullanmak ve test etmek de<br />

mümkün. "http://www.windowbuilfiekil<br />

1: Quick Fix ile eksik kütüphaneler eklenebilir.<br />

Quick Fix ile yap›labilecek düzenlemeleri<br />

listelersek;<br />

• Eksik paketler tan›mlanabilir ya da<br />

var olanlar düzeltilebilir.<br />

• Eksik kütüphaneler eklenebilir, gereksiz<br />

kütüphaneler temizlenebilir,<br />

böylelikle kod üzerinde yap›lan de¤iflikliklerde<br />

sayfan›n bafl›na dönüp kütüphaneleri<br />

düzenleme derdi ortadan<br />

kalkm›fl olur.<br />

• Eksik olan class, type tan›mlar› koda<br />

eklenebilir. Hatal› olanlar düzeltilebilir.<br />

Kullan›lmayanlar ortadan kald›r›labilir.<br />

• Yeni bir class eklendi¤inde ortaya ç›-<br />

kabilecek referans karmaflas›na karfl›n<br />

constructor yarat›labilir, parametrelere<br />

göre düzenlenebilir.<br />

• De¤iflken tan›mlar› düzeltilebilir, kullan›lmayanlar<br />

kald›r›labilir.<br />

• Try / Catch bloklar› düzenlenebilir.<br />

Eksik JAR dosyalar› eklenebilir.<br />

• @Override, @Deprecated aç›klamalar›<br />

eklenebilir.<br />

Aç›k kod oldu¤u için, dünyadaki her<br />

programc›n›n Eclipse ile uyumlu bir flekilde<br />

istedi¤i eklentiyi gelifltirme hakk›na<br />

sahip olmas› ve program›n zaten<br />

iç içe geçmifl eklentilerden oluflan yap›s›<br />

sayesinde yeni eklentilerin kolayca<br />

yüklenebiliyor ve kullan›labiliyor olmas›<br />

bu dinamik program›n en büyük<br />

avantaj›. Sadece Eclipse ad›ndan çok,<br />

herkes taraf›ndan gelifltirilmesi mümkün<br />

bir proje olarak, bu program artik<br />

The Eclipse Project olarak da an›l›yor.<br />

Eclipse’in eklentilerinin topland›¤›<br />

birkaç adrese örnek vermek gerekirse,<br />

• Eclipse Plugin Central: "http://<br />

www.eclipseplugincentral.com/"<br />

http://www.eclipseplugincentral.com/<br />

- en kapsaml› sitelerden biri, en son<br />

yüklenen eklentiler, en aktif ve en çok<br />

indirilen eklentiler gibi listeleriyle Eclipse<br />

platformunda yeni bile olsan›z<br />

iflinizi çok kolaylaflt›r›yor.<br />

Eclipse Plugins Info: "http://<br />

www.eclipse-plugins.info/eclipse/index.jsp"<br />

http://www.eclipse-plugins.<br />

info/eclipse/index.jsp - baz› temel<br />

aç›klamalar ve eklentiler.<br />

• Eclipse Wiki: "http://eclipse-wiki. info/"<br />

http://eclipse-wiki.info/ - bu site<br />

hem genel bilgiler hem de çeflitli temel<br />

eklentiler için kullan›labilir.<br />

• PHPeclipse: "http://www.phpeclipse.de/"<br />

http://www.phpeclipse.de/ -<br />

PHP gelifltirmek için Eclipse kullanmay›<br />

öneren bir site ve bu konudaki baz›<br />

eklentileri.<br />

Afla¤›da, her Eclipse kullan›c›s›n›n<br />

tan›mak isteyece¤i baz› eklentileri tan›taca¤›z.<br />

WindowBuilder Pro<br />

Eclipse’in kendisi aç›k kaynak kodlu oldu¤u<br />

halde, bu platform üzerine ticari<br />

amaçlarla eklentiler gelifltiren profesyonel<br />

flirketler de var. Örnek vermek<br />

gerekirse, de¤iflik GUI haz›rlama yöntemleri<br />

üzerinde çal›flan flirketlerden<br />

biri olan Instantiations ( "http://www.<br />

instantiations.com" http://www.instantiations.com)<br />

da bunlardan biri.<br />

Hem IBM Business Partner hem de Eclipse<br />

Foundation Member s›fatlar›n› tafl›yan<br />

bu flirketin bir ürünü olan WindowBuilder<br />

Pro, Java ile Graphical<br />

User Interface yaratmak için harcanacak<br />

zaman ve masraf› azaltmay› vaat<br />

ediyor.<br />

WindowBuilder Pro, kullan›m› kolay,<br />

hem kod yazarak hem de What You<br />

See Is What You Get yöntemiyle basitçe<br />

istedi¤iniz menüleri ve pencereleri<br />

haz›rlaman›za olanak sa¤layan<br />

Standart Widget Toolkit temelli bir yaz›l›md›r.<br />

Soldaki menüden seçti¤iniz<br />

pencere veya menü parçalar›n› sürükleyip<br />

b›rakt›¤›n›z zaman WindowBuilder<br />

Pro gereken kodu otomatik olarak<br />

haz›rlar.<br />

Bu faydal› eklenti, Windows 98,<br />

ME, NT 4.0, 2000 ve XP’de çal›flmas›-<br />

n›n yan›s›ra, GTK yüklü bir Linux’ta da<br />

sorunsuzca kullan›labilmektedir. Eclipse<br />

2.1, 3.0, 3.1 ve 3.2’nin yan›s›ra WindowBuilder<br />

Pro ayn› zamanda WebSphere<br />

5.1 ve daha yüksek versiyonlar›<br />

ile Rational Web Developer 6.0 ve üzeri,<br />

Rational Application Developer 6.0<br />

ve üzeri ile de uyumludur.<br />

Plugin yüklendi¤i zaman bir soyut<br />

sözdizimi a¤ac› (abstract syntax tree –<br />

AST) oluflturarak kodun içinde gezinmeyi<br />

sa¤lar ve bir grafik düzenleme<br />

yap›s› (graphical editing framework –<br />

GEF) sayesinde görsel sunumu yönetir.<br />

fiekil 2: WindowBuilder Pro ile basit<br />

bir Text Editor penceresi haz›rlamak<br />

çok kolay.<br />

46 HABER LINUX


derpro.com/" http://www.windowbuilderpro.com/<br />

adresine gidip sol taraftan<br />

downloads’u seçti¤iniz zaman karfl›n›za<br />

gelen sayfada Eclipse’inizin versiyonuna<br />

uygun olan WindowBuilder<br />

Pro’yu seçerek kullanmaya bafllayabilirsiniz.<br />

Yüklenmesi oldukça sade ve<br />

kolay, deneme versiyonu için yükleme<br />

s›ras›nda flifre sormas› halinde flifre<br />

kutucu¤unu bofl b›rakman›z yeterli.<br />

Bundan sonra, WindowBuilder Pro’ya<br />

kulland›¤›n›z Eclipse platformunun<br />

hangisi oldu¤unu göstermeniz gerekiyor.<br />

Birden fazla platformun haz›r olmas›<br />

durumunda ise hepsinde birden<br />

kullanmak da mümkün olmaktad›r.<br />

fiekil 3: WindowBuilder Pro ile haz›r<br />

gelen sade bir browser tasar›m›..<br />

Yükleme bittikten sonra kullanaca-<br />

¤›n›z container’a yeni bir “Simple SWT<br />

Browser” ya da “Simple SWT Text Editor”<br />

açarak deneme sürümü kullan›-<br />

m›n›za bafllayabilirsiniz.<br />

Bir WindowBuilder dosyas› aç›ld›¤›<br />

zaman sistem çubu¤unda otomatik<br />

olarak ikinci bir program beliriyor. Bu<br />

yard›mc› program kullan›c›n›n Eclipse<br />

platformunda çal›flmas›n› sürdürmesini<br />

engelleyecek bir özellik de¤il.<br />

Aç›kças›, çok sade ve basit bir arayüzü<br />

oldu¤u için kullan›ma dair söylenecek<br />

çok fazla birfley yok. Sa¤ taraftaki<br />

menülerden bir t›kla seçip, sürükleyip<br />

b›rakt›¤›n›z zaman WindowBuilder<br />

Pro sizin için gereken yerlefltirmeyi<br />

yap›yor. Bu basitlik sayesinde, WindowBuilder<br />

ve benzeri eklentiler Java<br />

komünitesi di¤er platformlarda var<br />

olan “Visual” programlar›n yerini tutuyorlar.<br />

ECLIPSE<br />

Visual Editor Project<br />

Visual Editor projesi, isminden de anlafl›laca¤›<br />

gibi GUI (Graphical User Interface)<br />

oluflturmak için kullan›lan bir<br />

araçt›r. Eclipse in di¤er kod gelifltirme<br />

ortamlar›yla karfl›laflt›r›ld›¤›nda görsel<br />

arayüz tasarlama konusunda eksiklikleri<br />

olmas› üzerine 2003 ekim ay›nda<br />

Visual Editor ad›nda GUI gelifltirebilmek<br />

için görsel bir araç oluflturma projesi<br />

bafllat›ld›, k›sa süre sonra da Java’da<br />

AWT/Swing uygulamalar›n›n<br />

oluflturulabilece¤i Visual Editor v0.5<br />

piyasaya sürüldü. Eclipse gibi Visual<br />

Editor’un kodlar› da IBM destekliydi ve<br />

Visual Editor v1.0 yine IBM taraf›ndan<br />

gelifltirilmifl olan SWT (Standart Widget<br />

Toolkit) teknolojisini de desteklemeye<br />

bafllad›.<br />

fiimdi Visual Editor un son sürümü<br />

olan Visual Editor v1.2 ile görsel uygulamalar›n<br />

nas›l gelifltirilebilece¤inden<br />

bahsedelim. Öncelikle program› ve<br />

program›n kurulumu için gerekli baz›<br />

dosyalar› indirmeliyiz. Aç›k kaynak<br />

olan Visual Editor’u indirmek için eclipse<br />

in kendi sitesindeki bölümünü<br />

kullanabiliriz: http://www.eclipse.org/vep/WebContent/main.php<br />

Bu sitede de anlat›ld›¤› gibi Visual<br />

Editor v1.2 ‘nin düzgün çal›flmas› için<br />

bilgisayar›m›zda Eclipse SDK 3.2,<br />

EMF(Eclipse Modeling Framework) build<br />

2.2.0 ve GEF(Graphical Editing Framework)<br />

build 3.2 kurulu olmal›d›r. Bu<br />

eklentileri yine Eclipse’in sitesinden<br />

bulabiliriz.<br />

‹ndirdi¤imiz GEF-runtime-3.2.zip<br />

ve emf-sdo-runtime-2.2.0.zip dosyalar›n›<br />

bilgisayar›n›zdaki Eclipse klasörü’nün<br />

(örne¤in C:\eclipse-SDK-3.2-<br />

win32) içine unzip etti¤inizde (açt›¤›-<br />

n›zda) C:\eclipse-SDK-3.2-win32\eclipse\plugins<br />

ve C:\eclipse-SDK-3.2-<br />

win32\eclipse\features klasörlerine<br />

yeni dosyalar eklenecektir. VE-runtime-1.2.zip<br />

dosyas›n› da ayn› flekilde<br />

unzip ederek Visual Editor v1.2 nin kurulumunu<br />

gerçeklefltirmifl oluyoruz.<br />

‹ndirdi¤imiz VE-runtime-1.2.zip dosyas›<br />

normal Visual Editor kurulumu ve<br />

uygulamas› için gerekli olan dosyad›r.<br />

fiekil 4: Find and Install<br />

Bunun haricinde VE-SDK-1.2.zip ile<br />

kaynak kodu ve dokümantasyon veya<br />

VE-examples-1.2.zip dosyas› ile bas›<br />

örnek dosyalar› indirilebilir.<br />

Bunlar›n d›fl›nda Visual Editor veya<br />

baflka eklentileri kurmak için Eclipse<br />

program›nda Help->Software Updates-<br />

>Find and Install bölümünü de kullanabiliriz.<br />

(fiekil 4)<br />

Burada karfl›m›za ç›kacak olan ekranda<br />

Search for new features to install’›<br />

seçerek karfl›m›za ç›kacak olan<br />

ekranda New Remote Site dü¤mesine<br />

t›klayal›m.(fiekil 5)<br />

fiekil 5: Install<br />

New Remote Site dü¤mesine bas›nca<br />

karfl›m›za küçük bir New Update<br />

Site penceresi aç›lacak, burada isim<br />

olarak VE url olarak http://update.eclipse.org/tools/ve/updates/1.0<br />

yazal›m.<br />

Ayn› ifllemi isim:EMF, url:<br />

http://update.eclipse.org/tools/emf/updates<br />

ve isim: Old Eclipse<br />

,url :http://update.eclipse.org/updates/3.0<br />

için de gerçeklefltirelim ve Finish’<br />

e t›klayal›m. Mirror site seçimlerini<br />

yapt›ktan sonra, karfl›m›za ç›kacak<br />

yeni bir pencerede yüklemek istedi¤imiz<br />

özellikleri seçebilece¤iz(fiekil<br />

6).<br />

fiekil 6: Updates<br />

Bu yeni ekranda:<br />

• VE->VE->Visual Editor SDK 1.1.0.1<br />

• EMF->EMF SDK 2.1.2->EMF SDK 2.1.2<br />

HABER LINUX 47


• Old Eclipse->GEF 3.1.1->Graphical<br />

Editing Framework 3.1.1<br />

Seçerek, lisanslar› kabul ettikten<br />

sonra Visual Editor v1.2 kurulumunu<br />

gerçeklefltirmifl oluyoruz.<br />

Program› kurduktan sonra Eclipse’i<br />

bafltan bafllatal›m. Art›k bir proje luflturdu¤umuzda,<br />

ekran›n sol taraf›nda<br />

bulunan Package Explorer’da projenin<br />

ismine sa¤ t›klad›¤›m›zda, New->Visual<br />

Class opsiyonu ç›kacakt›r(fiekil 7). Bu<br />

opsiyon ile GUI tasarlayabilece¤imiz<br />

görsel destekli yeni bir class yarat›lacakt›r.<br />

fiekil 7: New-> visual class<br />

Yeni Visual Class’›m›z› olufltururken<br />

dikkat edece¤imiz temel fleyler<br />

vard›r, Öncelikle New Java Visual<br />

Class (Fig 5) ekran›nda istedi¤imiz java<br />

teknolojisini seçmeliyiz. Grafik arayüzler<br />

için genelde Swing, AWT veya<br />

SWT teknolojileri kullan›lmaktad›r.<br />

Bunlar›n birinden Frame’i seçip dosyam›z›n<br />

ismini belirleyip ve public static<br />

void main(String[] args) checkbox unu<br />

iflaretledi¤imizde, yeni bir visual class<br />

yaratmak için haz›r›z demektir, Finish’e<br />

t›klayarak bunu gerçeklefltirebiliriz.<br />

fiekil 8: New Java Visual Class<br />

Art›k GUI gelifltirmek için kullanaca¤›m›z<br />

Visual Editor ‘un grafik arayüzü<br />

ekran›m›zda bulunmaktad›r. Fig 6,<br />

bize Javax.swing.frame kullan›larak<br />

yeni oluflturulmufl bofl bir visual class<br />

örne¤i göstermektedir.<br />

fiekil 9: visual.java<br />

fiimdi bu ekranda, yanda palette<br />

k›sm›ndan istedi¤imiz eleman› seçip<br />

oluflturdu¤umuz Jframe içine atabiliriz.<br />

Afla¤›da properties bölümünden de<br />

ekledi¤imiz her eleman›n özelliklerini<br />

görüp, gerekli de¤ifliklikleri yapabiliriz.<br />

Örne¤in JFrame oluflturuldu¤unda bir<br />

de içine elemanlar› yerlefltirece¤imiz<br />

JPanel oluflturulmufltur bu JPanel’properties’inde<br />

layout sekmesini<br />

BorderLayout yerine null yaparsak,<br />

ekledi¤imiz her eleman›n boyunu, yerini,<br />

BorderLayout’un bize sundu¤u<br />

Center, South,West.. gibi ayarlanmak<br />

yerine ekran›n piksellerine göre istedi-<br />

¤imiz yer ve büyüklükte ayarlayabiliriz.<br />

Sonuç olarak bu aç›k kaynak program<br />

Eclipse’i de di¤er GUI gelifltiriciler<br />

gibi kullanmam›z› sa¤layarak bize Java’n›n<br />

Swing,AWT ve hatta özellikle<br />

Eclipse’in kulland›¤› SWT teknolojilerini<br />

destekleyerek Eclipse’in grafik arayüz<br />

gelifltirme konusunda eksiklerini<br />

kapatm›fl, ve herkes için grafik konusunda<br />

gayet kullan›fll› bir programd›r.<br />

CDT<br />

CDT Projesi, Eclipse platformunda,<br />

C/C++ kullan›m›n› mümkün k›lmak için,<br />

piyasadaki di¤er compilerlar›n tüm<br />

özelliklerine sahip bir C/C++ IDE'si (<br />

Integrated Development Environment<br />

– Bütünlefltirilmifl Gelifltirme Ortam› )<br />

yarat›lmas›n› amaçlayan bir projedir.<br />

‹smi C/C++ Developpement Tool'un<br />

bafl harflerinden oluflturulmufltur. En<br />

son olarak 3.1 versiyonu ç›kart›lan<br />

CDT, hem Eclipse hem de Callisto ile<br />

uyumludur. CDT projesi bir aç›k kaynak<br />

projesi olup, CPL ( Common Public<br />

License ) alt›nda lisanslanm›flt›r.<br />

CDT, iflletim sistemlerinden ba¤›ms›zd›r;<br />

Eclipse'in çal›flt›¤› bütün platformlarda<br />

çal›flabilir. Bu konudaki tek<br />

istisnalar CDT'nin güncel sürümünün<br />

çal›flmad›¤› Windows 98 ve Windows<br />

ME iflletim sistemleridir.<br />

CDT'nin oldukça kolay bir yüklenme<br />

yöntemi vard›r. Eclipse'in ana ekran›<br />

geldi¤inde, Help menüsünden<br />

Software Updates > Find and Install...<br />

seçene¤ini seçin. Gelen pencerede Search<br />

for new Features to Install seçene¤ini<br />

seçtikten sonra Next'e bas›n.<br />

Yeni pencerede sa¤daki New Remote<br />

Site seçene¤ini seçip aç›lan pencerenin<br />

Name k›sm›na uygun bir isim, URL<br />

k›sm›na ise "http://download.eclipse.org/tools/cdt/releases/eclipse3.1"http://download.eclipse.org/tools/cdt/releases/eclipse3.1<br />

adresini<br />

girin. Finish tufluna basarak ifllemi sonland›r›n.<br />

Bundan sonra karfl›n›za eklentiyi<br />

indirmek için kullanabilece¤iniz sunucular›n<br />

listesini veren bir pencere ile<br />

karfl›laflacaks›n›z. Bu pencereden size<br />

uygun olan bir sunucuyu seçin. Sunucu<br />

seçim ekran›ndaki sunucular bulunduklar›<br />

ülkelere göre s›ralanm›flt›r. Sunucu<br />

seçiminden sonra karfl›n›za Arama<br />

Sonuçlar› ( Search Results ) ç›kacakt›r.<br />

Bu ekranda eklemek istedi¤iniz<br />

paket ya da paketleri seçebilirsiniz. ‹stedi¤iniz<br />

paketleri seçtikten sonra<br />

Next tufluna bas›p, gelen ekrandaki<br />

kullan›c› anlaflmas›n› onaylad›ktan<br />

sonra son ekrandaki eklenti paketinin<br />

yüklenme yerini de onaylad›ktan sonra<br />

Finish tufluna basarak yüklemeyi tamamlayabilirsiniz.<br />

Alternatif olarak CDT, http://fullmoon.torolab.ibm.com/tools/cdt/releases/callisto/dist/3.1.0/<br />

adresinden<br />

s›k›flt›r›lm›fl bir dosya olarak indirilebilir.<br />

Bu adreste CDT'nin iki farkl› versiyonu<br />

bulunmaktad›r:<br />

1. CDT Runtime Feature ad› alt›nda<br />

bulunan standart pakette Eclipse'i<br />

kullanarak C/C++ dillerinde program<br />

yazmak için gerekli bütün aletler<br />

( editör , kod arama motoru , gerekli<br />

“builder”lar, debug arayüzü<br />

ve debug , build ifllemleri için gerekli<br />

olan GNU programlar,...) ve<br />

kullan›c›ya yard›mc› olmak için konulmufl<br />

gerekli belgeler bulunmaktad›r.<br />

2. Ayn› adreste bulunan ikinci paket<br />

ise CDT – SDK Feature ad› alt›nda<br />

sunulan pakettir. Bu paket, CDT'nin<br />

gelifltirilmesine yard›mc› olmak isteyenler<br />

için gerekli olan CDT kay-<br />

48 HABER LINUX


nak kodlar›n› içermektedir.<br />

Kurulum aflamas›ndan sonra, CDT<br />

paketi Eclipse taraf›ndan otomatik<br />

olarak alg›lan›r.<br />

C/C++ Proje örnekleri<br />

Örnek olarak basit bir C++ projesi yaratal›m.<br />

Her programc›n›n ilk program›<br />

olan “Merhaba Dünya” program›:<br />

Program›m›z› yazmadan önce, belirtmemiz<br />

gereken bir fley var: C/C++<br />

projeleri için “Build Automatically” seçene¤i<br />

kapat›lmal›d›r. E¤er bu seçenek<br />

aç›ksa Eclipse, program›n›z› her kay›t<br />

etti¤inizde otomatik olarak build etmeyi<br />

deneyecektir. Bunu yapmak için<br />

menü bar›ndaki Projects sektesindeki<br />

Build Automatically seçene¤inin seçili<br />

olmad›¤›ndan emin olun.<br />

fiekil 10:<br />

Daha sonra sa¤ taraftaki projeler<br />

bar›na sa¤ t›klay›p New Project...'i seçin.<br />

Aç›lan pencere de C++'a t›k'lay›n<br />

ve alt›ndaki Managed Make C++ Project'i<br />

seçin. Proje için bir isim verdikten<br />

sonra Finish'i seçin.<br />

Sa¤ taraftaki projeler bar›nda yeni<br />

ç›kan projemizin üzerine sa¤ t›klay›n<br />

ve aç›lan menüden New > Simple > File<br />

seçeneklerini seçin. Yeni dosyan›z›n<br />

ad› örne¤imizde merhaba. cpp.’dir.<br />

Yeni aç›lan dosyaya afla¤›daki s a -<br />

t›rlar› yaz›n:<br />

#include <br />

int main()<br />

{<br />

printf("Merhaba\n");<br />

fgetc(stdin);<br />

return 0;<br />

}<br />

Dosyay› kay›t edip çal›flt›r›rsan›z<br />

Eclipse'te ilk C++ program›n›z› yazm›fl<br />

olacaks›n›z.<br />

E¤er projemizi yarat›rken Managed<br />

C++ Project seçene¤ini seçmeseydik,<br />

Simple C++ Project seçene¤ini kullansayd›k,<br />

o zaman projenin makefile'›n›<br />

da kendimize göre ayarlamam›z gerekecekti.<br />

Bu seçenekte Managed C++<br />

Project seçene¤indeki bütün ad›mlar›<br />

yapt›ktan sonra ayr›ca afla¤›daki ad›mlar›<br />

da yap›yoruz :<br />

Afla¤›daki kodlar› makefile dosyas›-<br />

na ekliyoruz.<br />

merhaba.exe : merhaba.o<br />

g++ -o merhaba.exe merhaba.o<br />

merhaba.o : merhaba.cpp<br />

g++ -c merhaba.cpp<br />

all : merhaba.exe<br />

clean :<br />

-rm merhaba.exe merhaba.o<br />

fiekil 11:<br />

Eski C/C++ projelerinin<br />

Eclipse platformuna<br />

tafl›nmas›<br />

Eclipse'e al›flt›ktan sonra büyük olas›-<br />

l›kla eski C/C++ projelerinizi Eclipse<br />

ortam›na tafl›mak isteyeceksiniz. CDT,<br />

eski projelerin Eclipse ortam›na tafl›nmas›<br />

için kolay bir yol sunmaktad›r.<br />

Afla¤›da bulunan örnekte Standard<br />

Make kullanan bir projenin eclipse ortam›na<br />

tafl›nmas›n› görebiliriz.<br />

‹lk olarak File > New > Project. Seçene¤iyle<br />

Proje Yaratma Sihirbaz›n›<br />

aç›yoruz.(fiekil 11)<br />

Bu ekran da örne¤imiz de kullanaca¤›m›z<br />

proje tipini seçiyoruz. Biz örne¤imizde<br />

Standard Make C++ Project<br />

kullanaca¤›z. Bu tip bir C++ projesi,<br />

projeye ait makefile dosyas›n›n Eclipse<br />

aktard›¤›m›z dosyalardan biri oldu-<br />

¤unu durumlarda kullan›l›r. E¤er projenin<br />

makefile'› yoksa o zaman Managed<br />

Make C++ Project'i seçecektik. O durumda<br />

Eclipse, projemiz için gerekli<br />

olan makefile dosyas›n› kendisi yaratacakt›.<br />

Bir sonraki ekranda projemizin ismini<br />

ve dosyalar›n sakland›¤› yeri belirtece¤iz.<br />

Projemizin dosyalar›n› Eclipse'e<br />

tan›tabilmek için Use Default<br />

Location seçene¤ini kald›r›yoruz ve<br />

aç›lan bölmeye projemize ait dosyalar›n<br />

bulundu¤u klasör'ün yerini yaz›yoruz.<br />

(fiekil 12)<br />

fiekil 12:<br />

Next seçene¤ini seçip bir sonraki<br />

ekrana geliyoruz, burada ilk olarak Make<br />

Builder sekmesini seçiyoruz. E¤er<br />

bilgisayar›n›z build komutu make'den<br />

farkl›ysa o zaman bu ekrandaki Build<br />

Command alan›na o komutu yazman›z<br />

gerekiyor(fiekil 13). Bu ayar› da yapt›ktan<br />

sonra Finish'e basarak projemizi<br />

Eclipse aktarmay› bitiriyoruz. Projeniz<br />

Eclipse Platformunun<br />

ana ekran›nda sa¤da<br />

bulunan projelerim<br />

penceresinde ortaya<br />

ç›kacakt›r.<br />

Yazarlar:<br />

Umur Aksel<br />

Mert Dirim<br />

Yalç›n Özsoy<br />

Murat Y›lmaz<br />

HABER LINUX 49


PHP ile 3 boyutlu<br />

görüntüler haz›rlay›n<br />

50 HABER LINUX


Üç boyutlu grafiklerin dinamik olarak<br />

oluflturulmas›yla ilgilenen PHP programc›lar›n<br />

bu makaleyi dikkatle okuyaca¤›na eminiz.<br />

Art›k ifl uygulamalar›n› ve veri raporlar›n›,<br />

kolayca haz›rlanan pasta grafikler ekleyerek<br />

zenginlefltirebilirsiniz.<br />

Mike Brittain (mike@mikebrittain.com), Teknoloji Yöneticisi, ID Society<br />

Bafllang›çta Web gelifltirme amaçl›<br />

olarak tasarlanm›fl bir dil olan PHP,<br />

y›llard›r dinamik Web sitelerini ve<br />

veritaban› uygulamalar›n› yönetmek<br />

için kullan›lm›flt›r. PEAR'›n<br />

(PHP Extension and Application Repository)<br />

arac›l›¤›yla bu dilde yap›-<br />

lan geniflletmeler, gelifltiricilere dili<br />

yeni ve ilginç yönlere tafl›ma olana-<br />

¤› tan›d›. PEAR'›n Image_3D paketi,<br />

üç boyutlu (3-D) grafiklerin PNG ve<br />

SVG gibi modern Web taray›c›lar›nda<br />

giderek daha çok desteklenen iki<br />

görüntü biçimi dahil, çeflitli biçimlerde<br />

yarat›lmas› için kullan›labilecek<br />

nesne odakl› bir arabirimdir.<br />

Image_3D paketini nas›l kullanaca-<br />

¤›n›za iliflkin bilgi edinin, dinamik 3<br />

boyutlu görüntülerin kullan›lmas›ndaki<br />

s›n›rlar› ö¤renin ve 3 boyutlu<br />

grafiklerin pratik uygulamalar›n›<br />

görün.<br />

Bafllamadan önce<br />

Bu e¤itici yaz›, 3 boyutlu grafiklerin<br />

dinamik olarak oluflturulmas›yla ilgilenen<br />

PHP programc›lar› içindir.<br />

Görüntüler s›f›rdan yarat›labilir, bir<br />

alanda X, Y, ve Z koordinatlar›na<br />

göre konumland›r›lm›fl ›fl›k kaynaklar›ndan<br />

ve nesnelerden oluflturulabilir.<br />

3-D Studio Max kullanmada deneyimli<br />

olan programc›lar nesnelerin<br />

3DS dosyalar›ndan PHP oluflturmalar›na<br />

nas›l aktar›laca¤›n› anlayacaklard›r.<br />

Parametrik denklemlerle<br />

tan›mlanan karmafl›k yüzeyler<br />

Image_3D kullan›larak kolayca efllenebilir.<br />

Sonuçta, ifl uygulamalar› ve<br />

veri raporlar›, kolayca haz›rlanan<br />

pasta grafikler eklenerek zenginlefltirilebilir.<br />

Bu e¤itici yaz› hakk›nda<br />

Image_3D, 3 boyutlu görüntülerin<br />

oluflturulmas›nda kullan›lan nesne<br />

odakl› bir arabirimdir. Nesneler ve<br />

›fl›klar X, Y ve Z koordinatlar›na göre,<br />

3 boyutlu alanda konumland›r›-<br />

l›r. Sonra görüntüler 2 boyutlu alana<br />

dönüfltürülür ve PNG, SVG olarak<br />

depolanabilir ya da kabu¤a<br />

(shell) ç›k›fllar› al›nabilir (ANSI kabuklar›nda<br />

kullan›lmak üzere). Paket,<br />

küpler, koniler, küreler, metin<br />

ve pasta grafikler gibi bir dizi basit<br />

3 boyutlu nesneyi kolayca oluflturmak<br />

için kullan›labilir. Ayr›ca, 3-D<br />

Studio Max'de oluflturulmufl nesneleri<br />

içe aktarma ve de¤ifltirme deste¤i<br />

de vard›r. 3 boyutlu alanlardan<br />

iyi anlayan gelifltiriciler, ilginç nesneler<br />

oluflturmak için özellefltirilmifl<br />

poligram ve yüzey efllemlerinden<br />

yararlanabilirler.<br />

Bu e¤itici yaz›n›n ilk yar›s›nda, 3<br />

boyutlu görüntü dosyalar› oluflturmak<br />

için komut sat›r› PHP komut<br />

dosyalar›n›n nas›l kullan›laca¤› gösterilmektedir.<br />

Renkler ve ›fl›klarla<br />

temel bir 3 boyutlu alan oluflturulduktan<br />

sonra, her bir eflsiz 3 boyutlu<br />

nesne tipinin yan› s›ra, ç›k›fl dosyas›<br />

biçimlerinin her biri de incelenmektedir.<br />

‹kinci yar›da ise bu temel<br />

örneklerin kullan›fll› uygulamalara<br />

nas›l dönüfltürülece¤i tart›fl›l›r. 3<br />

boyutlu görüntülerin oluflturulmas›nda<br />

ifllemci yo¤un olarak kullan›-<br />

l›r, bu nedenle, dinamik olarak oluflturulmufl<br />

görüntüleri Web sunucular›n›z›<br />

çökertmeden Web'e tafl›mak<br />

HABER LINUX 51


amac›yla bu sorun için bir çözüm bulmal›s›n›z.<br />

Image_3D paketi yaln›zca<br />

statik görüntü biçimlerini destekler,<br />

bu nedenle, 3 boyutlu alanlar› canland›rmak<br />

için basit bir JavaScript çözümü<br />

oluflturacaks›n›z. Sonuçta da, veri<br />

raporlar›n›n ifl uygulamalar› ile bütünlefltirilebilen<br />

renkli pasta grafikler biçiminde<br />

görüntülenmesi için bir PHP s›-<br />

n›f› yazacaks›n›z.<br />

Sistem gereksinimleri<br />

Devam etmek için afla¤›daki yaz›l›m ve<br />

araçlar gereklidir:<br />

PHP V5<br />

Image_3D paketi, PHP V5 nesne ve s›-<br />

n›f sözdizimi kullan›larak yaz›l›r.<br />

Image_3D<br />

PEAR paketinin kurulmas› gerekir. Genelde,<br />

makinenize kök (ya da yönetici)<br />

olarak erifliminiz varsa, Image_3D'yi<br />

kurman›z kolay olur. Image_3D alfa sürümde<br />

oldu¤u için, PEAR kuruluflu paketin<br />

"sabit" olmad›¤›n› belirtebilir.<br />

Kuruluflu uygulamak için -f seçene¤ini<br />

kullan›n:<br />

pear install -f Image_3D<br />

GD<br />

Bu grafik kitapl›¤›, PNG dosyalar›n›n<br />

ç›kt›s›n›n al›nmas› için gereklidir. Asl›-<br />

na bak›l›rsa, GD yoksa, Image_3D'den<br />

di¤er dosya tipleri de oluflturulabilir.<br />

PHP V4.3 itibariyle, GD kitapl›¤›n›n bir<br />

sürümü yeni PHP kurulufllar›yla birlikte<br />

gönderilir. Büyük olas›l›kla, PHP'yi<br />

yeniden derlemekle u¤raflman›z gerekmez.<br />

Mevcut PHP kuruluflunuzda<br />

GD'nin etkinlefltirilip etkinlefltirilmedi-<br />

¤ini görmek için phpinfo()'yu kullanabilirsiniz.<br />

Web sunucusu<br />

Bu e¤itici yaz›n›n ikinci yar›s›ndaki örnekler<br />

Web sitesinde kullan›lmak üzere<br />

oluflturulabilir. Haz›rda bir Web sunucunuz<br />

yoksa, Apache'nin aç›k kaynak<br />

Web sunucusu ve IBM HTTP Server,<br />

kullanabilece¤iniz iki uygun seçenektir.<br />

SVG viewer<br />

SVG dosyalar›, yerel SVG deste¤i içeren<br />

Mozilla Firefox V1.5 ürününde görüntülenebilir.<br />

Internet Explorer kullan›c›lar›,<br />

Adobe SVG eklentisini yükleyerek<br />

taray›c›lar›na SVG deste¤i ekleyebilirler.<br />

Önkoflullar<br />

Image_3D'nin arabiriminin tamam›<br />

nesne odakl› oldu¤u için, bu e¤itici yaz›da,<br />

nesnelere ve s›n›flara iliflkin en<br />

az›ndan temel bilgilere sahip olundu¤u<br />

varsay›l›r. Bu e¤itici yaz›n›n ilk yar›s›nda<br />

gösterilen komut sat›r› PHP örneklerini<br />

yürütmek için Linux® kabuk hesab›na<br />

ya da bir Windows® komut istemine<br />

eriflim gerekir. Temel düzeyde<br />

JavaScript deneyimi de gereklidir.<br />

Alan›n›z›n düzenlenmesi<br />

Ço¤u PHP gelifltiricisinin 2 boyutlu<br />

grafiklerden az da olsa anlad›¤›n› söylemek<br />

yanl›fl olmaz. Büyük olas›l›kla<br />

ço¤u, Adobe Photoshop, Corel Paint<br />

Shop Pro, GIMP ya da baflka bir program<br />

kullanarak en az›ndan birkaç temel<br />

grafik oluflturmufltur. Önce, 3 boyutlu<br />

bir alan›n ya da dünyan›n al›fl›ld›k<br />

2 boyutlu tuvalle karfl›l›kl› olarak nas›l<br />

iliflkilendirilebilece¤ini tart›flarak bafllayal›m.<br />

Ayr›ca, ›fl›klar, renkler ve dönüflümler<br />

gibi 3 boyutlu görüntülerinizi<br />

tasarlaman›za yard›m› olacak araçlar›<br />

da inceleyeceksiniz.<br />

Bafllarken<br />

S›radan grafik programlar›, bit efllemi<br />

görüntülerken X ve Y eksenleriyle çal›-<br />

fl›r. Her bir piksel bu eksenlerde yerlefltirilir.<br />

Bafllang›ç noktas› (X=0, Y=0),<br />

üst sol köflededir. 30, 20 koordinatlar›ndaki<br />

bir piksel, bafllang›ç noktas›n›n<br />

30 birim (genelde pikseldir) sa¤›nda,<br />

20 birim de alt›ndad›r.<br />

3 boyutlu alan›n›zda çal›fl›rken,<br />

bafllang›ç noktas› alan›n köflesinden<br />

çok, merkezini simgeler. Üçüncü eksen,<br />

Z, X ve Y eksenlerine karfl›l›kl› olarak<br />

diktir. Z ekseninin pozitif yönünü<br />

bilgisayar›n›z›n ekran›n›n içine do¤ru<br />

olarak düflünün. Negatif yön, ekrandan<br />

uza¤a do¤ru olacakt›r. fiekil 1 içinde<br />

her bir eksenin yönü gösterilir.<br />

fiekil 1. 3 boyutlu<br />

koordinat sistemi<br />

Koordinat sisteminde 3 boyutlu<br />

nesneler olufltururken, her bir nesnenin<br />

ya da noktan›n bafllang›ç noktas›na<br />

olan uzakl›¤›, negatif ya da pozitif birim<br />

olarak ölçülür.<br />

3 boyutlu araç tak›m›n›z<br />

3 boyutlu alan›n›za yerlefltirdi¤iniz her<br />

bir nesne için (koniler, küreler, vb.)<br />

PHP nesneleri oluflturacaks›n›z. Ayr›-<br />

ca, bu alan içindeki ›fl›k kaynaklar›n›<br />

simgeleyen PHP nesneleri de oluflturacaks›n›z.<br />

Renkli nesneler her bir flekli<br />

ya da ›fl›k kayna¤›n› de¤ifltirmekte kullan›l›r<br />

ve bir nesnenin alfa fleffafl›¤›n›<br />

ayarlamakta da kullan›labilir. Her bir<br />

nesnenin boyutunu, dönüflünü, konumunu<br />

dönüfltürürken ya da hatta alan›n<br />

bütününü dönüfltürürken matris<br />

nesneleri oluflturulur.<br />

‹lk dünyan›z›n oluflturulmas›<br />

‹lk görüntünüz, Image_3D ile oluflturulan<br />

herhangi bir görüntü için gerekli<br />

olan tüm temel ö¤eleri içerir. Bu örnekten,<br />

paketteki tüm temel nesneleri<br />

h›zla inceleyebilecek do¤ru alana ve<br />

›fl›¤a sahip olacaks›n›z.<br />

Koniler<br />

Bu ilk örne¤in amac›, beyaz bir artalanda<br />

›fl›kland›r›lm›fl koni fleklinde bir<br />

nesne yarat›lmas›d›r. Sonuçta ortaya<br />

ç›kan alan, 400x400 piksellik bir görüntüye<br />

dönüfltürülecektir.<br />

Oluflturdu¤unuz her görüntü,<br />

$world olarak adland›raca¤›n›z yeni bir<br />

Image_3D nesnesi oluflturularak bafllar.<br />

Alan›n artalan rengi, Image_3D_Color<br />

nesnesi oluflturularak<br />

ayarlan›r. Bu nesnenin yap›c›s›n›n üç<br />

parametresi, oluflturmak istedi¤iniz<br />

rengin RGB de¤erleridir.<br />

Alanda iki adet Image_3D_Light<br />

nesnesi oluflturursunuz. Mavi bir ›fl›k<br />

olan ilkinin, bafllang›ç noktas›n›n soluna,<br />

ekran›n düzleminden uza¤a yerlefltirildi¤ini<br />

düflünün. ‹kincisi de bafllang›ç<br />

noktas›n›n üst sa¤ köflesine, yine<br />

ekrandan uza¤a yerlefltirilsin. Bu nesne,<br />

yeflil olsun.<br />

Sonra, alana bir koni yerlefltirilsin.<br />

Bu nesneye atad›¤›n›z rengin beyaz oldu¤una<br />

dikkat edin. Böylece, nesne<br />

alana yerlefltirdi¤iniz iki ›fl›¤›n rengini<br />

al›r. Bu yöntem, farkl› renklere sahip<br />

bir nesnenin karfl›t yönlerini vurgulamak<br />

için en iyi yöntemdir.<br />

52 HABER LINUX


Liste 1. 3 boyutlu alanda bir koni oluflturulmas›<br />

setColor(new Image_3D_Color(255, 255, 255));<br />

// A blue light from the left<br />

$light1 = $world->createLight(-300, 0, -300);<br />

$light1->setColor(new Image_3D_Color(100, 100, 255));<br />

// A green light from the upper-right<br />

$light2 = $world->createLight(300, -300, -300);<br />

$light2->setColor(new Image_3D_Color(100, 255, 100));<br />

// Build the cone object<br />

$cone = $world->createObject('cone', array('detail' => 64));<br />

$cone->setColor(new Image_3D_Color(255, 255, 255));<br />

$cone->transform($world->createMatrix\<br />

('scale', array(70, 220, 70)));<br />

$cone->transform($world->createMatrix('rotation',<br />

array(-45, -120, -10)));<br />

$cone->transform($world->createMatrix\<br />

('move', array(-50, -30, 10)));<br />

// Render and save the 2-D image<br />

$world->createRenderer('perspectively');<br />

$world->createDriver('gd');<br />

$world->render(400, 400, 'object.png');<br />

><br />

Koniye üç dönüflüm uygulan›r. Önce,<br />

nesnenin ölçe¤i yükseltilir. Koni<br />

nesnesi, oluflturulurken boyutu atanmayan<br />

tek nesnedir. Temelde 1x1x1 boyutlar›nda<br />

bir alanda oluflturulur ve<br />

boyutlar›n›n yeniden belirlenmesi gerekir.<br />

Sonra, koniyi, ›fl›¤› iyi olarak yakalayabilmesi<br />

için döndürün. Bu, biraz<br />

deneme yan›lma sürecidir. Ard›ndan,<br />

koniyi tafl›yarak görüntünün ortas›na<br />

yerlefltirin.<br />

Komut dosyan›z›n son ad›m›, 3 boyutlu<br />

alan›n 2 boyutluya dönüfltürülmesidir.<br />

Örneklerin tümünde "perspectively"<br />

(perspektif olarak) dönüfltürme<br />

motoru kullanacaks›n›z (di¤er<br />

seçenek, "isometric"dir (eflit ölçekte)).<br />

PNG görüntüsünü oluflturacak<br />

olan gd ç›k›fl sürücüsü seçilir. Görüntünün<br />

boyutunu 400x400 piksel olarak<br />

seçin; görüntü, flu dosya ad› ile kaydedilecektir:<br />

object.png.<br />

Görüntüyü oluflturmak için, komut<br />

dosyas› komut sat›r›ndan çal›flt›r›lmal›-<br />

d›r:<br />

php -f build_cone.php<br />

Oluflturulan görüntü dosyas› afla¤›-<br />

da gösterildi¤i gibi görünmelidir:<br />

fiekil 2. Image_3D paketi kullan›larak<br />

oluflturulmufl 3 boyutlu koni<br />

Ayr›nt›lar›n denetlenmesi<br />

ve gerçekleme (rendering)<br />

süresi<br />

Verdi¤im örne¤in yeterince aç›klay›-<br />

c› oldu¤unu umar›m. Image_3D ile<br />

birlikte gönderilen di¤er yerleflik<br />

nesne tiplerini göstermek için birkaç<br />

ek örnekte de ayn› alan›, ›fl›kland›rmay›<br />

ve gerçeklemeyi kullanacaks›-<br />

n›z.<br />

Devam etmeden önce, ilk komut<br />

dosyan›zla ilgili belirtmemiz gereken<br />

iki nokta var. Koni nesnesini örnekle<br />

desteklerken, ikinci ba¤›ms›z<br />

de¤iflken olarak bir dizilimi [array('detail'<br />

=> 64)] geçirdiniz ; bu dizilim,<br />

koniyi oluflturmak için kullan›-<br />

lan çokgenlerin say›s›n› belirler. Bu<br />

çokgenlerin say›s›n›n az olmas›, görüntünün<br />

daha aç›l› olmas›na neden<br />

olurken, bu say›n›n yüksek olmas›<br />

görüntünün yüzeyini düzgünlefltirir<br />

(bkz. fiekil 3).<br />

fiekil 3. 3 boyutlu konilerde<br />

farkl› ayr›nt›<br />

düzeyleri. Gösterilen<br />

ayr›nt› düzeyleri 8,<br />

16, 32 ve 64'tür<br />

Ayr›nt› düzeyi yükseldikçe, Image_3D'nin<br />

görüntüyü oluflturmas› o<br />

kadar uzun sürer. Konilerin oluflturulmas›<br />

oldukça basittir, bu nedenle<br />

etkisi korkunç de¤ildir. Kürelere ve<br />

daha karmafl›k flekillere geçti¤inizde,<br />

gerçekleme h›z›n›n kolayca denetiminizden<br />

ç›kabilece¤ini göreceksiniz.<br />

Görüntünün nas›l oluflturuldu¤una<br />

iliflkin bilgi sa¤layacak olan Image_3D<br />

nesnesi için yerleflik bir istatistik<br />

yöntemi vard›r. Afla¤›daki sat›-<br />

r› bir önceki komut sat›r›n›n sonuna<br />

koyun.<br />

echo $world->stats();<br />

Komut dosyas› yeniden çal›flt›r›ld›¤›nda,<br />

Liste 2 içindeki ç›k›fl görüntülenmelidir.<br />

Liste 2. Koni nesnesinin oluflturulmas›<br />

için istatistikler<br />

Image 3D<br />

Objects: 1<br />

Lights: 2<br />

Polygons: 130<br />

Points: 67<br />

Bu basit ayr›nt›lar bir yana, komutlar›n›z<br />

daha ayr›nt›l› 3 boyutlu görüntüler<br />

oluflturdukça, komut dosyalar›n›-<br />

z›n yürütülme süresini ölçmek için PE-<br />

AR::Benchmark paketini kullanmay›<br />

düflünebilirsiniz (bkz Kaynaklar).<br />

Ifl›k kaynaklar› ve renk<br />

Renk ya da ›fl›k olmazsa, 3 boyutlu alan›n›zda<br />

nesneleri göremezsiniz. fiimdi<br />

HABER LINUX 53


de, yaratt›¤›n›z nesneleri görmemize<br />

olanak sa¤layan bu iki önemli ö¤eyi inceleyelim.<br />

Ifl›klar›n aç›lmas›<br />

Yukar›daki örnekteki koninin rengini<br />

k›rm›z›ya (255, 0, 0) ayarlayacak ve<br />

iki ›fl›k kayna¤›n› kald›racak olsayd›n›z,<br />

sonuçta ortaya ç›kan görüntü, beyaz<br />

artalanda siyah bir koni gösterirdi.<br />

Üzerinde bir ›fl›k kayna¤› parlamad›kça,<br />

koninin k›rm›z› yüzeyi ortaya ç›kmaz.<br />

Bu sorunu, en az bir adet ›fl›k kayna¤›<br />

ekleyerek çözebilirsiniz. Ifl›¤›n<br />

rengini en ortaya ç›karan beyaz ›fl›kt›r,<br />

bu nedenle ›fl›¤›n beyaz olmas› en uygunudur.<br />

Tek bir ›fl›k kayna¤›, alan›n›zdaki<br />

nesnenin ya da nesnelerin yaln›zca tek<br />

bir yan›n› ayd›nlatacakt›r. Karfl› tarafa<br />

baflka bir ›fl›k kayna¤› eklemeniz nesneleri<br />

daha da görünür k›lar. ‹ki beyaz<br />

›fl›k kullan›rsan›z, bunlar nesneye pek<br />

bir kiflilik katmaz, çünkü karfl›t aç›lar<br />

yaln›zca nesnenin renginin de¤iflik<br />

tonlar›n› yans›t›r.<br />

Önceden de tart›fl›ld›¤› gibi, bunun<br />

yerine, bu örneklerde beyaz renkli<br />

nesneler oluflturup onlar› renkli ›fl›klarla<br />

ayd›nlatacaks›n›z. Bu, her bir nesnenin<br />

özelliklerini ortaya ç›kacak olan<br />

daha çok ton ve renk özünün kullan›lmas›na<br />

olanak tan›r.<br />

Renklerin denetlenmesi<br />

Yukar›daki örnekte, Image_3D_Color<br />

s›n›f› kullanarak koni nesnesinin rengini<br />

belirlediniz. Yap›c›n›n ilk üç parametresi,<br />

istenen rengin RGB de¤erleridir.<br />

Burada gösterilmeyen dördüncü<br />

parametre ise, alpha transparency parametresidir.<br />

Komut dosyan›za 150<br />

de¤erini ekledi¤inizde, k›smen fleffaf<br />

bir koni oluflturursunuz.<br />

$cone->setColor(new Image_3D_<br />

Color(255, 255, 255, 150));<br />

fiekil 4 içinde, fleffafl›¤›n koni üzerindeki<br />

etkisi gösterilir.<br />

Küpler<br />

Koniler gibi, küplerin de yarat›lmas›<br />

kolayd›r. Küp oluflturmak için yaln›zca<br />

birkaç çokgen gereklidir, üstelik, bofiekil<br />

4. Üst üste<br />

yerlefltirilmifl iki adet<br />

3 boyutlu koni<br />

nesnesi, her ikisinde<br />

de 150 de¤erinde<br />

alfa fleffafl›k<br />

uygulanm›flt›r.<br />

Liste 3. 3 boyutlu nesnelere metal görüntüsünün uygulanmas›<br />

require_once('Image/3D/Color/Metal.php');<br />

$cone = $world->createObject('cone', array('detail' => 64));<br />

$metal = new Image_3D_Color_Metal (255,255,255);<br />

$metal->setMetal(1.25);<br />

$cone->setColor($metal);<br />

Krom görüntüsü verin<br />

RGB renklerine uygulanabilen bir etki<br />

daha vard›r: krom görüntüsü! Koninin<br />

rengi olarak standart Image_3D_Color<br />

nesnesini sa¤lamak yerine, yeni bir<br />

Image_3D_Color_Metal nesnesi oluflturun<br />

(Image/3D/Color/Metal.php'yi<br />

eklemeyi unutmay›n, di¤er s›n›flar gibi<br />

Image/3D.php taraf›ndan eklenmez).<br />

Bkz. Liste 3.<br />

setMetal() yöntemi, parametre olarak<br />

de¤ifliklik gösterir. Biraz deneyim<br />

kazan›ld›¤›nda, 0.5 ve 2.0 aras›ndaki<br />

de¤erlerin en iyi etkiyi ortaya ç›kard›¤›<br />

görülür. 2.0 üzerindeki bir de¤er, görüntünün<br />

tamamen parlamas›na neden<br />

olur. Koninin renk ve ›fl›¤›n›n nas›l etkilendi¤ini<br />

görmek için bu de¤erle oynayabilirsiniz.<br />

Nesnelerin ve flekillerin<br />

de¤ifltirilmesi<br />

Daha önce Adobe Photoshop program›ndaki<br />

dönüfltürme arac›n› kulland›ysan›z,<br />

büyük olas›l›kla onun tafl›ma, ölçekleme,<br />

döndürme, çevirme ve çarp›tma<br />

ö¤elerine al›fl›ks›n›zd›r. 3 boyutlu<br />

nesnelerin ve alanlar›n transform<br />

yöntemi, bu arac›nkine benzer.<br />

Dönüfltürme matrisleri<br />

Bu terim sizi korkutmas›n. Pratikte,<br />

dönüfltürme matrisi, asl›nda yaln›zca<br />

bir nesnenin tafl›nmas›n›, ölçeklenmesini<br />

ya da döndürülmesini sa¤layan bir<br />

denetimdir. Bu, ilk olarak Image_3D_Matrix<br />

yarat›p sonra onu bir<br />

transform() yöntemine geçirerek elde<br />

edilir. Sonuçta, bu pek de zor de¤ildir.<br />

Afla¤›da üç örnek verilmifltir (her<br />

bir matrisin ikinci parametre olarak üç<br />

de¤erli bir dizilim ald›¤›na dikkat edin):<br />

$obj->transform($world->createMatrix\<br />

('move', array(-50, -30, 10)));<br />

$obj->transform($world->createMatrix\<br />

('scale', array(70, 220, 70)));<br />

$obj->transform($world->createMatrix\<br />

('rotation', array(45, 0, 0)));<br />

'Move' (Tafl›) matrisinin dizilim de-<br />

¤erleri, X, Y ve Z eksenlerindeki hareketi<br />

belirtir. 'Scale' (Ölçeklendir) matrisine<br />

uygulanan de¤erler, ayn› üç eksen<br />

boyunca ölçekleme derecesini belirtir.<br />

'Rotation' (Döndürme) matrisine<br />

iliflkin de¤erler, her bir eksende 0 -<br />

360 dereceler aras›ndaki döndürme<br />

miktar›n› belirtir. fiekil 5 içinde nesnenin<br />

hangi yöne döndürüldü¤ü gösterilir<br />

(ters yöne döndürmek için eksi de¤erleri<br />

uygulayabilirsiniz).<br />

Dönüfltürmeler nerede ve<br />

fiekil 5. X, Y ve Z<br />

eksenlerinde<br />

döndürme yönleri.<br />

ne zaman uygulan›r<br />

Bu dönüfltürmelerin her biri tek bir nesneye<br />

ya da 3 boyutlu alan›n bütününe<br />

uygulanabilir. Yaratt›¤›n›z ilk örnek görüntünün<br />

alan›nda, bir koninin nas›l<br />

döndürülebilece¤ini, ölçeklendirilebilece¤ini<br />

ve tafl›nabilece¤ini gördünüz. Dönüfltürme<br />

ifllemini koni yerine $world<br />

nesnesine uygulam›fl olsayd›n›z, 3 boyutlu<br />

alandaki herfleyi etkilerdi; alandaki<br />

tüm nesneler ve ›fl›klar, büyük bir<br />

boflluk olarak, bütünüyle etkilenirdi.<br />

Dönüfltürmeler, belirtilen s›rayla<br />

her bir nesneye uygulan›r. Bu size aç›k<br />

gibi görünebilir, ancak önce, nesnelere<br />

birer birer ve sonra da alan›n bütününe<br />

olmak üzere birden çok dönüfltürme<br />

uyguluyorsan›z, dönüfltürmelerinizi<br />

eklerken s›raya dikkat etmedi¤inizde<br />

beklemedi¤iniz sonuçlarla karfl›laflabilirsiniz.<br />

Ek nesneler<br />

Koninizin ›fl›kland›r›lmas›, renklendirilmesi<br />

ve konumland›r›lmas›na iliflkin<br />

pek çok ayr›nt›y› tamamlad›n›z. fiimdi<br />

de Image_3D'de baflka hangi tip nesnelerin<br />

yarat›labilece¤ine dönelim.<br />

54 HABER LINUX


yutlar› ne olursa olsun, tüm küpler ayn›<br />

düzeyde ayr›nt› içerir. Küp yarat›rken,<br />

createObject() için ikinci parametre,<br />

kübün geniflli¤i, yüksekli¤i ve<br />

derinli¤inden oluflan üç de¤erli bir dizilimdir.<br />

Küp olufltururken, Liste 1 içinde<br />

$cone yerine afla¤›daki sat›rlar› yazabilirsiniz:<br />

$cube = $world->createObject('cube',<br />

array(100, 100, 100));<br />

$cube->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

$cube->transform($world->\<br />

createMatrix('rotation', array(-<br />

60,60,40)));<br />

Sonuçta ortaya ç›kan görüntü flöyle<br />

olur:<br />

fiekil 6. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu küp.<br />

Küreler<br />

Liste 1 içindeki ilk örne¤inizi düzelterek<br />

devam edersek, koniyi küre ile de-<br />

¤ifltireceksiniz. Burada, ikinci parametre,<br />

kürenin yar›çap›n› simgeleyen r<br />

için bir de¤er ve nesnenin görece düzgünlü¤ünü<br />

tan›mlayan bir tamsay›<br />

olan detail (ayr›nt›) de¤erini içeren bir<br />

Hash algoritmas› olacakt›r. Detail de-<br />

¤eri, 1 kadar küçük olabilir, ama bu durumda<br />

nesne, küreden çok buruflturulmufl<br />

ka¤›t topa¤›na benzeyecektir, bu<br />

de¤er artt›kça, nesnenin kalitesi ve<br />

gerçekleme süresi de artar. Detail<br />

ö¤esinde en iyi de¤erler 4, 5 ya da<br />

6'd›r. 6'dan daha yüksek bir de¤er kullan›ld›¤›nda<br />

gerçekleme süresi, saniyelerle<br />

de¤il, ancak dakikalarla ölçülebilecek<br />

kadar uzun olur.<br />

$sphere = $world->createObject('sphere',<br />

array('r' => 85, 'detail' => 5));<br />

$sphere->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

Sonuçta ortaya ç›kan görüntü flöyle<br />

olur:<br />

fiekil 7. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu küre.<br />

Bu küre oluflturulurken bildirilen istatistikleri<br />

(bkz Liste 4), Liste 2 içindeki<br />

konide görülenlerle karfl›laflt›r›n.<br />

Liste 4. 5 detail de¤eriyle küre nesnesi<br />

oluflturulmas›n›n istatistikleri<br />

Image 3D<br />

Objects: 1<br />

Lights: 2<br />

Polygons: 4096<br />

Points: 2050<br />

Asl›nda, bu kürenin detail ayar›n›<br />

6'ya yükseltirseniz, çokgenlerin ve<br />

noktalar›n say›s› dört kat›na ç›kar.<br />

Simit flekli<br />

Wikipedia'ya göre, simit flekli, iki daire<br />

fleklinin (S1 x S1) ürünü olarak tan›mlanan<br />

bir kapal› yüzeydir. Geometri bilgilerinizi<br />

unuttuysan›z, bildi¤iniz bir simidi<br />

gözünüzün önüne getirin.<br />

Simit fleklinin nas›l oluflturuldu¤unu<br />

görmek için afla¤›daki kodu 3 boyutlu<br />

alan›n›za ekleyin.<br />

Liste 5. Simit flekli örne¤i<br />

$torus = $world->createObject('torus',<br />

array('inner_radius' => 90,<br />

'outer_radius' => 120,<br />

'detail_1' => 30,<br />

'detail_2' => 30));<br />

$torus->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

$torus->transform($world->createMatrix('Rotation',<br />

array(-45,0,-30)));<br />

$torus->transform($world->createMatrix('Move',<br />

array(0,-20,0)));<br />

fiekil 8. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu simit flekli.<br />

Bir kez daha, createObject()'in<br />

ikinci parametresine geçirilen baflka<br />

bir de¤er kümeniz var. Bu durumda, inner_radius<br />

(iç yar›çap) ve outer_radius<br />

(d›fl yar›çap), simidin iç ve d›fl yar›çaplar›n›n<br />

adlar›d›r. Detail_1 (ayr›nt› 1) ve<br />

detail_2 (ayr›nt› 2) ö¤eleri daha belirsizdir.<br />

Bu de¤erleri ayarlamay› denerseniz,<br />

detail_1 ö¤esinin bantlar› (halkaya<br />

dik olan çizgileri) ve detail_2 ö¤esinin<br />

ise fleritleri (halkan›n d›fl kenar›na<br />

paralel çizgileri) denetledi¤ini görürsünüz.<br />

Sonuçta ortaya ç›kan görüntü<br />

“fiekil 8” deki gibi olur:<br />

Metin<br />

Image_3D paketi kullan›larak metinler<br />

de üç boyutlu olarak gerçeklenebilir.<br />

Ancak, metnin stilinin belirlenmesinde<br />

pek az seçenek sunulur. Örne¤in, yaz›<br />

tipi seçemezsiniz; pakette yerleflik bulunan<br />

tek bir yaz› tipinden baflka seçene¤iniz<br />

yoktur. Yine de, Liste 6 içinde<br />

bir metin nesnesinin nas›l yarat›laca¤›<br />

gösterilir.<br />

Liste 6. Metin nesnesi örne¤i<br />

$text = $world->createObject('text',<br />

'Databases!');<br />

$text->setColor(new Image_3D_Color(255,<br />

255, 255));<br />

$text->transform($world->createMatrix('Scale',<br />

array(6, 6, 6)));<br />

$text->transform($world->createMatrix('Rotation',<br />

array(-35, 30, -15)));<br />

$text->transform($world->createMatrix('Move',<br />

array(-150, 10, 20)));<br />

Önceki örneklerdeki createObject()<br />

ö¤esinin ikinci parametresine geçirilen<br />

dizilimin yerine, yaln›zca görüntülenecek<br />

olan metni sa¤laman›z yeterlidir.<br />

‹nanmas› zor ama, PHP e¤itici yaz›-<br />

s›n›n ortas›na geldik ve pek çok PHP<br />

e¤itici yaz›s›n›n konusu olan ayn› anda<br />

her yerde bulunan sistemlerden henüz<br />

söz edilmedi. Bu henüz ad› geçmemifl<br />

olan sistemlere iliflkin 3 boyutlu bir<br />

gösterim afla¤›da verilmifltir:<br />

fiekil 9. Image_3D paketi<br />

kullan›larak oluflturulmufl<br />

3 boyutlu metin.<br />

3D Studio Max<br />

fiimdiye dek gördü¤ümüz 3 boyutlu<br />

görüntü oluflturmakta kullan›lan araçlar<br />

temel düzeydeydi, üstelik, s›f›rdan<br />

görüntü oluflturarak yapabilecekleriniz<br />

de s›n›rl›d›r. Önceden yap›lm›fl 3D<br />

Studio Max dosyalar›n› içe aktarma<br />

yetene¤i (bkz. Liste 7), heyecan verici<br />

olas›l›klar sunar.<br />

HABER LINUX 55


Liste 7. 3D Studio Max dosyas› örne¤i<br />

$obj = $world->createObject('3ds', 'Image_3D.3ds');<br />

$obj->setColor(new Image_3D_Color(255, 255, 255));<br />

$obj->transform($world->createMatrix('Rotation', array(110, 40, 0)));<br />

$obj->transform($world->createMatrix('Scale', array(7, 7, 7)));<br />

Liste 8. Küre nesnelerinden birlefltirilmifl bir kübün oluflturulmas›<br />

for ($x=0; $x < 5; $x++) {<br />

for ($y=0; $y < 5; $y++) {<br />

for ($z=0; $z < 5; $z++) {<br />

$sphere = $world->createObject('sphere',<br />

array('r' => 25, 'detail' => 4));<br />

$sphere->setColor(new Image_3D_Color(255, 255, 255));<br />

$sphere->transform($world->createMatrix('Move',<br />

array($x * 75, $y * 75, $z * 75)));<br />

$sphere->transform($world->createMatrix('Rotation',<br />

array(45, 30, 15)));<br />

}<br />

}<br />

}<br />

$world->transform($world->createMatrix('Move', array(-225, -100, 0)));<br />

Gördü¤ünüz gibi, nesnenin oluflturulmas›<br />

için, 3D Studio Max dosyas›n›n<br />

bulunmas› yeterli. Image_3D kuruluflu<br />

ile biraz ilgilendiyseniz, PEAR paketindeki<br />

baz› örnekleri görmüfl olabilirsiniz.<br />

Yukar›daki listede içe aktar›lan<br />

Image_3D.3ds dosyas› bu örneklerden<br />

al›nm›flt›r. Sonuçta ortaya ç›kan görüntü<br />

afla¤›da gösterilmifltir:<br />

fiekil 10. Image_3D paketi ile içe aktar›lm›fl<br />

ve gerçeklenmifl 3D Studio Max dosyas›.<br />

Elbette, bu sefer iflimiz kolayd›,<br />

çünkü yukar›daki dosyada içe aktar›lan<br />

3D Studio Max dosyas› 200 KB'den<br />

küçüktü ve oldukça basit bir dosyayd›.<br />

Daha büyük dosyalar›n aç›lmas› sunucunuzu<br />

ya da PHP'yi kolayca durma<br />

noktas›na getirebilir.<br />

Tek bir alanda birden çok<br />

nesnenin birlefltirilmesi<br />

fiimdiye dek, tek bir 3 boyutlu alandaki<br />

nesneleri teker teker gördük. Ama,<br />

burada durmam›z gerekiyor. Liste 8<br />

içinde, ayn› alanda 100'den fazla nesnenin<br />

nas›l birlefltirilece¤inin bir örne-<br />

¤i yer al›r.<br />

Daha önce de oldu¤u gibi, bu kod<br />

Liste 1 içindeki, $cone nesnesini tan›mlayan<br />

sat›rlar›n yerine geçer.<br />

Liste 8, $x, $y ve $z'yi 0-4'ten art›ran<br />

üç döngü tan›mlar. Orta döngü<br />

içinde, tek bir küre nesnesi yarat›l›r.<br />

Bir move dönüfltürmesi kullanarak, her<br />

bir yeni küre, bafllang›ç noktas›na göre<br />

X, Y ve Z yönlerinde konumland›r›l›r.<br />

Tafl›nd›ktan sonra, her bir küre bafllang›ç<br />

noktas›n›n çevresinde döndürülür.<br />

Kürelerin her biri yarat›ld›ktan ve<br />

üç döngünün tümü de tamamland›ktan<br />

sonra, $world nesnesinin bütünü, görüntünün<br />

s›n›rlar› içinde kürelerin ortalanaca¤›<br />

biçimde kayd›r›l›r.<br />

Bu örnekte 125 kürenin oluflturuldu¤una<br />

dikkat edin. Detail ayar› 4 de-<br />

¤erinde olan tek bir bir küre oluflturmakta<br />

zorland›ysan›z, 124 tane daha<br />

küre oluflturman›n ne kadar güç olabilece¤ini<br />

tahmin edebilirsiniz. Detail de-<br />

¤eri 4 ya da 5 oldu¤unda nesne gerçekten<br />

çok güzel görünür, ama herfleyin<br />

düzgün olarak çal›flt›¤›ndan emin<br />

oluncaya dek, bu ayar› 1 ya da 2'ye<br />

çekmeniz ak›ll›ca olur.<br />

fiekil 11 içinde gösterilen sonuçta<br />

ortaya ç›kan görüntünün sadece küpler<br />

ve konilerden çok daha heyecan verici<br />

oldu¤unu kabul edersiniz.<br />

fiekil 11. Küp flekilli bir<br />

matris yaratmak için<br />

düzenlenen 125 küre.<br />

Özel biçimler ve yüzeyler<br />

Image_3D içinde daha özel nesnelerin<br />

oluflturulmas›na olanak tan›yan iki<br />

nesne vard›r: çokgenler ve efllemler<br />

Çokgenlerin oluflturulmas›<br />

3 boyutlu bir biçimin çok boyutlu koordinatlarda<br />

tasarlanabilece¤ini varsayarsak,<br />

bu koordinatlar› bir araya getirerek<br />

3 boyutlu bir nesnenin kenarlar›n› oluflturabilirsiniz.<br />

Dikkatli bir hesaplamayla,<br />

noktalar ve çokgenler kullanarak s›f›rdan<br />

küpler, koniler ya da küreler oluflturabilirsiniz.<br />

Ama bu nesneleri oluflturman›n<br />

daha kolay yollar› da vard›r.<br />

Bunun yerine, üçüncü boyutu, yani<br />

derinli¤i olan üç noktal› bir y›ld›z olufltural›m.<br />

Y›ld›z›n bir ön, bir de arka yüzü<br />

olacakt›r, sonuçta bunlar, d›fl kenarlar›<br />

tan›mlayan ayn› koordinat noktalar›na<br />

sahip olacakt›r. Alt› noktaya gerek<br />

vard›r -- üçü y›ld›z›n noktalar› için, üçü<br />

de kenarlar› belirlemek için kullan›l›r.<br />

‹flleri kolaylaflt›rmak için, Z=0 koordinatlar›nda<br />

yatan noktalar ön yüzünüz<br />

olsun. Arka yüz, ön yüze göre sabit bir<br />

uzakl›kta, 60 de¤er ötede olacakt›r.<br />

Böylece, tüm d›fl noktalar ayn› X ve Y<br />

koordinatlar›na sahip olacakt›r, ama Z<br />

koordinat› 60 olarak de¤ifltirilecektir.<br />

Üç kenar, y›ld›z›n her bir d›fl noktas›n›<br />

birlefltirecek biçimde efllenir.<br />

Liste 9'un ço¤unlu¤u, bu nesnenin<br />

oluflturulmas› için birbirine ba¤lanmas›<br />

gereken noktalar›n yerlefltirilmesiyle<br />

ilgilidir. Afla¤›daki foreach döngüleri,<br />

sonuçta ortaya ç›kacak olan çokgen<br />

nesnesini oluflturmakta kullan›lacak<br />

olan Image_3D_Point nesnelerini oluflturmak<br />

için kullan›l›r.<br />

Son sat›r $world nesnesinin bütününü<br />

döndürür, böylece y›ld›z›n kenar›n›<br />

görebilirsiniz. Alan› döndürmezseniz,<br />

y›ld›z›n ön yüzünü yaln›zca iki boyutlu<br />

olarak görürsünüz.<br />

Liste 9, fiekil 12 içinde gösterilen<br />

görüntüyü oluflturur.<br />

fiekil 12. Image_3D<br />

paketi kullan›larak<br />

oluflturulmufl özel bir<br />

çokgen.<br />

3 boyutlu<br />

yüzeylerin efllenmesi<br />

S›radaki iki örnekte ilginç baz› flekiller<br />

oluflturulur, ama biraz Calculus bilgisi<br />

56 HABER LINUX


Liste 9. Üç noktal› y›ld›z oluflturulmas›<br />

$polygons = array();<br />

// Front face<br />

$polygons[] = array(<br />

array(0, -120, 0), array(-18, -12, 0),<br />

array(-86, 48, 0), array(0, 18, 0),<br />

array(86, 48, 0), array(18, -12, 0)<br />

);<br />

// Back face<br />

$polygons[] = array(<br />

array(0, -120, 60), array(-18, -12, 60),<br />

array(-86, 48, 60), array(0, 18, 60),<br />

array(86, 48, 60), array(18, -12, 60)<br />

);<br />

// 3 Sides<br />

$polygons[] = array(<br />

array(0, -120, 0), array(-18, -12, 0),<br />

array(-86, 48, 0), array(-86, 48, 60),<br />

array(-18, -12, 60),array(0, -120, 60)<br />

);<br />

$polygons[] = array(<br />

array(-86, 48, 0), array(0, 18, 0),<br />

array(86, 48, 0), array(86, 48, 60),<br />

array(0, 18, 60), array(-86, 48, 60)<br />

);<br />

$polygons[] = array(<br />

array(86, 48, 0), array(18, -12, 0),<br />

array(0, -120, 0), array(0, -120, 60),<br />

array(18, -12, 60),array(86, 48, 60)<br />

);<br />

foreach ($polygons as $poly) {<br />

$points = array();<br />

foreach ($poly as $set) {<br />

$points[] = new Image_3D_Point($set[0], $set[1], $set[2]);<br />

}<br />

$p = $world->createObject('polygon', $points);<br />

$p->setColor(new Image_3D_Color(255, 255, 255));<br />

}<br />

$world->transform($world->createMatrix('Rotation',<br />

array(0, -25, -15)));<br />

de devreye girer. Hiç Calculus dersi almad›ysan›z<br />

ya da bu konudaki bilgilerinizi<br />

unuttuysan›z, bu yaz›da, körelmifl<br />

becerilerinizi bilemeye çal›flmayaca-<br />

¤›z. Ancak, afla¤›daki modellerde neler<br />

olup bitti¤ine iliflkin temel bir fikir vermeye<br />

çal›flaca¤›z.<br />

Mathematica yaz›l›m›yla yüzeyleri<br />

ve k›vr›mlar› tasarlama deneyiminiz<br />

varsa, s›radaki iki örnek size tan›d›k<br />

gelecektir.<br />

Helezon<br />

Bu iki listenin ilki yükselen bir sarmald›r.<br />

Yüzeydeki her bir noktan›n, afla¤›-<br />

daki parametrik fonksiyondan türeyen<br />

X, Y ve Z koordinatlar› vard›r:<br />

f[s,t] = {s * cos(2 t), s* sin(2 t),<br />

t}<br />

Bu yüzeyi yaratmak için, önce alan›n›zda<br />

yeni bir "efllem" nesnesi yaratacaks›n›z.<br />

$map = $world->createObject('map');<br />

Efllem, yukar›daki özel çokgende<br />

gördü¤ünüz gibi 3 boyutlu bir yüzey<br />

oluflturmak için Image_3D_Point nesnelerinin<br />

dizilimini al›r. Bu noktalar›n<br />

her biri yukar›daki ifllevinize göre tan›mlanabilir:<br />

new Image_3D_Point( ($s * cos(2 *<br />

pi() * $t)),<br />

($s * sin(2 * pi() * $t)),<br />

($t) );<br />

s ve t parametrelerini s›ras›yla 0-1<br />

ve 0-6 aral›klar›nda de¤ifltireceksiniz.<br />

Yüzeye uygun bir boyut vermek için,<br />

her bir koordinat› $scale ayar›na atayaca¤›n›z<br />

istedi¤iniz bir de¤erle çarpacaks›n›z.<br />

Liste 10 içinde, efllem nesnesinin<br />

nas›l oluflturuldu¤u gösterilir ve di¤er<br />

örneklerde de oldu¤u gibi, nesnenin<br />

son halinin rengini, döndürmesini ve<br />

konumunu siz belirlersiniz<br />

fiekil 13 içinde sonuçta ortaya ç›-<br />

kan görüntü gösterilir. Helezonun ayr›nt›,<br />

ölçek ve yükseklik düzeyleri<br />

$scale, $detail ve $levels de¤iflkenleriyle<br />

belirlenir.<br />

fiekil 13. Image_3D<br />

paketinin efllem<br />

nesnesi kullan›larak<br />

oluflturulmufl helezon.<br />

Ortas› delik kek kal›b› flekli<br />

Stokes teoreminin bir uygulamas› olan<br />

ikinci yüzey integraliniz de ilginç bir<br />

sonuç verir. Bu yüzeyi, Z ile ifade edilen<br />

yüksekli¤i de¤iflken ve X ve Y düzlemlerinin<br />

bafllang›ç noktas›ndan her<br />

yöne yay›lan bir sinüs dalgas›n›n ürünü<br />

olarak düflünebilirsiniz.<br />

Calculus terimlerini bir yana b›rak›rsak,<br />

bu fleklin ortas› delik bir kek kal›b›na<br />

benzedi¤ini söyleyebiliriz.<br />

Bu alan, afla¤›daki parametrik iflleve<br />

göre tan›mlanacakt›r:<br />

f[r,t] = {r * cos(t), r * sin(t), sin(4 <br />

r)}<br />

Yine, bu yüzey için efllem nesnesine<br />

eklenecek noktalar› iflaretleyeceksiniz.<br />

Her nokta Liste 11'de tan›mlan›r.<br />

Her bir noktay›, düzgün bir yüzey<br />

HABER LINUX 57


Liste 10. Parametreleri belirlenmifl bir sarmal yüzey<br />

$map = $world->createObject('map');<br />

$scale = 120;<br />

$detail = 30;<br />

$levels = 6;<br />

$increment = 1 / $detail;<br />

for ($s = 0; $s setColor(new Image_3D_Color(255, 255, 255));<br />

$map->transform($world->createMatrix('Rotation', array(-50, 0, 15)));<br />

$map->transform($world->createMatrix('Move', array(50, -220, 0)));<br />

Liste 11. Noktalar›n tan›mlanmas›<br />

new Image_3D_Point( ($r * cos($t)),<br />

($r * sin($t)),<br />

(sin(4 * pi() * $r))<br />

);<br />

Liste 12. 3 boyutlu ortas› delik bir kek kal›b› flekli<br />

$map = $world->createObject('map');<br />

$scale = 130;<br />

$detail = 35;<br />

$increment = 1 / $detail;<br />

oluflturmak üzere r ve t parametrelerini<br />

de¤ifltiren iki döngü içine saracaks›-<br />

n›z. Liste 12'de gösterildi¤i gibi, her X-<br />

, Y- ve Z koordinat› bir $scale de¤eriyle<br />

çarp›lacakt›r.<br />

Sonuçta ortaya ç›kan görüntü<br />

“fiekil 14”deki gibi olur:<br />

// x<br />

// y<br />

// z<br />

for ($r = 0; $r setColor(new Image_3D_Color(255, 255, 255));<br />

$map->transform($world->createMatrix('Rotation', array(-45, 0, -15)));<br />

Ek ç›kt› sürücüleri<br />

fiimdiye kadar yaratt›¤›n›z tüm görüntüler<br />

GD sürücüsünü kullan›yordu. Bu<br />

sürücünün PNG görüntüleri oluflturdu-<br />

fiekil 14. Image_3D<br />

paketindeki efllem<br />

nesnesi kullan›larak<br />

gelifltirilen parametrik<br />

ifllevden oluflan 3<br />

boyutlu yüzey.<br />

¤unu gördünüz. Ancak kullanabilece¤iniz<br />

dört ek sürücü daha vard›r: SVG,<br />

SVGRotate, ZBuffer ve ASCII.<br />

SVG<br />

SVG (Scalable Vector Graphics; Ölçeklenebilir<br />

Vektör Grafi¤i) dosya biçimi,<br />

2 boyutlu görüntüler oluflturan vektörlerin<br />

bir XML tan›m›d›r. W3C, bu biçimi<br />

2001 y›l›nda standartlaflt›rm›flt›r, ancak<br />

bu biçimin Web üzerindeki kullan›-<br />

m›, SVG dosyalar›n› görüntüleyebilen<br />

taray›c›lar›n kullan›labilir hale gelmesiyle<br />

engellenmifltir. fiu anda en uygun<br />

seçenekler SVG için yerleflik destek<br />

içeren Firefox V1.5 ve Adobe SVG eklentisine<br />

sahip Internet Explorer ürünleridir.<br />

Image_3D'den SVG görüntüleri<br />

oluflturmak oldukça basittir. Yap›lmas›<br />

gereken yaln›zca Liste 1'deki son iki<br />

kod sat›r›n› afla¤›daki gibi de¤ifltirmektir:<br />

$world->createDriver('svg');<br />

$world->render(400, 400, 'object.svg');<br />

Sonuçta ortaya ç›kan görüntü dosyas›<br />

ilk yaratt›¤›n›z koniye çok benzer<br />

olmal›d›r.<br />

SVG dosyalar›n›n heyecan verici<br />

bir yönü, görüntüyü tan›mlayan XML<br />

a¤ac›n›n, JavaScript ve DOM ayr›flt›rma<br />

yordamlar› kullan›larak ifllenebilmesidir.<br />

Görüntülerin, Web sayfalar›n›<br />

ifllemek üzere dHTML kullan›r gibi ifllendi¤ini<br />

düflünün. SVGRotate sürücüsü,<br />

yaln›zca bu amaçla gerekli olan komut<br />

dosyas›n› içeren bir SVG dosyas›<br />

oluflturur.<br />

Ç›kt› sürücüsünün de¤ifltirilmesi yine<br />

son iki kod sat›r›n›n de¤ifltirilmesiyle<br />

kolay bir flekilde gerçeklefltirilebilir:<br />

$world->createDriver('svgrotate');<br />

$world->render(400, 400, 'object.svg');<br />

Sonuçta ortaya ç›kan dosya, SVG<br />

biçimini tan›yan bir taray›c›da görüntülendi¤inde,<br />

koniyi gerçek zamanl›<br />

olarak döndürmek ve ölçeklemek için<br />

58 HABER LINUX


Liste 13. Küreyi kesen dört kenarl› bir düzlem<br />

$sphere = $world->createObject('sphere',<br />

array('r' => 85, 'detail' => 4));<br />

$sphere->setColor(new Image_3D_Color(255, 255, 255, 150));<br />

$plane = $world->createObject('polygon', array(<br />

new Image_3D_Point(-120, 0, -120),<br />

new Image_3D_Point(-120, 0, 120),<br />

new Image_3D_Point( 120, 0, 120),<br />

new Image_3D_Point( 120, 0, -120)<br />

) );<br />

$plane->setColor(new Image_3D_Color(255, 255, 255));<br />

$plane->transform($world->createMatrix('Rotation', array(15,15,-10)));<br />

kullan›labilecek yerleflik denetimleri<br />

içerir. Görüntünün bir ekran görüntüsü<br />

afla¤›da gösterilmifltir.<br />

fiekil 15. SVGRotate<br />

sürücüsü görüntüyü<br />

gerçek zamanl› olarak<br />

ifllemek için<br />

kullan›labilecek<br />

denetimleri ve<br />

komutlar› içerir.<br />

Komut dosyas› içeren SVG dosyalar›<br />

sa¤lanan deste¤in s›n›rl› oldu¤unu<br />

göz önünde bulundurun. Sonuçta ortaya<br />

ç›kan dosya Adobe SVG eklentisi<br />

olan bir Internet Explorer'da çal›flmas›na<br />

karfl›n Firefox'ta düzgün görüntülenmemifltir.<br />

ZBuffer<br />

3 boyutlu alanlar›n 2 boyutlu bir görüntüye<br />

dönüfltürülmesi için hangi<br />

nesnelerin üst üste gelip di¤erlerini<br />

gizledi¤ini belirleyebilen özel bir algoritma<br />

gerekir. 3 boyutlu modellemede,<br />

nesnelerin 2 boyutlu bir alanda görünebilirli¤inin<br />

yönetilmesine Z-buffering<br />

(Z-arabelle¤i) ad› verilir.<br />

fiimdiye kadar size verilen örneklerin<br />

hiçbirinde di¤er nesnelerin üzerine<br />

gelen nesnelerle ilgili sorunlar yoktu.<br />

Böyle bir sorunla karfl›lafl›rsan›z, en<br />

uygun seçenek ç›kt› sürücünüzü<br />

GD'den ZBuffer'a de¤ifltirmektir.<br />

ZBuffer sürücüsü bir PNG görüntüsü<br />

oluflturmak üzere hala GD'yi kullan›r,<br />

ancak 2 boyutlu bir bit efllem üzerinde<br />

çizili olduklar›ndan 3 boyutlu nesneleri<br />

daha iyi yönetebilir.<br />

Liste 13'teki kodu kullanarak, nesnelerin<br />

Z-buffering iflleminde özellikle<br />

bir çak›flmaya neden olacak, ayn› alan›<br />

kaplayan iki nesne yaratacaks›n›z. Kürenin<br />

alfa fleffafl›k de¤eri 150 olarak<br />

verilmifltir; böylece küreyi ortas›ndan<br />

ikiye kesen düzlemi görebilirsiniz.<br />

Bu nesneyi GD sürücüsünü kullanarak<br />

oluflturursan›z, afla¤›da gösterildi-<br />

¤i gibi, küre düzlemin önünde duruyormufl<br />

gibi görünür.<br />

fiekil 16. GD sürücüsü<br />

kullan›larak ayr› ayr›<br />

oluflturulmufl üst üste<br />

gelen iki adet 3<br />

boyutlu nesne.<br />

Ancak, yaratt›¤›n›z düzlemin koordinatlar›ndan,<br />

bunun kürenin içinden<br />

geçip küreyi kesmesi gerekti¤ini bilirsiniz.<br />

Sürücünün ZBuffer olarak de¤ifltirilmesi<br />

bu sorunu çözer ve afla¤›da<br />

gösterilen PNG dosyas› ortaya ç›kar.<br />

fiekil 17. ZBuffer<br />

sürücüsü uygulanarak<br />

çözülen, üst üste<br />

gelmifl iki adet 3<br />

boyutlu nesne<br />

aras›ndaki ZBuffer<br />

çak›flmalar›.<br />

ASCII<br />

Örneklerinizde ASCII sürücüsü bulunmamaktad›r,<br />

ancak bu sürücünün amac›<br />

renkli bir ANSI uçbiriminde görüntülenecek<br />

görüntüler yarat›lmas›na olanak<br />

vermektir. Windows® kurulu bir<br />

PC'de çal›fl›yorsan›z, bu sürücüden elde<br />

edilen ç›kt› büyük olas›l›kla sizin<br />

için pek yararl› olamayacakt›r.<br />

Pratik örneklere geçifl<br />

fiimdiye kadar gördü¤ünüz örnekler bu<br />

paketin PHP'de 3 boyutlu görüntüler<br />

oluflturma yeteneklerini göstermifltir.<br />

Web sayfalar›n› yönetmek için icat edilen<br />

bu dilin bu kadar ayr›nt›l› görüntü<br />

dosyalar› oluflturmak üzere kullan›labilece¤ini<br />

kim tahmin edebilirdi Bu oldukça<br />

iyi bir olanak, ancak 3 boyutlu<br />

sihirbaz ya da hesap merakl›s› de¤ilseniz<br />

bu size s›k›c› gelmifl olabilir. Basit<br />

nesneleri ve komut sat›r› komut dosyalar›n›<br />

al›p nas›l biraz daha ilginç örnekler<br />

oluflturabilece¤inize bakal›m.<br />

[http://www.fazlamesai.net/index.php<br />

a=article&sid=3994] adresinde bu<br />

makalenin devam›n› bulabilirsiniz.<br />

Kaynaklar<br />

Bilgi Edinme<br />

• PEAR:: Image_3D ürünü hakk›ndaki<br />

bilgileri okuyabilir ve bu ürünü kurabilirsiniz.<br />

(http://pear.php.net/package/<br />

Image_3D)<br />

• "Connecting PHP Applications to<br />

Apache Derby" (PHP Uygulamalar›n›n<br />

Apache Derby'ye Ba¤lanmas›) bafll›kl›<br />

konuyu okuyarak pasta grafi¤i nas›l<br />

gelifltirece¤inizi ö¤renebilirsiniz.<br />

(http://www-128.ibm.com/<br />

developerworks/db2/library/<br />

techarticle/dm-0409casey/)<br />

• "Add interactivity to your SVG"<br />

(SVG'nize etkileflim eklenmesi) bafll›kl›<br />

konuyu okuyarak SVG görüntüleri ve<br />

komut dosyalar› hakk›nda ek bilgi edinebilirsiniz.<br />

(http://www-128.ibm.<br />

com/developerworks/db2/library/tec<br />

harticle/dm-0409casey)<br />

• "Getting started with objects with<br />

PHP V5" (PHP V5 ile nesnelere bafllangݍ)<br />

bafll›kl› konuyu okuyarak PHP<br />

V5 nesne/s›n›f sözdizimi konusundaki<br />

bilgilerinizi tazeleyebilirsiniz. (http://<br />

www-128.ibm.com/ developerworks/<br />

opensource/library/os-phpobj/)<br />

• Kartezyen koordinat sistemi hakk›nda<br />

ek bilgi edinmek için Cartesian coordinate<br />

system bafll›kl› sayfaya bakabilirsiniz.<br />

(http://en.wikipedia.org/<br />

wiki/Cartesian_coordinate)<br />

• PHP ve gd kitapl›¤›n› kullanarak dinamik<br />

bit efllem görüntüleri oluflturma<br />

konusunda bilgi için Generate dynamic<br />

bitmap graphics with PHP and gd"<br />

(PHP ve gd ile dinamik bit efllem grafikleri<br />

oluflturma) bafll›kl› konuyu okuyabilirsiniz.<br />

(http://www-<br />

128.ibm.com/developerworks/edu/<br />

wa-dw-wa-bitmaphp-i.html)<br />

• PHP'de nesne odakl› bir grafik katman›<br />

oluflturma hakk›nda bilgi almak<br />

için "Create graphics the smart way<br />

with PHP" (PHP ile ak›ll› grafikler yaratma)<br />

bafll›kl› konuyu okuyabilirsiniz.<br />

(http://www-128.ibm.com/<br />

developerworks/edu/wa-dw-wabitmaphp-i.html)<br />

• developerWorks teknik etkinlikler ve<br />

Web yay›nlar› sayesinde güncel bilgiler<br />

edinebilirsiniz.<br />

HABER LINUX 59


Acil<br />

Servis<br />

GNU/Linux ve Özgür Yaz›l›m Projeleri ile ilgili sorulara cevap<br />

verdi¤imiz Acil Servis'in yeni bir bölümünde yine sizlerle<br />

birlikteyiz.<br />

Merhaba,<br />

Yak›n zamana kadar dizüstü bilgisayar›m›n kablosuz eriflim<br />

noktas›na ba¤lanmas› için WEP ve MAC filtreleme kullan›yordum.<br />

Fakat son zamanlarda bunun o kadar da güvenli<br />

olmad›¤›n›, kolayca k›r›labildi¤ini duydum.<br />

Acaba gerçekten böyle mi E¤er böyleyse ne yapmam›<br />

önerirsiniz<br />

uzak, zira WEP'i k›rd›ktan sonra (ki WEP'in befl dakikada k›-<br />

r›lmas› üzerine videolar bile var Internet'te) a¤›n›z› dinleyerek<br />

mevcut kullan›lmakta olan MAC adreslerinden birini tespit<br />

edip, kendi cihazlar›na ayn› adresi verebilirler.<br />

Bütün bu sebeplerle e¤er do¤ru düzgün bir güvenlik istiyorsan›z<br />

önerimiz WPA ya da WPA2 kullanman›z.<br />

Linux üzerinde (her ne kadar belirtmeseniz de bu soru-<br />

Malesef WEP teknolojisi, günümüze kadar gelmifl geçmifl<br />

flifreleme teknolojileri içerisinde tart›flmas›z en kötüsü.<br />

Her ne kadar ismi "Wire Equivalent Privacy" (Kabloluya Eflit<br />

Mahremiyet) olsa da, flimdiye kadar ç›kan flifreleme teknolojilerinden<br />

"daha piyasaya ç›kmadan önce, zay›fl›klar› ve<br />

k›r›labilirli¤inin biliniyor" olmas› ile ayr›l›yor.<br />

K›sacas› WEP size minimum bir güvenlik sa¤lamakta.<br />

Keza MAC filtreleme bir güvenlik yöntemi olmaktan bile<br />

60 HABER LINUX


PSK<br />

network={<br />

ssid="ARES"<br />

key_mgmt=WPA-PSK<br />

proto=WPA<br />

pairwise=TKIP<br />

group=TKIP<br />

psk="sifremizNe0lsun4C484"<br />

priority=5<br />

yu bize sorman›zdan, Linux'da bu iflin nas›l yap›laca¤›n› ö¤renmek<br />

istedi¤iniz sonucunu ç›kart›yoruz do¤al olarak)<br />

WPA kullanmak için yapman›z gereken WPA supplicant denen<br />

bir paketi yüklemek.<br />

Bunu da Debian'da apt-get install wpasupplicant komutu<br />

ile gerçeklefltirebilirsiniz.<br />

fiu anda geçerli olan Debian sürümü Debian Sarge'da<br />

WPA Supplicant bir servis olarak çal›flmakta. Bu önümüzdeki<br />

aylarda beklenen Debian Etch'in gelifli ile de¤iflecek.<br />

Wpasupplicant'› kurduktan sonra yapman›z gereken temel<br />

fley /etc alt›na wpa_supplicant.conf isminde bir dosya<br />

oluflturmak ve onun içine temel konfigürasyon bilgilerini<br />

yazmak.<br />

Örnek bir wpa_supplicant.conf flöyle oluyor:<br />

ctrl_interface_group=0<br />

eapol_version=1<br />

ap_scan=1<br />

fast_reauth=1<br />

# the network I use which is configured using WPA-<br />

}<br />

Burada önemli olan sat›rlar Network bafll›¤› alt›nda. Daha<br />

önce herhangi bir sistemde WPA ayarlar› yapt›ysan›z, bu<br />

tan›mlar size yabanc› gelmeyecektir. E¤er yapmad›ysan›z<br />

da burada yazan ayarlar› (tabi ssid ve psk'i de¤ifltirerek)<br />

kullanabilirsiniz.<br />

Bu dosyay› yerine yazd›ktan sonra<br />

wpa_supplicant -w -Dwext -ieth2 -c/etc/<br />

wpa_supplicant.conf<br />

beti¤i ile çal›flt›rman›z mümkün. Burada önemli olan -<br />

Dwext komutu. Bu komut sayesinde wpa_supplicant'a kullanmakta<br />

oldu¤umuz wireless kart altyap›s›n›n ne oldu¤unu<br />

söylüyoruz.<br />

Bu seçenek afla¤›dakilerden birisi olabilir;<br />

hostap, hermes, madwifi, atmel, ipw, wext, broadcom,<br />

ndiswrapper, wired, bsd, ndis<br />

ipw: ipw2100 ve 2200 Centrino laptoplar›n kulland›¤›<br />

chipset<br />

wext: genel chipset, flu anda yayg›n olarak yeni nesil<br />

Centrino Duo chipstleri ipw 3945'lerde kullan›l›yor.<br />

WPA Supplicant'› çal›flt›rd›ktan sonra izleyebilece¤iniz<br />

temel iki yöntem var.<br />

‹sterseniz normal wep ya da flifresiz ba¤lant›daki gibi<br />

komut sat›r›ndan:<br />

iwconfig eth2 essid "ARES"<br />

ve<br />

dhclient3 eth2<br />

komutunu vererek sisteme ba¤lanabilece¤iniz gibi, bu ifl<br />

için haz›rlanm›fl olan wpa_gui isimli grafik arayüz ile bu ifllemleri<br />

çok daha kolay yapabilirsiniz.<br />

Merhaba.<br />

Ben iflletim sistemi olarak Ubuntu kullanmaktay›m. Daha<br />

önce Slackware kullan›yordum ve orada mplayer olsun<br />

xmms olsun birçok paket vard›. Nedense Ubuntu da bunlar›<br />

bulamad›m, bilgisayar›mdan nas›l müzik dinleyip divx<br />

seyredebilirim<br />

Malesef baz› paketler, yasal ya da ahlaki sebeplerle tart›flmal›<br />

bir durumdad›r. Örnek olarak MP3 format›n› kullanmak<br />

için patent sahibi firmadan izin alman›z gerekmekte. Ya da<br />

Windows Media veya Quicktime formatlar›n› öyle istedi¤iniz<br />

gibi kullanamazs›n›z.<br />

Bununla ilgili olarak iki yaklafl›m sözkonusu. E¤er h›zl›-<br />

ca olsun, diyorsan›z yapman›z gereken<br />

apt-get install automatix<br />

Automatix paketi tam da sizin istedi¤iniz gibi gerekli<br />

de¤ifliklikleri yaparak, sözkonusu paketlerin sisteminize<br />

HABER LINUX 61


yüklenebilir olmas›n› sa¤lar.<br />

‹zleyebilece¤iniz bir baflka yol da, Synaptic içinde Settings->Repositories<br />

alt›nda afla¤›daki sat›r› Add ile eklemek:<br />

deb http://packages.freecontrib.org/ubuntu/<br />

plf/ dapper free non-free<br />

E¤er synaptic'i de¤il de komut sat›r›ndan konfigürasyonu<br />

seçiyorsan›z, bu sefer de ayn› sat›r› /etc/apt/sources.list<br />

dosyas›na eklemeniz gerekmekte.<br />

Gerisi malum; apt-get update<br />

Sistemimde disk yükleyici olarak yak›n zamana kadar lilo<br />

kullan›yordum. Fakat son zamanlarda herkesin grub kullanmas›ndan<br />

dolay› ben de grubu tercih etmeye bafllad›m.<br />

Lilo'da bir sorun ç›kt›¤›nda, makina boot etmedi¤inde,<br />

knoppix ile aç›p gerekli konfigürasyon de¤iflikli¤ini lilo.conf'a<br />

yapt›ktan sonra liloyu çal›flt›rmak yeterli oluyordu.<br />

Lilo'nun en sevmedi¤im yan›, bir sebeple linux partisyonumu<br />

sildi¤imde makinay› boot edemez hale gelmemdi.<br />

Öncelikle bu acaba Grub'da böyle de¤il mi ‹kinci olarak da<br />

demin bahsetti¤im konfigürasyon grubda liloda oldu¤undan<br />

daha farkl› galiba, flu ana kadar tam anlayamad›¤›m bir<br />

mekanizma var, bunu aç›klayabilir misiniz<br />

Grub, dinamik olarak komut sat›r›ndan parametrelerinin de-<br />

¤iflebilmesi ve izin verdi¤i birçok boot seçene¤i sayesinde lilonun<br />

yerini birçok alanda alm›fl bir bootloader. Öte yandan<br />

malesef lilodaki problem Grub'da da devam etmekte, zira<br />

Grub'da ihtiyaç duydu¤u temel dosyalar› disk<br />

üzerinde bir partisyona yazmakta ve e¤er siz boot<br />

root usr gibi partisyonlar› ay›rmay›p, tek bir<br />

partisyon kulland›ysan›z, muhtemelen bu partisyonu<br />

sildi¤inizde sistem de boot edemez olacakt›r.<br />

Bu konuda benim önerim, freedos ile çal›flabilen<br />

Ranish Partition Manager isimli freeware<br />

program› kullanman›z. Ranish'in en önemli özelli-<br />

¤i bir boot menüsüne sahip olmas›d›r. Diskinizin<br />

bootblockuna yerleflen bu boot menü size istedi-<br />

¤iniz partisyondan boot etme imkan› tan›r. Önce<br />

bunu kurup, daha sonra da Linux bootloader›n›z›<br />

(grub ya da lilo farketmez) diskin MBR'sinden de-<br />

¤il de partitiondan boot edecek flekilde ayarlarsan›z, bir daha<br />

böyle bir sorun yaflamazs›n›z. Bu konfigürasyon daha<br />

sonra sisteme kuraca¤›n›z windowslar ya da di¤er iflletim<br />

sistemleri için de (e¤er gruba yazm›yorlarsa geçerlidir)<br />

Öte yandan bozulmufl bir lilo ya da grub konfigürasyonunu<br />

düzgün bir grub konfigürasyonu ile de¤ifltirmek de o kadar<br />

zor bir ifl de¤il.<br />

Yapman›z gerekenler s›ras›yla:<br />

Knoppix'den boot etmek.<br />

Bir mount dizini oluflturmak: mkdir yeni<br />

Bu mount dizinine mevcut sistemi ba¤lamak: mount<br />

/dev/hda1 yeni<br />

Device dizinlerini bu sisteme ba¤lamak: mount --bind<br />

/dev yeni/dev<br />

Sistemi geçici olarak aya¤a kald›rmak: chroot yeni<br />

Bunu yapt›ktan sonra, e¤er grub konfigürasyonumuz<br />

do¤ruysa ve bootblock silindi¤inden dolay› kaybolduysa: update-grub<br />

komutunu çal›flt›rarak bunun geri gelmesini sa¤layabilirsiniz.<br />

E¤er konfigürasyondan memnun de¤ilseniz, onu de¤ifltirmek<br />

için yapman›z gereken biraz daha farkl›.<br />

Öncelikle grub yazarak grubshell'e giriyoruz.<br />

Ard›ndan root (hd0,3) yazarak /boot dizininin bulundu¤u<br />

partisyonu gösteriyoruz (ki bu hda4 demek oluyor birçok<br />

sistemde).<br />

E¤er sözkonusu dizinin bulundu¤u partisyondan emin<br />

de¤ilseniz, bu sefer<br />

find /boot/grub/stage1 komutu ile sözkonusu dizini bulman›z<br />

mümkün<br />

Bunun ard›ndan da<br />

setup (hd0) ya da setup (hd0,3) komutu ile bootblocku<br />

yaz›yoruz. Daha önce bahsedilmifl olan diskin ana MBR'sine<br />

mi yoksa partisyona m› bafllang›ç bilgisini yazaca¤›m›z› belirleyen<br />

komut bu. E¤er daha önce bahsetti¤imiz Ranish<br />

Partition Manager ile gerekli konfigürasyonu yapt›ysan›z<br />

kullanaca¤›n›z komut setup (hd0,3) gibi partisyona yazan<br />

bir komut olacakt›r.<br />

*Freeware bir uygulama olan Ranish Partition Manager'a<br />

http:// www.ranish.com/part/ adresinden ulaflabilirsiniz.<br />

Her ne kadar 2002 y›l›ndan bu yana güncellenmemifl olsa<br />

da, güvenle kullanabilirsiniz. Ben en son 2006 model SA-<br />

TA diski olan bir laptopta sorunsuzca kurdum ve kulland›m.<br />

62 HABER LINUX

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!