Belediyelerde Linux

Transkript

Belediyelerde Linux
Project1
9/27/06
4:26 PM
Page 1
Project1
9/27/06
4:32 PM
Page 1
*003 editor
9/27/06
3:52 PM
Page 1
ED‹TÖR
Merhaba
Zaman ne kadar da h›zl› ak›p geçiyor. Bir önceki say› için sabahlad›¤›m›z günler daha dün gibi. ‹flte flimdi bir yeni say› daha ellerinizde… IBM
Haber Linux dergisi h›z kesmeden yoluna devam ediyor. Dünyadaki ve
Türkiye'deki Linux dünyas›n›n nabz›n› tutan, geliflmeleri sizler için yak›ndan izleyen dergimiz, sizlerden gelen olumlu yorumlarla daha da
güçlenerek yeni say›lara yelken aç›yor. Bu say›m›zda da yine dopdolu
bir içerik ile karfl›n›zday›z. Art›k hepinizin aflina oldu¤u “Shell Shock”,
“Freshmeat”, “Acil Servis” gibi bölümlerimizin yan›s›ra, ilerleyen sayfalarda birçok teknik makale de siz Linux ilgililerini bekliyor.
Kamu'da Linux kullan›m›, ülkemizde çok uzun zamandan beri tart›fl›lan fakat çok da fazla mesafe kaydedilemeyen bir gündem konusudur. Asl›nda bütünlüklü bir proje çerçevesinde olmasa bile birçok kamu
kurumunun sunucular›nda halen Linux kofluyor. Fakat bunun belediyelere kadar inmesi için daha çok zaman geçmesi gerekecektir diye düflünürken, son dönemlerde yap›lan birkaç proje bize yan›ld›¤›m›z› hissettirdi. Birleflmifl Milletler Gelifltirme Program› (UNDP) ile Bulgaristan
‹nternet Derne¤i (ISOC-BG), geçti¤imiz y›l›n bafl›nda belediyelerin özgür ve aç›k kaynak kodlu yaz›l›mlar› daha etkin bir flekilde kullanabilmeleri ve bu sayede internet hizmetlerini daha h›zl› ve verimli sunabilmeleri için bir program bafllatm›flt›. Özgür ve Aç›k Kaynak Kodlu
(ÖAKK) yaz›l›mlar› öne ç›kartan projenin son safhas›nda Türkiye de
devreye al›nd›. ‹stanbul'da Bahçelievler Belediyesi'ndeki bilgi ifllem
merkezi, kapsaml› bir e¤itim çal›flmas› yard›m›yla Linux ile tan›flt›r›lm›fl
oldu.
Bu ve benzeri projeleri bizler oldukça önemsiyoruz. Çünkü bu baflar›lar bir model teflkil ederek di¤er kurumlar› da yüreklendiriyor. Linux
ile tan›flma ve Linux'a geçifl süreci de çok daha h›zl› ifllemeye bafll›yor.
Bu say›m›z›n kapak konusunu bu nedenle “Belediye'lerde Linux” haberine ay›rd›k ve bu projeye kapsaml› flekilde yer verdik.
Lütfen olumlu ya da olumsuz tüm görüfllerinizi bize e-mail ile bildirin. Önümüzdeki say›dan itibaren sizlerden gelen e-maillere'de ayr› bir
sayfada yer vermeye bafllayaca¤›z. Bu arada küçük bir hat›rlatma daha, dergimizde yer alan tüm kodlar› web sayfam›zdan temin edebilirsiniz.
(http://www.ibm.com/tr/products/linux/haberlinux.html)
Yeni bir Haber Linux'da görüflünceye kadar hoflçakal›n.
Umut Kavurmac›
[email protected]
HABER LINUX 3
*004-005
9/27/06
3:56 PM
Page 2
14
14
20
RÖPORTAJ: IBM LINUX STRATEJ‹
MÜDÜRÜ ADAM JOLLANS
“Linux alan›n› geniflletiyor”
IBM strateji yöneticisi Linux'un alan›n›
geniflletti¤ini söylüyor.
20 KLAVYE FAREYE KARfiI
Önünüzde bilgisayar ile iletiflim kurmak
için iki cihaz var, bir klavye ve bir fare.
Yeni nesil bir pencere yöneticisi wmii
size farkl› seçenekler sunuyor.
YÖNET‹M
‹mtiyaz Sahibi
IBM Türk Ltd. fiti. ad›na
Eray Yüksek
IBM Türk Limited fiirketi
Büyükdere Caddesi Levent
80613, ‹stanbul
Telefon : (0212) 317 1000
Faks
: (0212) 278 0437
Tasar›m ve Uygulama
Vogel Burda Medya
Yay›mc›l›k A.fi.
Mevlüt Pehlivan Cd. Vefa
Bay›r› Sk. Gayrettepe ‹fl Mrk.
No:6 B Blok 34349
Gayrettepe/‹stanbul
Telefon : (0212) 217 9371
Faks
: (0212) 217 9532
4 HABER LINUX
16
28
40
SHELLSHOCK
FRESHMEAT
NEDEN GTK+ KULLANILMALI?
40
*004-005
9/27/06
3:56 PM
Page 3
‹Ç‹NDEK‹LER
24
24 BELED‹YELER LINUX ‹LE
TANIfiIYOR
UNDP projesi çerçevesinde Linux
e¤itimleri alan Bahçelievler Belediyesi,
Linux'u belediye bünyesinde kullanmaya
bafllad›.
44
ECLIPSE: YAZILIM DÜNYASI
36
36 VER‹LER‹N‹Z‹ KURTARIN!
Verileri herkes kaybedebilir, önemli olan
böyle bir durumla karfl›laflt›¤›n›zda
kullanaca¤›n›z yöntem ve araçlar›
bilmenizdir.
44
BUNA TUTULDU
50
PHP ‹LE 3 BOYUTLU
GÖRÜNTÜLER HAZIRLAYIN
60
AC‹L SERV‹S
50
HABER LINUX 5
*006-007 Fazla mesai
9/27/06
3:57 PM
Page 2
Neden GNU/Linux?
Neden Özgür Yaz›l›m?
Kiflisel bir sorgulama
Stallman'›n GNU'u bafllatt›¤› y›llardan bu yana bu soru defalarca sorulmufl ve
birçok kifli taraf›ndan da çeflitli seviyelerde yan›tlanm›flt›r. Günlük hayat›m›zda
web sunucular›ndan, grafik ifl istasyonlar›na kadar çeflitli alanlarda, baflta GNU
ve Linux olmak üzere birçok Özgür Yaz›l›m projesi etkin olarak kullan›lmakta,
birçok flirket bu alanda aktif destek vermektedir. Hal böyleyken Özgür Yaz›l›m›n kullan›lmas› çoktan egzantrik bir uygulama olmaktan ç›k›p, önemli ve dahas› birçok durumda tercih edilen bir alternatif halini alm›flt›r.
Tabi ki bu süreç içinde çeflitli kiflisel tecrübelerle insanlar›n söz konusu yaz›l›mlar› tercih sebepleri de de¤iflmifl, birçoklar› daha önce önem vermedikleri
baz› etkenleri göz önüne almaya bafllam›fllard›r.
Bu do¤rultuda ben de kiflisel tecrübelerime dayanarak en önemli buldu¤um
özelliklerden bafllayarak bu temel soruya cevap vermeye çal›flaca¤›m.
Kontrol:
Linux'u tercih etme sebeplerimi s›ralad›¤›mda en önemli sebebin kontrol oldu¤unu görüyorum. Hatta bu benim için o kadar önemli ki abartarak ilk üç sebebin kontrol oldu¤unu bile söyleyebilirim. Peki, nedir bu kontrolden kastedilen?
Radyodan ses gelmedi¤inde, acaba sorun ne diye aç›p kurcalad›n›z m› hiç?
‹çinde kararm›fl bir parça tespit edip, bu bulgudan dolay› kendinizle gurur duydu¤unuz ya da o parçay› oradan ç›kart›p elektronikçiden ayn›s›n› bulmaya çal›flt›¤›n›z oldu mu? Ya da bozulan araban›z›n kaportas›n› aç›p acaba sorun nerede olabilir diye bakt›n›z m›?
fiimdi bir an için araban›z›n kaportas›n›n sadece imalatç› flirketin açabilece¤i flekilde kilitlendi¤ini ve "Acaba nerede sorun var?" diye kaportay› bile açamad›¤›n›z› düflünün nas›l hissederdiniz? Hele ki arabay› kurcalaman›n hobiniz
oldu¤unu bundan en az arabay› kullanmak kadar zevk ald›¤›n›z› düflünün, size
de çok korkunç geliyor de¤il mi?
Bir de kaportan›n aç›labilir olmas› bir yana, size araban›n flemalar›n›n verildi¤ini, bu flemalar›n üzerinde neyin ne ifle yarad›¤›n›n detayl› olarak izah edildi¤ini ve hatta herhangi bir müdahalede bulunman›z için gereken alet edevat›n
da sa¤land›¤›n› gözünüzün önüne getirmeye çal›fl›n. Hem de bütün bunlar›n
arabayla birlikte, siz talepte bile bulunmadan temin edildi¤ini düflünün.
Ve son olarak da tek bafl›n›za bin beflyüz kilometrelik bir yola ç›kaca¤›n›zda
bu arabalardan hangisini tercih edece¤inizi düflünün. ‹flte bu kontrol ile ilgilidir.
Kontrol düflkünü bir kifli, kulland›¤› ekipmana hakim olmak, bir sorun ç›kt›¤›nda
bir fleyler yapabilir olmak ister.
Özgür Yaz›l›m dünyas›n›n bence en büyük avantaj› da bu noktadad›r. Size
ö¤renmek istedi¤iniz ölçüde bilgi verip, almak istedi¤iniz kadar sorumluluk
sa¤lar. Bir yaz›l›m tam olarak istedi¤iniz fleyi yapm›yor mu, kernel'e kadar yolunuz var, buyurun u¤rafl›n. Ya da daha amatör yaklafl›yorsunuz, o detayda u¤raflmak sizin gözünüzü korkutuyor, o zaman birilerine dan›fl›n onlar size tarif
etsinler, k›lavuz eflli¤inde gidin. Tek gereken merak ve ilgi ve tabi biraz da kontrol ba¤›ml›l›¤›.
6 HABER LINUX
*006-007 Fazla mesai
9/27/06
3:57 PM
Page 3
Dokümantasyon:
Son zamanlarda dikkatimi çeken bir
davran›fl tarz›, bir bilgisayar problemini çözmeye çal›fl›rken hemen elimin internet'e gidiyor olmas›. Hatta
bunu daha da abart›p, bilgisayar›n
bafl›na oturdu¤umda internet ba¤lant›s› yoksa kendimi daha bir zay›f, daha bir zarar görebilir hissediyor oldu¤umu bile söyleyebilirim. San›r›m bu
da yine kontrol ile ilgili.
Öte yandan böyle bir internet
ba¤lant›s› olmad›¤›nda bile GNU/Linux sistemler size oldukça fazla miktarda doküman sa¤lar. Kurulan her
yaz›l›m paketi için /usr/share/doc alt›nda bir dizin vard›r ve o dizinde de
mutlaka size yol gösterecek baz›
ipuçlar› yer almaktad›r. Bu zaman zaman çok detayl› bir dokümantasyondur, bazen ise sadece basit kullan›m›
içerir.
Birçok insan›n elinden ç›km›fl bu
dokümanlar›n çok ilginç bir ortak noktas› var bence. Daha çok kiflisel tecrübelerime dayanarak söyleyebilirim
ki, flimdiye kadar hemen hemen hiçbir
durumda "tamam art›k daha ileri gidecek bilgi yok elimde" durumunda
kalmad›m. Yapacak bir fley kalmad›¤›,
daha ileri gitmenin mümkün olmad›¤›
durumlar olmad› m›, oldu elbet, fakat
bu durum tespitini bile dokümanlardan yapmak mümkün oldu.
Geçenlerde bir baflka iflletim sisteminde yeni bir yaz›c›y› yüklemek
için internet'ten sürücüsünü arad›m.
Resmi sitesinde yeralan sürücü yaklafl›k 40Mb büyüklü¤ündeydi ve içinde usb kablonun nas›l tak›laca¤›n›,
yaz›c›n›n kafas›n›n nas›l ç›kart›laca¤›n› anlatan iki video vard›. Fakat yine
ayn› sürücü dosyas›n›n içinde, kartufllardan siyah beyaz olan› bitti¤inde, renkli kartuflla nas›l olup da tek
renkli ç›kt› al›nabilece¤i ile ilgili en
ufak bilgi bile yoktu. Özgür Yaz›l›mlar
söz konusu oldu¤unda birçok de¤iflik
fleyle karfl›laflabilirsiniz ama inan›n
bana bu flekilde "ekmek yoksa pasta
yesinler" diyen ç›kmayacakt›r size.
Kullan›c› taban› ve destek:
Özgür Yaz›l›m projelerinin ilk aflamada en zay›f karn› gözüken ve en kolay sald›r›lan noktas› hep destek konusunda soru iflaretleri olmufltur. Hali haz›rda Özgür Yaz›l›mlar hakk›nda
garantili kurumsal destek firmalar›n›n say›s›n›n azl›¤› konusunda yalan
söyleyecek de¤ilim, ya da bu konuda
serbest destek veren kiflilerin ifl ciddiyeti hakk›nda.
Öte yandan, birçok kurumda IT
bölümlerinin "destek" kelimesinin anlam›n› bilmediklerini de rahatl›kla
söyleyebilirim. Bir fleye destek olmak
demek onun bütün yükünü tafl›mak
demek de¤ildir. Destek ikincil bir etkendir. Bir fleyin yükünü tafl›yan bir
yap› vard›r, bu bir binada kolonlard›r,
bir a¤açta gövdedir, bir asma köprüde kablolard›r. Destek ise, bu birincil
kaynaklar yetersiz kald›¤›nda tedbir
olarak devreye giren, yap›n›n çökmesini engelleyen sistemlerdir.
Maalesef IT bölümleri bu ikisini
ciddi flekilde birbirine kar›flt›rmakta,
destek veren firman›n ana yükü üstlenmesini beklemektedir. Halbuki iflin
as›l sahibi olan kurumun kendi bünyesinde temel ihtiyaçlara cevap verebilmek ve problem ç›kt›¤›nda araflt›rmada bulunup çeflitli çözümler
üretmeye çal›flacak yetkin personele
sahip olmas› gerekir. Destek böyle
bir yap› oldu¤u takdirde ifle yarar,
böyle bir yap› olmadan ise sadece y›k›lmay› bir miktar geciktirir.
Peki, IT bölümleri bu flekilde davrand›klar›nda Özgür Yaz›l›mlar konusunda ne destek bulabilirler? Öncelikle kurumsal alanda kullan›lmaya
de¤er hemen her yaz›l›m›n çok ciddi
bir birikime sahip e-posta listeleri/arflivleri bulunmaktad›r. Muhtemelen
daha önce birileri sizin yaflad›¤›n›z
problemi yaflam›fl ve çözmüfllerdir.
Karfl›laflt›¤›n›z problemlerin büyük bir
k›sm›n›n çözümlerini burada bulabilirsiniz. E¤er bunlar iflinizi görmezse bu
sefer interaktif olarak yard›m alabilece¤iniz birçok teknik IRC kanal› bulunmaktad›r. IT yöneticileri için IRC
kelimesi her ne kadar korkutucu gelse de, teknik personelin son birkaç
y›l içinde oldukça yo¤un olarak bilgi
al›flverifli için kulland›¤› bir ortamd›r
IRC. Ve birçok Özgür Yaz›l›m projesine destek için aç›lm›fl 7/24 destek
veren bu tür kanallar bulunmaktad›r.
Bu kanallarda konu hakk›nda çok bilgili kullan›c›lara rastlayabilece¤iniz
gibi, proje sahiplerine hatta bizzat
gelifltiricilerine bile ulaflman›z mümkündür, yeter ki usulünce soru sormay› bilin.
Bunlar›n bile yetersiz kald›¤› bir
yerde, yeterli bilgiye ulaflamad›¤›n›z›
düflündü¤ünüzde ya da size gerekli
olan fonksiyonun söz konusu yaz›l›m›n içinde yer almad›¤›n› fark etti¤inizde yapabilece¤iniz bir baflka fley
de direkt olarak yaz›l›m› gelifltiren kifliye ulafl›p ondan böyle bir özellik talep etmek olabilir.
‹nan›n bana özellikle bu son söyledi¤imi, "7/24 destek veriyoruz,
probleminize maksimum iki gün içinde kesin çözüm getiriyoruz" diyen
firmalar›n yüzde 99'u gerçeklefltirememektedir.
K›saca Özgür Yaz›l›m Projeleri'nin
istisnai genifllikte ve flafl›rt›c› derecede yard›ma aç›k bir kullan›c› taban›
var ve e¤er verilen cevab› anlayabilecek kadar konu hakk›nda araflt›rma
yapma zahmetine katland›ysan›z ve
karfl›n›zdakinin size bir iyilik yapt›¤›n›n bilincinde usulünce sorular›n›z›
sorarsan›z alabilece¤iniz deste¤in de
hiçbir flekilde s›n›r› yoktur.
‹flte bu üç temel özellik benim Özgür Yaz›l›m Projeleri'ne güvenmemi,
dahas› onlarla uzun projelere ç›karken flüphe duymamam› sa¤l›yor.
K›v›lc›m Hindistan
HABER LINUX 7
*008-013 Haberler
9/27/06
3:58 PM
Page 2
HABERLER
Pardus'a Osmanl›ca karakter deste¤i
Ankara Üniversitesi DTCF Felsefe
Bölümü Bilim Tarihi Anabilim Dal› ö¤retim görevlisi Ali R›za Tosun'un,
Pardus ekibi ile iletiflime geçmesi ile
hayata geçen proje ile art›k Pardus'ta Osmanl›ca bir metin haz›rlanabiliyor.
Ali R›za Tosun bu eksiklikten rahats›z olarak yaklafl›k alt› y›l önce
devlet bürokrasisinin kap›s›n› çalm›fl.
Yaklafl›k 40 kadar kurumdan onay almak zorunda kalan Ali R›za Bey, sonunda TSE'den 13026 numaral› "Osmanl›ca harflerin Türkçe klavyeye
uyarlanmas›" isimli standard› ç›karmay› baflarm›fl.
Ali R›za Tosun'un Pardus gelifltiricileri ile temasa geçmesinin ard›ndan
ekip ilgili konularda uzman olan Hakan Uygun'u durumdan haberdar ediyor. Asl›nda bir bilim tarihçisi olan ve
Osmanl›ca'y› okuyabilen Hakan Uygun gereken karakter setini haz›rl›yor. Böylece Pardus'a Osmanl›ca karakter deste¤i kazand›r›lm›fl oluyor.
‹lgili web siteleri:
Haber Kayna¤›: Ali Ifl›ngör Blog http://burkinafasafiso.com/2006/08/11/pardusa-osmanlica-karakter-seti-destegi/
Hakan Uygun Blog ve nas›l yap›l›r belgesi:
http://huygun.blogspot.com/2006/08/pardusa-osmanlca-karakter-destei.html
Pardus: http://www.pardus.org.tr/index.html
TSE'nin ilgili standard›: https://www.tse.org.tr/turkish/abone/
StandardDetay.asp?STDNO=54244&sira=0
SCO ile IBM davas›nda son durum
IBM, Unix kodunun baz› bölümlerinin
zimmete geçirildi¤i iddias›yla ilgili
olarak SCO ile girdi¤i hukuki savaflta
küçük bir zafer kazand›. ‹lgili mahkemenin (U.S. District Court Central Division District of Utah) hâkimi Brooke
Wells, IBM lehinde karar alarak IBM'in
SCO'nun iddialar›n›n k›smen s›n›rland›r›lmas› talebini kabul etti.
IBM ve SCO aras›ndaki anlaflmazl›k 2003 Mart'›na kadar geri gidiyor.
Bu tarihte SCO, IBM'in Unix yaz›l›m lisans›n› kötüye kulland›¤› ve Unix'le ilgili gizli ticari bilgileri Linux gelifltiricileriyle uygunsuz bir flekilde paylaflt›¤› iddias›yla IBM aleyhinde dava açm›flt›.
Kararda IBM'in, SCO'nun Sözde
Kötüye Kullan›lan Malzemeye ‹liflkin
‹ddialar›n›n s›n›rland›r›lmas›na yönelik
talebinde “kesinlik bulunmad›¤›ndan
SCO'nun zimmete geçirildi¤ini iddia
etti¤i belirli ö¤eleri kullanmas›n›n en-
8 HABER LINUX
gellenmesini istedi¤i” belirtiliyor.
Kararda mahkemenin SCO'ya iliflkin baz› sert ifadeleri de yer al›yor.
Mahkeme, IBM'in iddia etti¤i gibi, olmas› gerekti¤i flekilde ayr›nt›l› bilgi
sa¤lamaya yanaflmad›¤› için SCO'ya
itiraz ediyor.
Mahkeme karar›nda, "SCO'dan defalarca “tüm delilleri sunmas› istenmesine ra¤men, SCO adeta haks›z ç›kar sa¤lama umuduyla dokuzuncu
oturuma kadar davay› saklamaya çal›flm›flt›r” deniliyor.
Mahkemenin karar›nda, önceki
mahkeme kararlar›na göre, SCO'nun,
IBM'in sözde zimmetine geçirdi¤ini
düflündü¤ü malzemeleri aç›klamakla
yükümlülü¤ü oldu¤u belirtiliyor. Mahkemenin görüflü ise bunun gerçekleflmedi¤i yönünde.
SCO'ya aç›klanan kod miktar› dikkate al›nd›¤›nda, mahkeme, SCO'nun
tüm ayr›nt›lar› hala sa¤lamamas›n›
mazur görülemez buluyor.
Mahkeme karar›nda flu ifadelere
yer veriliyor: "Bir kifli bir ayakkab›
ma¤azas›ndan ç›karken durdurulup
h›rs›zl›kla suçlan›rsa, bu kifli, çald›¤›
iddia edilen nesnenin ne oldu¤unun
kendisine aç›klanmas›n› bekler. Yetkilinin suçlanan kifliye ‘Sen ne çald›¤›n›
bilirsin, bunu benim söylememe gerek
yok’ demesi saçmad›r”.
Konu ile ilgili IBM sözcüsü, “IBM'in
henüz sonuçlanmam›fl yasal ifllemlere
iliflkin yorum yapmad›¤›n›” belirterek
karara iliflkin yorum yapmaktan çekindi. SCO sözcülerinden biri ise flirketin hukuk ekibinin hâkimin karar›n›
gözden geçirdi¤ini ve bundan sonra
at›lacak ad›mlar› k›sa bir süre içinde
belirleyeceklerini belirtti. ‹ki flirket
aras›ndaki mahkeme ifllemleri büyük
olas›l›kla daha sürecek; ancak, davayla ilgili duruflman›n fiubat 2007'den
önce yap›lmas› beklenmiyor.
*008-013 Haberler
9/27/06
3:58 PM
Page 3
Linux 15 yafl›na bast›
25 A¤ustos 1991'de Linus Torvalds'›n
comp.os.minix'e gönderdi¤i afla¤›daki
e-posta ile resmen duyurulan Linux
iflletim sistemi çekirde¤i 15 yafl›nda.
From: [email protected] (Linus
Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most
in minix?
Summary: small poll for my new operating system
Message-ID:
<[email protected]>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix
- I'm doing a (free) operating system (just
a hobby, won't be big and professional
like gnu) for 386(486) AT clones. This
has been brewing since april, and is starting to get ready. I'd like any feedback
on things people like/dislike in minix, as
my OS resembles it somewhat (same
physical layout of the file-system (due to
practical reasons) among other things).
I've currently ported bash(1.08) and
gcc(1.40), and things seem to work. This
implies that I'll get something practical
within a few months, and I'd like to know
what features most people would want.
Any suggestions are welcome, but I won't
promise I'll implement them :-) Linus ([email protected])
PS. Yes - it's free of any minix code,
and it has a multi-threaded fs. It is NOT
protable (uses 386 task switching etc),
and it probably never will support anything other than AT-harddisks, as that's
all I have :-(.
Linux'un bir iflletim sistemi oldu¤una dair genel bilgi asl›nda yanl›flt›r.
Linux, iflletim sisteminin çekirde¤idir.
‹flletim sistemi, çekirdek ve çekirde¤in üzerine eklenen birçok uygulaman›n bütünüdür. Bu nedenle Richard
Stallman'›n 2004 y›l›nda Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü taraf›ndan düzenlenen Aç›k Kaynak ve
Özgür Yaz›l›m Günleri'nde üstüne basa basa vurgulad›¤› gibi, iflletim sistemi GNU/Linux'tur. Bu sebeple, da¤›t›mlar›n da adlar›nda GNU/Linux ibaresi bulundurmas› do¤ru oland›r, Debian GNU/Linux gibi.
Linus Torvalds'›n, Linux'u duyurdu¤u bu e-postan›n üzerinden yakla-
Linus
Torvalds
fl›k 15 y›l geçti ve Linux çekirdekli iflletim sistemlerinin bugün geldi¤i nokta ortada. Bu özel ve önemli gün, Türkiye'de de Linux Kullan›c›lar Derne¤i
(LKD) ve Elektrik Mühendisleri Odas›
(EMO) taraf›ndan düzenlenen bir do¤um günü partisi ile kutland›. EMO
Ankara fiubesi E¤itim Merkezi'nde yap›lacak etkinlikte özgür yaz›l›m üzerine konuflmalar, yönetmen Hannu Puttonen'in The Code adl› filminin gösterimi ve bir do¤um günü partisi yap›ld›.
‹lgili web siteleri:
Etkinlik duyurusu: http://gezegen.linux.org.tr/
LKD: http://gezegen.linux.org.tr/
EMO: http://ankara.emo.org.tr/
Aç›k Kaynak Günleri 2004: http://open.bilgi.edu.tr/workshop_2004/
Linus Torvalds e-postas›: http://lwn.net/2001/0823/a/lt-announcement.php3
Yenilikçi ‹fl Fikirleri Yar›flmas› bafllad›
Eskiflehir Yaz›l›m Üssü (EYÜ) bünyesinde yer alan Genç Giriflimci E¤itim
Merkezi (GGEM) taraf›ndan bir Yenilikçi ‹fl Fikri Yar›flmas› düzenleniyor.
Ülke genelinde düzenlenen yar›flman›n amac›, baflta üniversite ö¤rencileri olmak üzere genç giriflimciler aras›nda teknolojiye ve yenilikçili¤e dayal› giriflimcili¤i teflvik etmek ve desteklemek olarak aç›klan›yor. Yar›flma
sonunda verilecek e¤itim ve lojistik
desteklerle, kazanan projedeki fikrin,
teknoloji tabanl› yenilikçi bir ifle dönüflmesi ve bu sayede nitelikli iflgücü-
ne istihdam yaratmas› hedeflenmekte.
Yerli ve yabanc› birçok önemli firma ve kurumun destekledi¤i yar›flmaya kat›lmak için fikrin projelendirilip, 1
Kas›m 2006'ya kadar yar›flman›n web
sayfas›ndaki baflvuru formu ile birlikte De¤erlendirme Kurulu'na iletilmesi
gerekiyor. 15 Kas›m'da ön eleme so-
nuçlar› aç›klanacak ve bu aflamada
baflar›l› olan ekiplere EYÜ GGEM'de ifl
plan› haz›rlama, giriflimcilik, finansal
modelleme ve benzeri konularda e¤itim verilecek. 2007 y›l› boyunca devam edecek e¤itim ve de¤erlendirmeler sonucunda ülke ekonomisine 20
yenilikçi biliflim flirketi kazand›r›lmas›
hedefleniyor.
‹lgili web siteleri:
Yar›flma web sitesi: http://www.gencpatronlar.org.tr/
EYÜ web sitesi: http://www.eyu.org.tr/
EYÜ GGEM web sitesi: http://www.eyu.org.tr/gencgirisimci.asp
HABER LINUX 9
*008-013 Haberler
9/27/06
3:58 PM
Page 4
Google, at›l›mlar›na ODF'i de ekledi
K›sa bir süre önce Web tabanl› sözcük
ifllemcisi Writely'i sat›n alan, Google
Spreadsheet'i yaratan ve Google Calendar'› piyasaya sunan Google'›n,
çevrimiçi ofis alan›ndaki at›l›mlar›na
flimdi de genifl ODF (Aç›k Belge Biçimi) deste¤ini eklendi.
Google, 4 Temmuz haftas›nda sessiz sedas›z ODF Alliance adl› toplulu¤a kat›ld›. Bu topluluk, ODF kullan›m›n›n gelifltirilmesini ve art›r›lmas›n›
amaçl›yor. ODF üyeleri aras›nda, kar
amac› gütmeyen gruplar, kamu kurulufllar›, IBM ve Sun Microsystems gibi
ODF destekçisi belli bafll›
flirketler var.
ODF Alliance baflkan›
Marino Marcich flunlar›
söylüyor: "Google'›n
ODF'yle ilgili planlar›na iliflkin bir yorum yapamay›z;
ancak, aram›za kat›lmalar›ndan kesinlikle memnuniyet duyuyoruz. Son zamanlarda ODF dünyas›nda
(Belçika, Fransa ve Danimarka'da) çok olumlu geliflmeler oldu.
Tüm bu geliflmeler ODF'nin a¤›rl›¤›n›n
dünya çap›nda artt›¤›n› gösteriyor.”
Google'dan Alliance'a kat›ld›¤› konusunda henüz bir aç›klama gelmedi.
Google yetkilileri, kendileriyle görüflme ça¤r›lar›na henüz yan›t vermedi.
Yine de, Google'›n tüm kullan›c›lar›n›n
belge yaratma gereksinimlerine yönelik olarak ortak ve aç›k bir standart
kullanmas› mant›kl› görünüyor. Writely de zaten ODF'yi destekliyor.
Merkezi Washington DC'de bulunan ve aç›k kaynak gelifltiricileri ve
kullan›c›lar›n›n ç›karlar›n› temsil eden
bir sektör grubu olan OSAIA'n›n
(Open Source and Industry Alliance)
kamu politikas› direktörü Will Rodger,
Google'›n son hareketi ile ilgili belirli
bir yorumda bulunamayaca¤›n› ancak
Google'›n ODF'yi desteklemesinin yaln›zca internet ve Internet kullan›c›lar›
için yarar sa¤layaca¤›n› söyledi.
Rodger, "Internet'in geliflmesinin
önemli bir nedeni de altyap›s›ndaki
teknolojilerin kimsenin kontrolünde
olmamas›. Kontrol olmamas›, sektöre
yeni girenlerin çevrimiçi dünyada rekabet etme flans›n›n çok daha fazla
oldu¤u anlam›na gelir” diyor ve sözlerine flunlar› ekliyor: "Ancak, özel masaüstü uygulamalar›yla ile özel olmayan a¤ aras›ndaki ba¤lar belirsizleflirken, ileri teknoloji kullanan flirketler
Web'in iç yüzünü an›nda ö¤renebiliyor. Bu yaln›zca, bu flirketlerin en az
Internet'in kendisi kadar aç›k bir dosya biçimi istemeleri durumunda anlaml› olur. ‹flte bu dosya biçimi de
ODF'dir."
Lotus Notes da art›k Linux üzerinde
Masaüstünüzde art›k Lotus Notes yaz›l›m›n› çal›flt›rabileceksiniz. Lotus
Domino altyap›n›z Linux iflletim sisteminde çal›fl›yor mu? Art›k Lotus Notes istemciniz de Linux iflletim sisteminde çal›flabilir.
IBM, 10 Temmuz 2006'da IBM Lotus Notes for Linux adl› yeni platform
seçene¤ini duyurdu. 24 Temmuz
2006 tarihinden itibaren Lotus Notes
lisans sahipleri, Lotus Notes 7.0.1 yaz›l›m›n›, belirli Linux istemci iflletim
sistemlerinde çal›flt›rabiliyorlar. Etkin
bak›m hizmeti kapsam›ndaki Lotus
Notes lisans sahipleri bu seçene¤i ek
bir ücret ödemeden kullanabilecekler.
Lotus Notes for Linux, Lotus Notes 7.0.1 yaz›l›m paketi olarak sunulmaktad›r. Bu pakette Lotus Notes yaz›l›m›n›n Linux ifl istasyonlar›nda çal›flmas›n› sa¤layan baz› yard›mc› tek-
10 HABER LINUX
nolojiler yer al›yor. Bu ek
kod, IBM Workplace Managed Client'›n temelindeki
teknolojiye dayan›yor ve
“Hannover” kod adl› Lotus
Notes istemcisinin bir sonraki ana sürümünün de temelini oluflturuyor.
Lotus Notes for Linux ile,
WINE ya da VMWare gibi sanallaflt›rma yaz›l›mlar›n›n
kullan›lmas›na, IBM Workplace sunucusundan IBM Workplace Managed Client ürününün kurulmas›na ve “Hannover” için beklenmesine gerek kalmadan flirketler Lotus Notes
istemcisini bir Linux ifl istasyonunda
sorunsuz olarak kullanabilirler.
Bu yeni seçenek, Lotus Domino
sunucusu, Lotus Domino Web Access
ve Lotus Domino yönetim istemcisi
için Linux deste¤ine dayanarak Lotus
Notes ve Lotus Domino'nun Linux
üzerine tam olarak yerlefltirilmesini
sa¤l›yor.
*008-013 Haberler
9/27/06
3:58 PM
Page 5
HABERLER
IBM, Suse 10 Linux için Xen
sanallaflt›rma yaz›l›m›n› destekleyecek
IBM geçti¤imiz günlerde BladeCenter
ve di¤er x86 donan›mlar›nda Novell'in
Suse 10 Linux ürününü ve Xen sanallaflt›rma teknolojisini destekleyece¤ini aç›klad›. Ayr›ca, IBM Xen sanal makinelerinin kendi Virtualization Engine
alt›nda yönetilmesine de olanak sa¤layacak. Böylece IBM müflterileri birden çok Xen sanal makinesi tedarik
etmek ve bunlar› yönetmek amac›yla
IBM'in bilinen yönetim yaz›l›m›n› kullanabilecekler.
Xen, Intel ya da AMD ifllemci tabanl› ucuz bir sunucuyu her biri ayr›
bir uygulama çal›flt›ran birden çok sanal makineye dönüfltürebiliyor. Ücret-
siz kullan›labilen
bir aç›k kod olan
Xen'in önümüzdeki
birkaç y›l içinde
sunucu birlefltirmesinde önemli bir
rol oynamas› bekleniyor. Alt› ya da
yedi uygulama çal›flt›ran birlefltirilmifl bir sunucu tek
bir uygulama çal›flt›ran bir sunucuya
göre çok daha yüksek kullan›m oranlar›na ulaflabiliyor.
IBM'in bu deste¤i ile güçlenen Novell, Xen ile birlikte Linux'u yan›na
alarak rakibi Red Hat'›n önüne geçiyor. Her iki flirket de ilerideki Linux
da¤›t›mlar›nda Xen için destek sa¤layacaklar›n› aç›klad›. Novell, Web sitesinde Suse 10 da¤›t›m› için “son rötufllar›” yapmakta oldu¤unu belirtiyor.
Red Hat, bu y›l›n sonuna do¤ru
Xen 3.0 içeren bir da¤›t›m sunmay›
planl›yor. IBM, Red Hat, Xen 3.0 içeren da¤›t›m›n› ç›kard›¤›nda, flirketin
Xen'in Red Hat Linux'ta çal›flmas›n›
da destekleyece¤ini söylüyor.
Xen ilk olarak ‹ngiltere'de Cambridge Üniversitesi'nde gelifltirildi.
Xen'in yarat›c›lar› ürünün kullan›m›na
yönelik teknik destek sa¤layan bir ticari kurulufl olan XenSource'u kurdular.
Geçen y›l Xen'in daha geliflmifl sürümü olan 3.0 yay›nlanmaya haz›rlan›rken, sanallaflt›rma pazar›n›n lideri
VMware, aç›k kaynak koduyla rekabet
edebilmek için VMware sunucusunu
yaratt›. Temel düzeyde, tek sunuculu
bir sanallaflt›rma ürünü olan VMware
sunucusu ücretsiz olarak sunulmaktad›r. EMC'nin ba¤›ms›z bir ifl birimi
olan VMware, 2006'n›n ikinci çeyre¤inde 157 milyon USD gelir ve yüzde
73'lük bir büyüme oran› elde etti¤ini
aç›klad›. Gelirleri dört çeyrek dönemde de bu h›zla artmaya devam ederse, VMware y›lda 630 milyon USD gelir elde eden bir flirket olacak. EMC
daha önce Vmware'in gelirine iliflkin
rakamlar› aç›klamam›flt›.
IBM, HP ve Sun Microsystems aç›k
kaynak kodlu Xen için s›raya girerek
flu anda en büyük geliri VMware'in elde etti¤i geliflen sanallaflt›rma yaz›l›m› pazar›ndan pay elde etmek istiyorlar.
Ubuntu Certified Professional
Linux Professional Institute (LPI) sertifikalar›, RedHat Certified Engineer
(RHCE) ve Novell'in sertifikalar›ndan
sonra Linux camias›na yeni bir sertifikasyon haberi geldi. Son dönemin yükselen y›ld›z› Ubuntu için LPI ile Canonical firmas› iflbirli¤i ile haz›rlanan Ubuntu Certified Professional (UCP) s›nav›
Nisan 2006'da duyurulmufltu. Yeni
sertifkasyonun duyurulmas›ndan sonra
ilk UCP unvan›n› iki Güney Afrika'l› ka-
zand›: Johannesburg'dan Fred Strauss
ve Khayeni Ndlovu.
UCP s›nav›na, dünya çap›nda
yayg›n 7 bin Thomson Prometric
ve Pearson VUE test merkezlerinde girilebilir. Fiyat› 100 USD olarak
belirlenen s›nav, LPI taraf›ndan yap›lan 101 ve 102 s›navlar›n›n biraz
daha üst seviyesi olarak ve tek s›nav halinda düzenleniyor. UCP s›nav›nda baflar›l› olanlar ayn› za-
manda LPIC-1 sertifikas›n› almaya da
hak kazan›yor.
‹lgili web siteleri:
Kaynak haber: http://www.ubuntu.com/news/lpi1
LPI: http://www.lpi.org/
Thomson Prometric: http://www.prometric.com
Pearson Vue: http://www.pearsonvue.com
HABER LINUX 11
*008-013 Haberler
9/27/06
3:58 PM
Page 6
IBM ve Novell Linux paketlerinde
iflbirli¤ine gidiyor
IBM ve Novell, Kobi kanal› ortaklar›na
yönelik olan ve Windows ortam›yla
tam anlam›yla bütünleflen iki Linux
çözüm paketi için iflbirli¤i yapt›.
IBM'in LinuxWorld Expo fuar›nda
yapmay› planlad›¤› sekiz duyurudan
biri olarak, Linux donan›m ve yaz›l›m
da¤›t›m› sat›c›lar›, Integrated Stack
for Linux (Linux için Bütünlefltirilmifl
Paket) ve Integrated File and Print
Server for Linux (Linux için Bütünlefltirilmifl Dosya ve Yaz›c› Sunucusu)
ad›nda aç›k bir arakatman yaz›l›m çözümü gelifltirildi¤ini aç›klamaya karar
verdiler. Bu çözüm ilk olarak da¤›t›m
flirketi Avnet taraf›ndan yetkili sat›c›lara sa¤lanacak.
Integrated Stack for Linux çözümü Novell SUSE Linux 9, IBM xSeries
e-sunucular›, DB2 Express-C ve daha
önce Gluecode olarak adland›r›lan
WebSphere Community Edition'› içeriyor. Integrated File and Print for Linux çözümü ise SUSE Linux 9 ve Centeris Likewise'› içeriyor. Bu çözüm ile
bir Kobi müflterisi ya da orta¤› bir Novell SUSE Linux dosya ve yaz›c› sunucusunu kolayl›kla Windows ortam›na
ba¤layabiliyor.
Novell, NetWare müflterilerinin Linux'a geçmesini sa¤layarak ve Unix,
12 HABER LINUX
Windows ve Red Hat
dünyas›ndan yeni
Kobi müflterileri ekleyerek kazan›m elde
ederken yeni Linux
çözüm paketleri sunulacak.
Geçen ay›n sonlar›na do¤ru düzenlenen BrainShare konferans›nda, Novell
özellikle Kobi müflterilerini hedefleyen,
cazip fiyatl› Open Workgroup Suite
(Aç›k Çal›flma Grubu Setini) ürün paketini piyasaya sundu.
Ayr›ca, flirket, ortaklar› için piyasaya sürmeye haz›rland›¤› SUSE Linux Enterprise (SLES) 10 ve SLES
Desktop ürünlerine yönelik First Class
ad›nda iddial› bir e¤itim program› ç›karmay› planl›yor. Novell, iki günlük
çal›flma atölyesi olarak planlanan bu
program›n ortaklara ücretsiz olarak
sunulaca¤›n› ve 20 - 25 flehirde gerçeklefltirilece¤ini aç›klad›.
California Santa Barbara'da bir
Platinum orta¤› olan Novacoast yak›n
bir zamanda bir Debian müflterisini
SUSE Linux'a yönlendirerek Red
Hat'in izinden gidiyor.
Pek çok NetWare müflterisi Novell'in Linux platformuna geçmeyi
planl›yor. Novacoast, yak›n bir zamanda 60 flubeye sahip büyük bir
banka ile bankan›n tüm NetWare sunucular›n› Novell Open Enterprise
Server'a geçirmesi için bir anlaflmaya
vard›klar›n› aç›klad›.
California Fremont'taki KIS
Systems flirketinin CEO'su Sean Canavaro, Netware müflterilerinin Novell
Linux'a geçmeyi planlad›klar›n› ancak
bunun biraz zaman alaca¤›n› belirtti.
Ayr›ca “Novell müflterileri çok mant›kl›d›r ve bak›m masraflar› yüzde 3040 oran›nda daha düflük oldu¤u için
OES'e geçmeye çal›flacaklard›r” diye
belirtti.
*008-013 Haberler
9/27/06
3:58 PM
Page 7
HABERLER
“Skype for Linux”un yeni sürümü ç›kt›!
Linux kullan›c›lar›n›n ço¤u popüler
VoIP (Voice over Internet Protocol)
istemcisi olan Skype'nin Linux'a yönelik yeni sürümünün ç›kaca¤›ndan
umutlar›n› kesmifllerdi. Ancak yan›ld›lar. Haziran sonunda Skype 1.3 beta
sürümünü ç›kard›.
Bu yeni sürüm, en son sürümü
2.0.0.105 olan büyük kardefli Windows istemcisinin tüm özelliklerini tafl›mamakla birlikte, Linux sürümüne
yönelik olarak at›lm›fl büyük bir ad›m.
Linux istemcisi Trolltech Qt araç
tak›m› üzerinde oluflturulmufl; ancak
bunu kullanmak için KDE çal›flt›rman›z
gerekmiyor. Program GNOME üzerinde mükemmel bir flekilde çal›fl›yor.
Bunu, program› GNOME 2.14 sürümünü içeren Ubuntu 6.06 LTS (Dapper
Drake) sisteminde çal›flt›rarak s›nad›k.
Bu sürüm henüz “.1” güncellemesi
olmas›na ra¤men çok say›da önemli
özelli¤i beraberinde getiriyor. Örne¤in, hem eski OSS'yi (Open Sound
System; Aç›k Ses Sistemi), hem de
yeni ALSA'y› (Advanced Linux Sound
Architecture; Geliflmifl Linux Ses Mimarisi) destekliyor.
Ayn› zamanda Skype tabanl› konferans ça¤r›lar› için bir çoklu sohbet
göstergesi, kullan›fll› bir bafllang›ç sihirbaz› ve son olarak da "e-posta adresi" ba¤lant›lar› için bir posta program› yap›land›rma sistemi bulunuyor.
Bu e-posta bütünlefltirmesi için aç›k
sistem kullan›lmas›yla ayn› fley de¤il
ancak bunu flimdilik göz ard› edebiliriz.
Program›n rahats›z edici hatalar›n
ço¤undan temizlenmifl olmas› da gayet memnuniyet verici. Daha önceki
sürümlerde, program›n çökmesine kadar varacak flekilde çal›flmay› kesen
çeflitli hatalar oluflmas›, kullan›c› arabiriminin “hayalet” olaylar içermesi
ve baz› menü ö¤eleri ve simgelerinin
kullan›fls›z olmas› nedeniyle Linux kullan›c›lar›na eski sürümleri tavsiye
edemiyorduk.
Ancak program›n bu sürümü sorunsuz çal›fl›yor. Önceki sürümlerden
memnun kalan bireysel kullan›c›lar bu
sürümü de be¤enecekler, çünkü güvenlik duvarlar› ve NAT'den (a¤ adresi çevrimi) geçit sa¤layan program,
a¤ kurulumunu son derece kolaylaflt›r›yor. Di¤er yandan, bu özellik a¤ yöneticileri için o kadar da heyecan verici olmayabilir.
Ancak video-konferans gibi özellikler bekliyorsan›z hayal k›r›kl›¤›na
u¤rayabilirsiniz. Skype, PC'den PC'ye
ya da PC'den eski basit telefon sistemine ses aktar›m› sa¤layan iyi bir telefon program› ancak bir görüntü sistemi de¤il.
Yine de, program, kullan›m› kolay
olmayan sistemlerde bile iyi çal›fl›yor.
Program›
800MHz Via
ifllemcili, 128
MB RAM'li ve
20 GB sabit
diskli, eski bir
toplama sistemde SimplyMEPIS 6'n›n
en son sürümüyle ve
56Kb/s'lik bir
a¤ ba¤lant›s›nda çal›flt›rd›k.
‹deal olmaktan
son derece
uzak bu koflul-
larda bile PC'den PC'ye görüflmeler
son derece kullan›fll›yd›.
Elbette bu söylediklerimiz bir baflka Skype kullan›c›s›n› arad›¤›n›zda geçerli. Skype, VoIP için kendi özel protokolünü kullan›yor. fiirket, VoIP için
aç›k standart olan SIP'yi (Session Initiation Protocol) desteklemiyor. Dolay›s›yla, flu anda, VoIP için SIP ile
uyumlu Google Talk kullanan birini Linux üzerinden araman›n kolay bir yolu oldu¤unu söyleyemeyiz.
Ancak bu durum de¤iflecek.
RSDevs.com adl› küçük bir flirket
Skype ile SIP aras›nda bir a¤ geçidi
görevi görecek bir program üzerinde
çal›fl›yor. Bu program, yaln›zca Linux
VoIP istemcileriyle de¤il, ayn› zamanda güçlü bir aç›k kaynakl› telefon
anahtarlama ve PBX program› olan
Asterisk ile de çal›flt›¤› için gelecek
vaat ediyor.
Skype for Linux ço¤u da¤›t›mda
haz›r olarak sunuluyor. Özellikle, Debian tabanl› da¤›t›mlar, SUSE 9.x ve
ileriki sürümleri, Fedora 3 ve ileriki
sürümleri ve Mandriva 10.1 ve yeni sürümlerini destekliyor. Bununla birlikte, program›n tüm modern Linux sürümlerinde çal›flmas› gerekiyor.
Yapt›¤›m›z testlerde, bu ücretsiz
program›, daha önce söz etti¤im
programlar›n yan›nda, SUSE Linux Enterprise Desktop 10, Red Hat Enterprise Linux 4 ve Xandros 4 sistemlerine de gerçekten kolayl›kla kurdum.
Program, kurulum sonras›nda da tüm
bu iflletim sistemlerinde güzel çal›flt›.
Elbette, bu özel bir program. Bu
durumdan hoflnut de¤ilseniz, videokonferans özelli¤i içeren Ekiga (eski
ad› GnomeMeeting) ya da SIP ile
uyumlu bir telefon sistemi olan ve gerekli tüm özellikleri içeren Yate sizin
için daha uygun olacakt›r.
Son olarak, Skype kullan›c›s› olan
arkadafllar›n›zla görüflmek istiyorsan›z, bu yeni sürümün son derece istikrarl› ve herkes için iyi oldu¤unu söyleyebiliriz.
Steven J. Vaughan-Nichols
HABER LINUX 13
*014-015 Roportaj
9/27/06
3:59 PM
Page 2
RÖPORTAJ
“Linux alan›n› g
IBM Linux strateji yöneticisi, Linux'un alan›n› geniflletti¤ini söylüyor
IBM'in Linux Strateji Müdürü Adam Jollans, verdi¤i röportajda Linux'un farkl› sektörlerle büyük ve küçük ölçekli iflletmeler taraf›ndan benimsenmesiyle ilgili geliflmelere iliflkin
görüfllerini ve IBM'in bu e¤ilimlere yan›t vermek için kendi
Linux stratejisini nas›l uyarlad›¤›n› anlatt›.
IBM'in Linux stratejisinde ne gibi de¤ifliklikler oluyor?
Yedi ya da sekiz y›ld›r Linux iflinin içindeyiz. Linux ilk
bafllarda a¤ ucundaki bölüm sunucular› ve Web sunucular›
için kullan›l›yordu. Ancak, son zamanlarda Linux'un kritik
uygulamalar ve ifl uygulamalar›nda daha büyük çözümlerin
parças› olarak kullan›ld›¤›n› görüyoruz.
Sizin gözlemlerinize göre Linux özellikle hangi sektörler taraf›ndan cazip bulunuyor?
Linux özellikle finans alan›nda güçlü görünüyor. Wall
IBM Linux
Strateji Müdürü
Adam Jollans
Street bir süredir Linux'u kullan›yor. Bu tercihin nedeni de
hesaplar›n çok h›zl› gerçeklefltirilebilmesi. Linux'un baz›
bankalar taraf›ndan da kullan›lmaya baflland›¤›n› görüyoruz.
Bankalar flubelerini yenilerken müflterilerle iliflkilerin flubeyi ne kadar do¤rudan etkiledi¤inin fark›na var›yor. Dolay›s›yla müflteriler bir gün bir flubeyi, di¤er gün bir telefon sistemini, ertesi gün de bir Web sistemini kullanabiliyorlar. Linux'un kullan›ld›¤› ikinci alan perakende sektörü. Bu sektörde flubelerde ve ma¤azalarda bir teknolojik s›çray›fl yaflan›yor. Ancak Linux'ta flunu görüyoruz: ‹nsanlar uygulamalar›n
özellefltirilmesini istiyorlar; yani diyelim ki bir ödeme yap›yorlarsa ifllemin tamamen kendi tercihlerine göre özellefltirilmesini istiyorlar.
Linux kullan›m›n›n benimsendi¤i üçüncü alan ise kamu
sektörü. Kamu sektöründe amaçlanan daha az maliyetle yeni sistem hizmetleri sa¤lanmas›.
Kurumsal flirketlerle karfl›laflt›r›ld›¤›nda Linux'un küçük ve orta ölçekli iflletmeler için getirdi¤i zorluklar nelerdir?
Kobi'ler için maliyetin düflürülmesi ve esneklik çok
önemli, ancak ayn› zamanda destek, bütünlefltirme ve uygulama istiyorlar. Dolay›s›yla Kobi'ler için en önemli nokta ortaklarla aralar›nda bir a¤ kurulmas›. Kurumsal müflteriler de
maliyete dikkat ediyor, ancak aç›k kaynak ile ticari yaz›l›mlar›n nas›l bir arada kullan›laca¤›n› da önemsiyorlar.
Linux kullan›m› Kobi'lerde mi, kurumsal kullan›c›larda
m› daha yayg›n, böyle bir k›yaslama yapabilir misiniz?
fiimdiye dek kurumsal alanda Linux'un daha yayg›n olarak kullan›ld›¤›n› gözlemlemifltik. Ancak son dönemlerde
Kobi'lerin de Linux'a yönelmeye bafllad›¤›n› görüyoruz.
Kobi'lere yönelik olarak Linux çevresindeki ortaklar
a¤›n› geniflletmek için neler yap›yorsunuz?
San›r›m Linux kullanan ifl ortaklar›n›n say›s› en son yaklafl›k 5.000 - 6.000 civar›ndayd›. Biz, bu rakam› daha çok
art›rmak yerine, bu ifl ortaklar›n›n ifllerini büyütmelerine
yard›mc› olmaya odaklan›yoruz.
IBM'in Linux yaz›l›mlar›ndan elde etti¤i gelir ne durumda?
Linux'tan daha h›zl› bir flekilde art›yor. Bunun nedeni Linux'un basit görevler yerine daha karmafl›k görevler için
kullanmaya bafllanmas›. Dolay›s›yla güvenilir ifllem veritabanlar› ve Web uygulama sunucular› vb. talepleri ortaya ç›k›yor. Bu durumu özellikle Web uygulama sunucular›nda,
Web ticari sunucular›nda ve Linux ile di¤er parçalar aras›n-
14 HABER LINUX
*014-015 Roportaj
9/27/06
3:59 PM
Page 3
eniflletiyor”
daki bütünlefltirmede, ayr›ca sistem yönetiminde gözlemliyoruz.
Red Hat ve Novell ile gerçeklefltirdi¤iniz ortakl›klar›n yan›nda daha küçük olan di¤er Linux sat›c›lar›
ile çal›flmay› planl›yor musunuz?
Daha küçük oyuncularla sürdürdü¤ümüz ifl iliflkileri bir çeflit taktik olarak görülebilir. Ancak, özellikle
flirketlere yönelmeyi hedefliyoruz. fiirketler de daha
istikrarl› sistemler isteme e¤ilimindeler. Bu yüzden
daha çok Red Hat ve Novell'e odaklan›yoruz.
Baflar› elde etti¤ini düflündü¤ünüz daha küçük
Linux sat›c›lar› var m›?
Özellikle Ubuntu'yu dikkate de¤er buluyoruz.
Ubuntu, pek çok farkl› ülkeye son derece eriflilebilir
düzeyde masaüstü da¤›t›m› sa¤lamaya çal›fl›yor. ‹zlenimlerimize göre Linux'un genifllemesindeki etkenlerden biri de bilgi iflleme eriflen kitlenin büyümesi. Örne¤in Brezilya'da daha çok kiflinin bilgi iflleme eriflim
sa¤lamas› amac›yla yerel Linux'un PC'lerde kullan›ld›¤›n›
görüyoruz. Bir baflka örnek de 100 dolara dizüstü bilgisayar
sa¤lamay› hedefleyen MIT projesi.
Sanallaflt›r›lm›fl BT ortamlar›na yönelik e¤ilim IBM'in
Linux stratejisini nas›l etkiliyor?
Bilgi ifllem alan›nda nereye gitti¤imize bakacak olursak,
e¤ilimin giderek flu yönde oldu¤unu görüyoruz: Merkezde
farkl› yollarla sanallaflt›r›lm›fl bir bilgisayar havuzu var ve
bu bilgisayarlar daha sonra topoloji, kullan›labilirlik, ifllem
özellikleri vb. do¤rultusunda yeniden dinamik bir flekilde uygulamalar›n çal›flt›¤› alana atan›yor. Dolay›s›yla on y›l sonra
uygulamalar›n nerede çal›flt›¤›n› bilmeyece¤iz, üstelik bunun önemi de olmayacak. Linux bu tabloya çok iyi uyum
sa¤l›yor, çünkü birçok farkl› mimaride çal›fl›yor.
Bu yolda at›lm›fl bir ad›m olarak, BT altyap›s›n› sa¤lad›¤›m›z Amerika Aç›k Tenis Turnuvas› ve di¤er tenis turnuvalar›nda gerçeklefltirdiklerimizi sayabiliriz. Web sitesindeki
yükler çok de¤erli. Bu yüzden bir tür bilgisayar flebekesi
oluflturulmas›, hatta bunlar›n dinamik bir flekilde tedarik
edilmesiyle ilgili çal›flmalar yapt›k. Yük artt›¤›nda bunu otomatik bir flekilde tespit ediyor, daha sonra arka plandaki ifllemleri durdurup tenis Web siteleri için yeniden Linux Web
sunucular› tedarik ediyoruz. Tüm bunlar birkaç dakika içinde gerçeklefltiriliyor. Bilgi ifllem gücünü nereden ald›¤›m›z,
nas›l da¤›tt›¤›m›z ve süreci nas›l yönetti¤imiz konusunda
buradan bir ç›kar›m yapmak mümkün.
Linus Torvalds GPL'nin (General Public License) 3. sürümüne karfl› ç›kt›. Bu durum ne gibi de¤iflikliklere yol aç›yor?
Linus'un her türlü yorumu önemlidir, ancak GPL 3 henüz
ilk aflamas›nda. Bu konuda farkl› görüfller var.
GPL 2'de kalaca¤›m›z› düflünüyor musunuz?
Henüz buna iliflkin bir karar al›nd›¤›n› sanm›yorum; bunun için daha çok erken.
Linux'un masaüstünde kullan›lmas› hakk›nda neler
söyleyeceksiniz?
Masaüstünde kullan›m henüz çok yeni. Analistlere göre
pazar pay› hala tek haneli rakamlarda. Linux'un masaüstünde kullan›ld›¤› alanlar: uygulama gelifltirme, Hollywood animasyonlar› ve ça¤r› merkezleri ya da banka vezneleri gibi
hareketlerin k›s›tlanmas›n› istedi¤iniz alanlar. ‹flyerinde kullan›m›n yayg›nlaflmaya bafllad›¤› alanlar ise maliyetlerin düflürülmesi ve aç›k bilgi ifllem aç›s›ndan yararl› oldu¤u için
kamu ve e¤itim sektörü.
Masaüstü pazar›na bakacak olursan›z, uygulamalar ve
kullan›mlar› aç›s›ndan “yumurta m› tavuktan ç›k›yor, yoksa
tavuk mu yumurtadan” durumu söz konusu. Kullan›m olmadan uygulamalar ortaya ç›km›yor, uygulamalar olmadan ise
kullan›m gerçekleflmiyor. Ancak ba¤›ms›z yaz›l›m sat›c›lar›
aç›s›ndan önemi olacak yüzde 10 çizgisinde bir oynama noktas› oldu¤unu düflünüyorum.
Shelley Solheim
HABER LINUX 15
*016-019 Shell shock
9/27/06
4:00 PM
Page 2
Unix sistem yöneticilerini di¤erlerinden
ay›ran en temel özellik grafik arayüzlere pek de itibar etmiyor olmalar›d›r san›r›z.
Unix sistem yöneticileri, genellikle
GUI'leri "konuya yeteri kadar hakim olmayan kiflilere yard›mc› olan, onlara ne
yapacaklar› (yapabilecekleri) konusunda ipuçlar› veren arayüzler olarak görmekte ve tam da ayn› sebeplerden dolay› onlardan haz etmemektedirler.
Zira, sistem yöneticili¤i gibi ciddi bir
konuda çal›flan kiflilerin bu tür bir yard›mdan çok ifllerini h›zla ve etkin bir flekilde yapabilecekleri araçlara sahip olmalar› gerekir. Bu kiflilerin süslü ikonlara, ekranda okunabilir alan› azaltan tipbox'lara ve özellikle de "gerçekten ama
gerçekten emin misiniz bunu yapmay›
istedi¤inize?" diyen ekranlara ihtiyaçlar› yoktur. Dahas› hakim anlay›fl "konuya
yeteri kadar hakim olmayan" ve bu tür
yard›mlara ihtiyac› olan kiflilerin mümkün oldu¤u kadar söz konusu bilgisa-
16 HABER LINUX
yardan da uzak durup hakim olduklar›
yönlere yönelmeleri fleklindedir.
Öte yandan gözden kaçan önemli bir
nokta da Linux ve BSD baflta olmak
üzere Unix tabanl› sistemlerin oldukça
yayg›nlaflt›¤› günümüzde kullan›c›lardan sistem yöneticisi meziyetlerini bekleyemeyecek oldu¤umuzdur. Birçok
kullan›c› günümüzde daha güvenli ve
güvenilir bulduklar› için GNU/Linux'u ifl
istasyonu olarak
tercih etmektedir.
‹flin do¤rusu bu tercihlerinden dolay›
kimseden GNU/Linux camias›na kendilerini aday›p, bütün problemlerini
kendilerinin çözmesini bekleyemeyece¤imiz gibi, mümkün oldu¤u kadar
az u¤raflmayla gündelik ifllerini yapa-
bilir olmaya duyduklar› iste¤e de sayg›
göstermemiz gerekti¤idir.
Son y›llarda y›ld›z› parlayan Ubuntu
ve benzeri kullan›c› odakl› da¤›t›mlar da
tam bunu amaçlamaktad›r.
Bu durumda acaba bir orta nokta
bulmak mümkün olamaz m›? Yani hem
GUI'nin kolayl›klar›n› sunabilen, hem de
yeri geldi¤inde iflleri birçok pencere
aras›nda dolaflmadan h›zla halledebilen
*016-019 Shell shock
9/27/06
4:00 PM
Page 3
ce¤iniz The Friendly Shell'i, sisteminiz
Debian'›n paket sistemini destekliyorsa
apt-get install fish ile de kolayca kurabilirsiniz.
Kurulumun ard›ndan yapman›z gereken tek fley bir terminal ekran›na fish
yaz›p enter'a basmak.
di harfi girdikten sonra ise yeflile döndü¤ünü görürsünüz. Bu sistemde fire ya
da firefo diye bir çal›flt›r›labilir dosya olmad›¤›n› gösterir. Yani bir isim ancak
path'de bulundu¤unda rengi yeflile döner.
Tab ile Tamamlama:
Komut Sat›r›:
bir sistem oluflturulamaz m›?
ShellShock yaz› dizimizde biz de
tam bunu yapmaya çal›fl›yoruz. Bu iki
ekol aras›nda çok da net çizgiler olmad›¤›n›, birçok kullan›c›n›n korktu¤u konsol ekran›n›n asl›nda birçok araç ve
klavye k›sa yolu ile oldukça pratik kullan›mlara da izin verdi¤ini göstermek as›l
amac›m›z.
‹flte bu do¤rultuda, bu say›m›zda size kulland›¤›n›z mevcut kabuklardan
çok da farkl› olmayan, fakat birçok kullan›m kolayl›¤› sa¤layan bir yeni kabu¤u
tan›taca¤›z.
Söz konusu yaz›l›m›n ismi Fish. Friendly Interactive Shell'in k›saltmas›
olan Fish, özellikle de Özgür Yaz›l›m camias›na yeni kat›lanlar›n be¤enece¤i
birçok kolayl›klar getirmekte.
Daha önce bash, tcsh, zsh gibi kabuklar› nas›l çal›flt›r›yorduysan›z Fish'i
de ayn› flekilde çal›flt›r›yorsunuz.
http://roo.no-ip.org/fish/ adresinden kaynak kodunu indirip derleyebile-
Fish'i ilk çal›flt›rd›¤›n›zda fark edece¤iniz komut sat›r› prompt'unun de¤iflmesi olacakt›r. Her ne kadar bu daha sonradan da düzenlenebilir bir özellik olsa
da Fish kullan›c›@makina /dizin_ismi>
fleklinde bir prompt'a sahiptir.
Peki bu yeni kabukta ne yapabilirsiniz? Tabi ki komut ve argümanlar›n› yaz›p çal›flt›r›rs›n›z. ‹flte bu noktada Fish
önceki kabuklardan ayr›lmakta. Mesela
firefox yazmaya bafllad›¤›n›zda ilk baflta harflerin k›rm›z› oldu¤unu, bütün ye-
Geçen say›da Bash'in k›sa yollar›ndan
en önemlilerinden birinin tab ile gerek
çal›flt›r›labilir dosya isimlerinin gerekse
onlara argüman olan dosya isimlerinin
tamamlanabildi¤ini görmüfltük.
Fish'de de bu özellik desteklenmekte ve hatta daha da gelifltirilmifl gidilmifl. Hay›r bahsetti¤imiz Bash'in çal›flt›r›lan dosyaya göre programlanabilir tamamlama özelli¤i de¤il (mplayer gibi bir
medya oynat›c› çal›flt›rd›¤›n›zda argüman olarak sadece film ve müzik dosyalar›n› getirmek gibi). Bunun yerine daha
HABER LINUX 17
*016-019 Shell shock
9/27/06
4:00 PM
Page 4
paket/komut hakk›nda bilgi alabilirken,
birçok durumda komutun isminin akl›n›za gelmiyor olmas›d›r. Herkesin bir ara
"Yahu f ile bafllayan bir komut vard›
ama neydi? fiunun man sayfas›na bir
baksam" dedi¤i olmufltur.
Bu ihtiyaç Fish'i haz›rlayanlar›n gözünden kaçmam›fl.
Yapman›z gereken çok basit
man f <TAB>
ile hem man dosyas› olan f ile bafllayan komutlar› s›ralayabilir hem de bunlar›n ne ifle yarad›¤› hakk›nda çok basit
de olsa bir fikir alabilirsiniz.
Komut tarihçesi:
basit ama daha yararl› olabilecek bir
fley düflünülmüfl ve seçti¤iniz çal›flt›r›labilir program›n seçenekleri tamamlanmaya bafllanm›fl.
Ne demek istedi¤imizi biraz daha
kolay anlaman›z için flunu yaz›n (Tabi
Fish'de oldu¤unuzu varsayarak)
cp -ve tab tuşuna basın.
Gördü¤ünüz ekran basitçe man cp komutu ile görebilece¤iniz cp (copy) komutuna ait komut sat›r› parametrelerinin bir listesi. Özellikle ilk bafllarda (ve
ilerleyen y›llarda) bu parametreleri ezberlemekte zorluk çekenler için birebir.
Bu ekrandan istedi¤iniz seçene¤in
bafl harflerini yaz›p Fish'in sizin için tamamlamas›n› bekleyebilirsiniz.
Ayn› flekilde e¤er bir argüman› yanl›fl yazarsan›z fish onun rengini k›rm›z›
yaparak size haber verecektir.
Örnek:
ls --colour
yazmay› bir deneyin ve ard›ndan colour'u color'a çevirin.
De¤iflik bir dosya listesi:
Bir baflka güzel özellik de yine argüman
tamamlamaya eklenmifl. Diyelim ki
mplayer ile bir dosyay› göstereceksiniz
mplayer dizin ismi yaz›p tab'a bast›¤›n›zda önünüze bu dizindeki dosyalar›n
isimleri, cinsleri ve boyutlar› geliyor.
Man Tar?
Birçok kullan›c›n›n en rahats›z oldu¤u
fleylerden biri de man komutu ile birçok
factor
faillog
false
fan
(1: factor numbers)
(5: Login failure logging file)
(1: do nothing, unsuccessfully)
(1: turn the fan on/off on a Toshiba Pentium(tm) lap
top)
fastjar
(1: archive tool for Java archives)
fastjar-4.1
(1: archive tool for Java archives)
fbdev
(4: video driver for framebuffer device)
fbrun
(1: display run dialog window)
fbsetbg
(1: "set a background/wallpaper")
fbsetroot
(1: a simple background utility used by the Fluxbox
window manager, origin$)
fc-match
(1: match available fonts)
fd
(4: floppy disk device)
fdformat
(8: Low-level formats a floppy disk)
fdisk
(8: Partition table manipulator for Linux)
fdlist
(1: Floppy disk mount utility TQ)
fdmount
(1: Floppy disk mount utility TQ)
fdmountd
(1: Floppy disk mount utility TQ)
fdrawcmd
(1: send raw commands to the floppy disk controller
TQ)
fdumount
(1: Floppy disk mount utility TQ)
fdutilsconfig (8: configure the suid bit of fdmount)
feh
(1: image viewer and cataloguer)
feh-cam
(1: a utility for viewing live webcam images
gen_cam_menu.sh - a utility for$)
sundance@blackstart /home> mplayer ~sundance/fun/<TAB>
$ce/fun/NBA1992.avi
(AVI video, 588MB)
$ce/fun/down.sh
(Shell script, 1,4kB)
$ce/fun/TheCode.wmv
(WMV video, 26MB)
$ce/fun/FreedomDowntime.avi
(MPEG video, 701MB)
18 HABER LINUX
Bash'de komut tarihçesinde bir aramay› Ctrl-R ile yapabilece¤imizi göstermifltik. Benzer flekilde Fish'de de arama
yapman›z mümkün, fakat çok daha kolay bir flekilde.
Mesela daha önce mplayer ile bir
dosyay› izlemiflseniz, yapman›z gere-
ken mplayer yaz›p yukar› ve afla¤› tufllara basarak arama yapt›¤›n›zda, önünüze sadece içinde mplayer olan sat›rlar gelecektir. Her ne kadar benzese de
*016-019 Shell shock
9/27/06
4:00 PM
Page 5
bu yöntemin Ctrl-R'den daha pratik oldu¤u kesin.
Fish düflünmez, çünkü fish bilir:
Gördü¤ünüz gibi fish birçok aç›dan kabuk kullan›c›s›n›n iflini kolaylaflt›rmay›
amaçl›yor ve bunu oldukça da iyi baflar›yor.
Peki yapabildikleri bu kadarla s›n›rl›
m›? Tabi ki de¤il.
Komutlar ve argümanlar› konusunda mümkün oldu¤u kadar kullan›c›n›n
ne yapmak istedi¤ini anlamaya çal›flan
Fish, bunun d›fl›ndaki komut sat›r› girdileri konusunda da size elinden geldi¤ince yard›mc› olmaya çal›fl›yor.
Örnek olarak, komut sat›r›nda flunu
yaz›n:
Programlama:
Paranoya seviyesinde siyah ekrandan
korkanlar› saymazsak, birçok bilgisayarc›y› korkutan Unix özelliklerinin bafl›nda "shell programlama" gelir. Shell
Shock serisinde de gördü¤ümüz gibi,
her ne kadar ifliniz görecek kadar shell
programlamak zor olmasa da, kulland›¤›
yaz›m kurallar› yüzünden, ister baflkas›,
ister siz yazm›fl olun, bir süre önce yaz›lm›fl olan bir kodu tekrar incelemek ve
ne yapt›¤›n› anlamak genelde zor olmaktad›r.
Dahas› hacker ekolünden gelen birçok programc›n›n destekledi¤i bir arge
yöntemi vard›r: iflinizi görecek birkaç
sat›r shell kodu yazars›n›z, sonra buna
yeni bir özellik eklersiniz, sonra bir
daha sonra bir daha ve kendinize
geldi¤inizde görürsünüz ki yanl›fl bir
araçla do¤ru ifli yapmaya çal›fl›yorsunuz. Teoride shell programlaman›n sonu olmasa da, yard›mc› konsol
komutlar›yla hemen hemen her fleyi
yapabilir olsan›z da, bu türden bir
program için muhtemelen baflka bir
programlama dili kullanman›z do¤ru
olur.
‹flte bu korkutucu yaz›m dizini
TheFishShell'de de¤iflmifl, bunu özellikle döngülerde görebiliyoruz.
Bu de¤iflimin iki yönü var. Öncelikle yap›lan bütün de¤ifliklikler uzun
süredir shell programlayan herkesin
"flunu de¤ifltirseler ne iyi olur" diyece¤i türden.
Öte yandan bu de¤ifliklikler yüzünden eski shell betikleri ne yaz›k ki çal›flmamakta.
Tabi ki düzgün yaz›lm›fl bir shell beti¤inin ilk sat›r›ndaki shebang'de hangi
kabuk yorumcusu ile çal›flaca¤› (bash,
sh, csh, zsh tcsh vs.) yazd›¤›ndan bu da
çok fazla problem olmayacakt›r.
GUI mi Shell mi?
Bu ebedi soruya san›r›m verilebilecek
en iyi cevab› TheFishShell veriyor. Ne
tür bir arayüz kullanaca¤›n›z› tabi ki
yapaca¤›n›z ifl belirliyor. Fakat e¤er
shell kullanacaksan›z TheFishShell'i
kullanman›z iflinizi oldukça kolaylaflt›racakt›r.
foo=bar<tab>
karfl›n›za flöyle bir uyar› ç›kar:
fish: Unknown command
'foo=bar'. Did you mean 'set foo bar'? For information on assigning values to
variables, see the help section on the set command by
typing 'help set'.
Gördü¤ünüz gibi fish yine ne
yapmak istedi¤inizi anlad› ve
akl›n›zdan geçeni tahmin etmek
d›fl›nda size yapabilece¤i yard›m› yapt›, ad›ndan da daha fazla
bilgi için help set komutunu çal›flt›rman›z› söyledi.
HABER LINUX 19
*020-023 Klavye fareye karsi
9/27/06
4:01 PM
Page 2
Klavye fareye karfl›!
WMII: Yeni nesil bir pencere yöne
20 HABER LINUX
*020-023 Klavye fareye karsi
9/27/06
4:01 PM
Page 3
neticisi
Pencere yönetimi, fare gibi düflük bant
geniflli¤ine sahip bir ayg›ta b›rak›lamayacak
kadar önemlidir.
Jim Mackraz
Bu girifl sözünü aç›klamama izin verin. Önünüzde bilgisayar ile iletiflim
kurmak için iki cihaz var, bir klavye
ve bir fare. Sizin bu iki cihazla iletiflim kurmak için aktard›¤›n›z veriyi
düflünün. Fareyle, yukar›-afla¤›, sola-sa¤a hareket ettirerek, tufllar›na
basarak, ya da hareket ettirirken
tufllar›n› kullanarak iletiflim kurars›n›z. Bu iletiflim ile üretebilece¤iniz
farkl› bilgiler "mouse gestures" diye tabir edilen hareketlerle birlikte
dahi çok çeflitli olmayacakt›r.
Klavye için durum çok farkl›.
Standart bir klavyede en az 100 tufl
bulunuyor. Al›n size flimdiden 100
farkl› iletiflim metodu. Bu arada,
klavye ile iletiflim kurarken, farede
oldu¤u gibi 3 parmak ile s›n›rl› kalmad›¤›n›z› (zamane farelerinin baflparmak alt›nda da tuflu var), 10 parmak kullanabildi¤inizi de unutmay›n. Bu 100 tuflun temel ifllevi yaz›
yazmak oldu¤undan bir fleyler kontrol etmek için kullanmak manas›z
olacakt›r fakat etrafta CTRL, ALT,
WIN, SHIFT gibi tufllar da var. Al›n
size kontrol için "yüzlerce" seçenek! ‹flte giriflteki "düflük bant geniflli¤i"nden kas›t budur.
Bu konu ile ilgili detayl› bir yaz›
okumak istiyorsan›z kaynak [a]'y›
gözden geçirmeyi unutmay›n.
Bilindik pencere yöneticileri
karfl›t› bir bölüm
Herfley ara ara Emacs[emacs] ipuçlar› paylaflt›¤›m›z bir arkadafl›ma
"XSteve's Emacs Power User
Tips"[xsteve] adresini iletmemle
bafllad›. Adresi yollamam›n ertesi
günü, sayfadaki ion3[ion3] adl› yaz›l›m› arkadafl›m çoktan bilgisayar›na kurmufl, bir süre kurcalay›p kendisini rahat hissetmeyince Gnome'a
geri bile dönmüfltü.
ion3'ün sitesindeki yaz›y› okuyunca, ion3'ün pencere yönetiminin
bana Gnome, KDE gibi masaüstü ortamlar›n›n yönteminden daha mant›kl› geldi¤ini fark ettim. Yaz›da basitçe üst üste binen pencerelerin
yaratt›¤› karmafla ve bundan kurtulmak için projenin seçti¤i yol anlat›l›yor. Mizahi bir dille, ion3'ün söylediklerini size aktarmadan geçemeyece¤im:
“Da¤›n›k ve üst üste binmifl pencereleri mouse ile bile düzenlemek
iflkence. Bu karmaflay› yaratan
‘pencere yöneticileri’, bu ifli kullan›c›ya b›rakarak nas›l ‘yönetim’ yapt›klar›n› san›yorlar!”
Bu konuya bulunan çözüm de
pek karmafl›k de¤il. Ekran› belli parçalara bölüp, pencerelerin boyutlar›
bu parçalardaki alanlara göre otomatik ayarlamak. Bu kadar ion3
reklam›ndan sonra ilginizi bu yaz›l›ma aktarmay› baflarabildiysem, lütfen denemekten çekinmeyin, çünkü
size art›k wmii anlatmaya bafllayaca¤›m!
wmii
ion3'ten bu yeni pencere yönetimi
sistemini ö¤rendikten sonra biraz
araflt›rd›m ve "sitesini be¤endi¤im
için" wmii'› denemeye karar verdim.
Bu son k›s›mda bu programc›¤› sizinle h›zl›ca paylaflaca¤›m.
Debian/Ubuntu kullan›c›s›ysan›z
libx11-dev ve build-essential paketlerini yükleyin ve http://www.wmii.de/wmii/ adresindeki wmii-3.1
tar.gz dosyas›n› çekin. Dosyay› açt›ktan sonra config.mk dosyas›ndaki kurulum yolunu düzenleyin, "make" komutu ile derleme ifllemini bitirip, "make install" deyip kurulumu
çal›flt›r›n.
Kurulumdan sonra yaz›l›m› ça-
HABER LINUX 21
*020-023 Klavye fareye karsi
9/27/06
4:01 PM
l›flt›rmak için ev dizininizde “.xsession” dosyas›n›n içerisine "exec [kurulum yolu/wmii]" yaz›n ve dosyay› çal›flt›r›labilir k›l›n (chmod +x).
Bu h›zl› kurulum aflamas› sonras›nda Gnome ya da KDE'den ç›k›p, girifl
yöneticisi (gdm, kdm) ayarlar›ndan
"Geçerli Sistem Oturumu"nu seçin ve
girifl yap›n. Karfl›n›za wmii'›n "Merhaba" mesaj› gelecektir.
Bu noktadan sonra referans verece¤im resimlere http://tinyurl.com
/plmu9 adresinden eriflebilirsiniz. Bu
referanslar›n dergi sayfalar›nda
gördü¤ünüz resimler ile bir ba¤lant›s› yoktur.
wmii pencerelerinizi sizin yerinize yönetir. Bu yönetim tarz›n›n en
büyük yetisi ekran alan›n› tam olarak kullan›p pencereleri tüm monitörünüze da¤›tmas›d›r. Çal›fl›rken 5
tane terminal aç›p, aktif olarak her
pencereyi görmek istedi¤inizi düflünün. o pencerenin boyutunu de¤ifltir, sola çek; öbürünü de¤ifltir, yukar› götür. O bunun üzerine ç›kt›, ay!
her birinden 5 pixel daha yer alay›m. Tam bir iflkence!
Bu yönetim tarz›n› denemek için
3-5 kere Alt+Enter'a bas›n. Her bas›fl›n›zda bir xterm penceresi ç›kacak, wmii ekrandaki pencerelerin
boyutunu k›s›p yenisine yer açacak.
Nas›l, "o pencereyi k›s, di¤erini
tafl›" ifllemine gerek kalmadan, rahatça "tüm" ekran alan›n› kulland›k.
22 HABER LINUX
Page 4
E¤er seçili de¤ilse en alttaki pencereye geçin. Hay›r hay›r b›rak›n fareyi,
Alt + k ile en alta inin. Ayn› flekilde, yukar› ç›kmak için de Alt + j kullanabilirsiniz. fiu an wmii, bu ekran için varsay›lan pencere yerleflimini kullan›yor.
Alt + s tufluna bast›¤›n›zda sadece
pencere bafll›klar›n›n göründü¤ü baflka
bir moda geçebilirsiniz. Ayr›ca, Alt + j
yerine Alt + Shift + j'ye basarsan›z, aktif pencere ile üstündeki pencere yer
de¤ifltirecektir. Bu tüm yön tufllar› için
(birazdan bahsedece¤im) geçerlidir.
Ekranda ikinci bir sütun yaratmak için Alt + Shift + l'ye bas›n.
wmii ekran› ikiye bölecek, aktif
pencereyi sa¤ tarafa yerlefltirecektir. Sola yerlefltirmesini isterseniz de Alt+ Shift + h ye basabilirsiniz. fiimdi bast›¤›n›zda önce
di¤er pencerelerin alt›na, sonra
da sol tarafa alacakt›r. Wmii pencereleri sütunlar üzerinden yönetir. Bir sütunu bir moda, di¤erini
di¤er moda geçirebilir, bu paragrafta bahsetti¤im gibi, sütunlar
aras›nda pencereleri aktarabilirsiniz.
Temel pencere yerleflimlerinden sonra boyutland›rmadan ve
fare kullan›m›ndan bahsedelim.
Bir pencerenin sütununu ya da
sütundaki yerini de¤ifltirmek için
Alt tufluna basarken pencereyi
sürükleyin.
Boyun de¤ifltirmek için de
Alt'a bas›l› tutarken sa¤ tuflu kullan›n. Bunun gibi fare gerektiren durumlarda fare kullanmak istemiyorsan›z [kurulum dizini]/etc/wmiirc dosyas›n› düzenleyip ilgili betiklerini yazman›z gerekecek. Dosyan›n içine bak›nd›¤›n›zda her tufl için hangi komutun çal›flt›r›laca¤›n› görebilir, düzenleyip istedi¤iniz herhangi bir tufl kombinasyonuna herhangi bir ifli atayabilirsiniz.
Bu tarz iflleri "wmiir" komutu ile yapacaks›n›z.
wmii'›n bir hofllu¤u da kabaca
*020-023 Klavye fareye karsi
9/27/06
4:01 PM
Page 5
Kaynak
[a] http://www.mired.org/home/mwm/papers/windowing.html
[b] http://www.fazlamesai.net/?a=article&sid=4149
[c] http://www.fazlamesai.net/?a=article&sid=1155
[d] http://www.modeemi.fi/~tuomov/ion/
[emacs] http://www.gnu.org/software/emacs/
[xsteve] http://www.xsteve.at/prg/emacs/power-user-tips.html
[ion3] http://www.modeemi.fi/~tuomov/ion/
"uzaktan kumandal›" olmas›d›r.
"wmiir read /" deyip ç›kt›ya bir
bak›n. Bu özel dosyalara "wmiir
write" ile yazabilirsiniz. Komutun
detayl› kullan›m›, sanal dosya uçlar› için wmii dokümantasyonuna
bakman›z› istiyorum. Basit bir
örnek olarak, ekran›n alt›ndaki
durum çubu¤unun sa¤ taraf›n›
düzenleyen, [kurulum dizini]/etc
/status dosyas›na göz atabilir ya
da sitesindeki "code snippets"
k›sm›n› okuyabilirsiniz. Çal›flma
alan› yönetimi ya da günlük kullan›m için gerekli tufllar›n listesini
yaz›n›n içinde, tablo fleklinde bulabilirsiniz.
Her fley güzel, hofl peki ya
standart, klasik pencere yönetim
seçene¤imiz yok mu? Elbette bu
unutulmam›fl. Alt + Shift + Space
tufluna bast›¤›n›zda aktif pencere yüzer moda geçecektir. Bu
modda yukar›da bahsetti¤im tufl
kombinasyonlar› ile pencerelerin boyutunu de¤ifltirebilir, tafl›yabilirsiniz.
wmii'i ö¤renmeye bafllamak için
[kurulum dizini]/etc/wmiirc komut
dosyas›n› ve sitesindeki e-posta listesi
arflivlerini tarayabilirsiniz. Yaz› ile ilgili görüflleriniz baflta olmak üzere, eposta yollamaktan çekinmeyin.
Can Burak Çilingir
Tablo
Alt + h,j,k,l
: Soldaki (h), sağdaki (l), üstteki (j), alttaki (k) pencereye geç.
Alt + Shift + h,j,k,l : Seçili pencereyi soldaki (h), sağdaki (l), üstteki (j), alttaki (k)
pencereyle değiştir.
Alt + [rakam]
: Geçerli pencereyi [rakam] ile etiketle
Alt + Shift + [rakam] : [rakam] ile etiketlenmiş pencereleri göster
Alt + d (default)
: Varsayılan pencere yönetim moduna geç
Alt + s (stacked)
: Pencereleri üst üste binecek şekilde yönet
Alt + m (maximized)
: Sadece aktif pencereyi göster
Alt + p
: Program çalıştır
Alt + a (actions)
: wmii işlerini çalıştır (programdan çıkmak için buradan "quit" denemiz
gerekiyor)
: Aktif pencereyi yüzer pencere durumuna getir ya da geri al (bildiğimiz
standart pencere yönetimi, bkz: Şekil 4)
Alt + Shift + Space
HABER LINUX 23
*024-026 Belediye
9/27/06
4:03 PM
Page 2
KAPAK KONUSU
Belediyeler Linux
ile tan›fl›yor!
UNDP projesi çerçevesinde Linux e¤itimleri alan Bahçelievler Belediyesi,
Linux'u belediye bünyesinde kullanmaya bafllad›
Birleflmifl Milletler Gelifltirme Program› (UNDP) ile Bulgaristan ‹nternet
Derne¤i (ISOC-BG), geçti¤imiz y›l›n bafl›nda belediyelerin özgür ve aç›k kaynak kodlu yaz›l›mlar› daha etkin bir flekilde kullanabilmeleri ve bu sayede internet hizmetlerini daha h›zl› ve verimli sunabilmeleri için bir program
bafllatt›. Özgür ve Aç›k Kaynak Kodlu
(ÖAKK) yaz›l›mlar› öne ç›kartan bölgedeki bu ilk proje, Bulgaristan'›n yan› s›ra Bosna Hersek, H›rvatistan, Makedonya, S›rbistan ve Karada¤ bölgelerini kapsayacak flekilde düflünülmüfl.
Projenin son safhas›nda Türkiye de
24 HABER LINUX
devreye al›nm›fl ve ‹stanbul'da Bahçelievler Belediyesi'ndeki bilgi ifllem
merkezi, kapsaml› bir e¤itim çal›flmas›
yard›m›yla Linux ile tan›flt›r›lm›fl.
Projenin ilk aya¤› 18 ay sürmüfl.
Bulgaristan - Türkiye s›n›r›na çok yak›n olan ve ço¤unlu¤unu Türklerin
oluflturdu¤u K›rcaali (Kurdjali)* flehri
ilk pilot bölge olarak seçilmifl. fiehrin
belediye baflkan› Hasan Aziz, UNDP ve
ISOC-BG'den, vatandafllar›n belediyenin sundu¤u servislere daha rahat
ulaflmas›n› sa¤layabilmeleri amac›yla
destek istemifl. Bu taleple birlikte, projenin pilot bölgesi olarak K›rcaali seçil-
mifl ve di¤er pilot bölgeler ise Avrupa'n›n güney do¤usundaki belediyeler
olarak saptanm›fl.
“Geçen y›l sadece K›rcaali'de, eski
ve kullan›lamaz hale gelen bilgisayarlar›n yüzde 40'›na Linux ve ince istemci yap›s› kurularak bunlar›n tekrar geri
dönüfltürülmesi sa¤land›” diyen projenin Türkiye aya¤›n›n koordinatörü Görkem Çetin; “Projenin Türkiye baca¤›nda Bahçelievler Belediyesi ile bir pilot
çal›flma yap›ld›. Pilot çal›flma s›ras›nda
belediyenin bilgi ifllem merkezi çal›flanlar›na Open Office ve Linux e¤itimi
verildi. Toplam 7 bilgi ifllem eleman›,
*024-026 Belediye
9/27/06
4:03 PM
Page 3
50 saati aflan e¤itim sonunda Linux ve
Open Office hakk›nda bilgi ald›lar.
Özellikle Linux'un sunucu olarak nas›l
kullan›laca¤›, sistem yönetimi, dosya
ve yaz›c› paylafl›m yöntemleri ile Open
Office'in masaüstündeki çeflitli kullan›m senaryolar› kat›l›mc›lara aktar›ld›.
Bilgi ‹fllem Merkezi Sistem Uzman› Ersen Denli ve 6 çal›flan, e¤itim sonunda
sertifikalar›n› teslim ald›lar” diye konufltu.
Bahçelievler'de Linux ça¤›
lirtiyorlar. E¤itim; Linux'un dosya sunucusu olarak kullan›lmas›, e-posta sunucu olarak yap›land›r›lmas›, terminal
ekran› ve komutlar›, Linux disk yap›lar›, dosya sistemleri ve güvenlik yönetimi konular›n› içeriyor. Ayr›ca Linux'un
firewall olarak kullan›m› ile ilgili çok
detayl› bir e¤itim verilmifl.
Bahçelievler Belediye Baflkan› Osman Develio¤lu Linux projesinin belediyeleri için anlaml› oldu¤u kadar ülke
için de çok anlamlar tafl›d›¤›n› belirtiyor.
E¤itimin tamamlanmas› ile birlikte beHizmetler Open Office
lediyede ÖAKK yaz›l›mlar›n kullan›m›ile verilecek
n›n da önü aç›lm›fl. Bilgi ‹fllem MerkeErsen Denli, “Open Office taraf›nda
zi'ne iki Linux sunucusu ifllem yapmaise, bu uygulamay› kullanacak olan beya bafllarken, 45'e yak›n bilgisayarda
lediye çal›flanlar›na program›n kullan›da Open Office kurulmufl. Bu say›n›n
m› ile ilgili detayl›ca e¤itim verildi. Kulçok k›sa bir sürede 60'a ç›kmas› beklelan›c›lar›m›z al›flageldikleri ofis paketniyor.
lerine çok benzeyen, onun kadar kullaProjeden nas›l ve ne zaman habern›fll› ancak ücretsiz olan bu ürünü çok
dar olduklar›n› sordu¤umuz, Bahçelibe¤endiler. Muadil ofis yaz›l›mlar›n›n
evler Belediyesi Bilgi ‹fllem Merkezi
de¤eri 300 dolar civar›nda iken Open
Sistem Uzman› Ersen Denli, “Proje ile
Office ise tamamen ücretsiz” diyor.
ilgili duyuruyu e-mail ile alm›flt›k daha
E¤itimler tam olarak 09.05.2006
önce. Ancak Görkem Çetin ile irtibata
tarihinde bafllam›fl ve 01.06.06 tarihigeçmemiz Kas›m 2005 tarihlerinde olne kadar devam etmifl. Oldukça esnek
du. Daha sonra yap›lan görüflmelerde,
bir e¤itim takvimiyle haftada iki ya da
bu projeyi Bahçelievler Belediyesi olaüç gün e¤itim al›nm›fl. Bu e¤itimlerde
rak biz sahiplendik ve hemen süreç
yaklafl›k 30 saat Linux Sunucu e¤itimi
planlamalar›n› yapt›k. Yöneticilere bu
verilmifl. Ayr›ca çal›flanlar yaklafl›k 30
projeden bahsedilmesi, onlar›n onay›saat Open Office e¤itimi alm›fllar.
n›n al›nmas› gibi ifllemleri ise bir hafta
gibi bir sürede bitirerek projeye bafllam›fl olduk” diyor.
Bu proje kapsam›nda belediye olarak kendilerine çok da
fazla ifl düflmedi¤ini belirten
Denli flunlar› söylüyor, “Proje
E¤itmen Gökhan Toplar
çerçevesinde verilecek e¤itimLinux e¤itim s›n›f›nda
ler için çal›flanlar›n belirlenmeö¤rencileri ile görülüyor.
si, e¤itim takviminin haz›rlanmas› d›fl›nda baflka bir ifl düflmedi. Görkem Çetin hemen her
ad›mla ilgilenerek birçok ifli
bizzat kendisi yapt›.”
Verilen e¤itimlerin içeri¤i,
Linux’un sunucu olarak yap›land›r›lmas› ve Open Office
e¤itimini kaps›yor. Bahçelievler Belediyesi Bilgi ‹fllem Merkezi çal›flanlar›, Linux sunucu
kurulum ve yap›land›r›lmas› ile
ilgili e¤itmen Gökhan Toplar'dan oldukça detayl› ve tatmin edici e¤itim ald›klar›n› be-
E¤itime Bahçelievler Belediyesi 6
bilgi ifllem çal›flan› ile kat›lm›fl. “Daha
önce deneme amaçl› Linux sunucu kurmufl olmam›za ra¤men e¤itim almaks›z›n gerçek hayatta sunucu kuramayaca¤›m›z için, bu e¤itim bizim için çok
verimli oldu” diyen Denli, “E¤itimle
birlikte Linux sunucular üzerine mail
server kurulumu ile ilgili detayl›ca bir
e¤itim ald›k. E¤itimler süresince Gökhan Toplar'›n ö¤retme azmi ile birlikte
hem çok faydal› hem de çok keyifli bir
e¤itim ald›¤›m›za inan›yorum. Ayr›ca
e¤itimi ald›¤›m›z yer ‹deal Kariyer Derne¤i de bize istedi¤imiz e¤itim ortam›n› sa¤lamak için gerçekten çok büyük
bir gayret sarf etti. Kendilerine sizin
arac›l›¤›n›zla teflekkür etmek isterim”
diyor.
E¤itimin sonunda belediyede Linux
mail server kurulmufl. Ayr›ca bir adet
Linux firewall kurulumu ile ilgili planlamalar da yap›lmaya bafllanm›fl. “Lisans
maliyetlerinin gerçekten de çok yüksek rakamlar tuttu¤u bir dönemde,
300 dolar de¤erinde bir bilgisayar› her
fleyi ile mükemmel ve ücretsiz bir firewall haline getirmek gerçekten de çok
güzel” diyen Ersen Denli, “San›r›m
muadillerinin sadece yaz›l›m de¤eri
1000 dolar civar›nda. Biz 300 dolar gibi küçük bir rakama fonksiyonel bir firewall kurabiliyoruz. Tabi bu çal›flmalar› bafllang›ç olarak düflünüyoruz.
HABER LINUX 25
*024-026 Belediye
9/27/06
4:03 PM
Page 4
Bahçelievler Belediye Baflkan› Osman Develio¤lu projenin baflar›s›ndan
duydu¤u memnuniyeti dile getiriyor.
Önümüzdeki dönemlerde daha çok kullan›c›ya e¤itim ald›rarak belki kullan›c›
taraf›nda Linux ifl istasyonu kullan›m›n› da gündeme getirebiliriz. Ancak bu
oldukça uzun bir süreç ve Linux iflletim sistemlerinin geliflimi de bizim bu
karar› al›p almamam›z yönünde etkili
olacak” diyor.
Linux daha da
yayg›nlaflacak!
Linux taraf›ndaki araflt›rmalar›n›n ve
testlerinin halen sürdü¤ünü belirten
Denli, “Belediyemizi kent bilgi sistemine entegre etmek ya da mevcut veritaban›m›z› Linux üzerine tafl›mak nihai
hedef olabilir belki bizim için. Ancak bu
kararlar›m›zda Linux iflletim sistemlerinin geliflimi de çok etkili olacak elbette” diyor. Yönetim kolayl›¤›n›n artmas›n›n, Windows ile aras›ndaki entegrasyonun daha da kolay yap›labilir olmas› gibi konular›n kendileri için
önemli oldu¤unu söyleyen Denli, ancak
k›sa vadeli planlar›n›n, ofis paketi olarak tamam› ile Open Office kullan›m›
oldu¤unu söylüyor. Bu hayata geçtikten sonra, ifl istasyonu olarak da Linux'un gündeme gelebilece¤ini belirten Denli, kullan›c›lar›n geri dönüfllerinin de alacaklar› bu kararlarda çok etkili olaca¤›n› söylüyor ve ekliyor; “Her
26 HABER LINUX
kurumda oldu¤u gibi bizde de de¤iflikli¤e karfl› tepkiler zaman zaman oluyor. E¤itim ve yeterli destekle bu tepkileri eritip planlar›m›z› gerçeklefltirmeyi düflünüyoruz. Tabi bu konuda bize sürekli destek veren baflta belediye
baflkan›m›z say›n Osman Develio¤lu
olmak üzere, baflkan yard›mc›m›z say›n ‹smail Hakk› Özhan ve di¤er baflkan yard›mc›lar›m›z, bilgi ifllem müdürümüz say›n Ayd›n Zayim, bafltan beri
sürekli bu konu ile ilgili bize desteklerini sürdürüyorlar” diyor.
“Aç›k kaynak kodlu yaz›l›mlar ve
bunlar›n en bafl›nda gelen Linux bütün
dünyada h›zla geliflen ve popülerli¤ini
art›ran bir iflletim sistemi halini ald›”
diyen Denli son olarak flunlar› söylüyor: “Ülkemizde çok yayg›n olmasa bile yurtd›fl›nda çok yayg›n olarak kullan›ld›¤›n› biliyoruz. BT yat›r›mlar›m›zda
lisans maliyetleri gerçektende çok
yüksek rakamlara ç›kabiliyor. Muadil
ve ücretsiz ürünleri kullanmak bir anlamda milli servetimizin ülkemizde
kalmas› anlam›na geliyor. Birçok kurumun biraz cesaretle bu ad›mlar› atabilece¤ini düflünüyorum.
Burada BT yöneticilerine gerçekten de çok fazla ifl düflüyor. Kendilerini e¤itmek, anlatmak, baflkalar›na ö¤retmek ve uygulamak zorundalar. Ben
birçok kiflinin cesaretle bu ad›mlar› tamamlayabilece¤ini düflünüyorum. Ayr›ca kaynak kodlar›n› görmek, gerekti¤i durumlarda müdahale edebilmek de
güvenlikle ilgili s›k›nt› ve endiflesi olanlar› rahatlat›r san›r›m. Bizi Linux ile tan›flt›ran, bu projeyi bizimle paylaflan
Say›n Görkem Çetin'e ve e¤itimlerimizi veren Say›n Gökhan Toplar'a tekrar
teflekkür ederim.”
*K›rcaali, Bulgaristan'daki 28 flehirden
birisi. Bulgarlar ve Türklerden oluflan flehirde yaklafl›k 69 bin insan yafl›yor. K›rcaali,
son zamanlarda Bulgaristan'›n teknolojik
aç›dan en geliflmifl flehirlerinden birisi olarak biliniyor.
Umut Kavurmac›
*027 Uzman gorus
9/27/06
4:04 PM
Page 3
UZMAN GÖRÜfiÜ
Bir Cell'e dolusu
süperbilgisayar...
Serkan fiahin
IBM Sunucu Sistemleri ‹flletim Müdürü
[email protected]
San›r›m aran›zda büyük bir heyecan ile
Sony PlayStation3'ü beklemeyen yoktur. Merakla konsolun bize neler getirece¤ini, özellikle de oyunlar›n nas›l olaca¤›n› dört gözle bekliyoruz. Blue Ray teknolojisi ile tan›flmak için bir süreli¤ine ç›k›fl› ertelenmiflti. Asl›nda bizlerin merakla bekledi¤i bu digital center oyun konsolu görüntüsündeki süperbilgisayar›n
kalbinde Cell Broadband Engine yer al›yor.
IBM, Toshiba ve Sony'nin güç birli¤i
yaparak birlikte gelifltirdikleri merkezi
ifllemci olan Cell BE, asl›nda tamamen
IBM teknolojisini tafl›yor. Süperbilgisayar diyorum çünkü ilk versiyon Cell ifllemci 90-nm ve 4.6 Ghz h›z›nda, içerisinde 234 milyon transistor bar›nd›r›yor. Büyüklü¤ü ise sadece 221milimetrekare. Teoride maksimum bir saniyede
256 milyar kayma noktal› ifllem
(GFLOPS) yapabiliyor.
Cell BE merkezi ifllemcileri, yüksek
paralel ifllemci mimarisi kullanmakta
olan 9 çekirdek kullanmaktad›r. Synergistic Processing Elements (SPE) olarak
adland›r›lan 8 adet özel ön ifllemciler ve
1 adet 64-bit PowerPC Processing Element'in (SPE) birlefliminden oluflmaktad›r. PPE ve SPE'ler çok yüksek h›zl› Element Interconnect Bus (EIB) olarak adland›r›lan bir veriyolu ile birbirlerine
ba¤lanmaktad›rlar. PPE olarak bahsetti¤imiz 64-bit'lik PowerPC ifllemci asl›nda
PowerPC 970 CPU benzeyen bir
CPU'dur. (G5 olarak ta bilinmektir)
Cell 0,9 ile 1,3 volt aras›nda saat h›zlar en yüksek de¤erlerine ulafl›r, 3,2'den
5,2 GHz saat h›zlar›na ç›kabilmektedirler. 4GHz de¤erinde herbir SPE teoride
maximum 32GFLOPS de¤erini yakalayabilmektedir.
IBM Austin yerleflkesinde gelifltirilen
bu chip için onlarca IBM mühendisi çal›flm›flt›r ve bu gelifltirme 400 milyon dolarl›k bir bütçe ile gerçeklefltirilmifltir.
Bütün bu yaz›lanlara flunu eklemek istiyorum, chip tan›t›m›n› yapan tasar›mc›lardan H. Peter Hofstee'nin flu cümleleri
asl›nda karfl›m›zdaki chip'in neler de¤ifltirebilece¤ini de bizlere f›s›ldamaktad›r;
“Benim hayalim Cell ile PlayStation'›n
programlanabilir olmas›d›r.” Programlanabilir süperbilgisayar k›vam›nda bir
oyun konsolu, ne ifle yararki demeyin,
geliflmesi ve büyümesi çok zor olan bir
oyun konsolu pazar›ndaki, gelifltirme
maliyetlerini düflmesine, yeterince bulunamayan gelifltirici say›s›n›n artmas›na,
h›zl› ve daha baflar›l› gelifltirmeler yap›labilmesine olanak tan›yacak bir geliflmedir bu.
IBM Cell ile ilgili yak›n zamanda yapt›¤› aç›klamalarda önce DeveloperWork
içerisinde gelifltiriciler için birçok arac›
Cell için duyurdu, Alpha Works üzerinden de birçok bilgi ve proje duyuruldu.
Bahsedilen bu aç›kl›¤› ve Cell ile geliflimin ve gelifltiricili¤in önünü açman›n en
iyi yolu Linux'tan geçmektedir. Cell Power mimarisinden gelen bütün özellikleri Linux uyumlu olacak flekilde tasarland›¤› için gelifltiriciler için Linux
tabanl› gelifltirme araçlar› yine
ayn› sayfalarda yay›nlan›yor.
Yak›n zmanada IBM Engineering &Technology Services taraf›ndan Cell tabanl› sunucu duyurusu yap›ld›. WiMAX, HDTV, ve
802.11g gibi birçok de¤iflik teknoloji, Cell ifllemcilerin avantajlar›n›
entegre olarak kullanmaya bafllam›flt›r. Buna ek olarak son duyurular Cell tabanl› Blade (Kart
tipi) Sunucular ile oluflturulmaya bafllayan Süperbilgisayar ortamlar›d›r. Art›k
Cell sunucularda özellikle media ve görüntü iflleme veya a¤ ifllemlerinde kullan›lacak durumdad›r.
Tasar›m›n bu son harikas› olan Cell
ifllemcilerin en çok ihtiyaç duyacaklar›
ve flu an bilgisayar dünyas›nda hepimizin birçok alanda en çok s›zland›¤› konulardan biri olan ak›ll› ve daha geliflmifl
yaz›l›mlar›n üretilmesi meselesidir. Geldi¤i bu h›zl› nokta ve yakalanan baflar›
birçok sektörün özellikle araflt›rma ve
gelifltirmeciler ile bilimsel çal›flmalar›n
göz bebe¤i haline getirmifltir Cell ifllemcisini.
Belki de evimizdeki konsollar› Linux
ile çal›flt›rmak ve üzerinde gelifltirilen
GPL yaz›l›mlarla birçok ifllemi yapmak
mümkün olacak. Cell ifllemcili sunucularla süperbilgisayarlar› oluflturmam›z
daha da kolaylaflacak. IBM'in bu deste¤i
PS3'ün geç ç›kaca¤› anonsundan sonra
gelen sevindirici haber PS3'ün yükseltilebilir 60 GB harddisk üzerinde ön kurulumlu Linux ile birlikte da¤›t›laca¤›d›r.
Cell'in Linux deste¤i ile ilgili her türlü bilgiye IBM sayfalar›ndan özellikle DeveloperWorks ve AlphaWorks sayfalar›ndan
ulaflmak mümkün.
E¤lencenin Süperbilgisayar dönemine Linux ile hoflgeldiniz...
HABER LINUX 27
*028-030 FREASHMEAT
9/27/06
4:05 PM
Page 2
Xming
PHP LetterIt
Bir özgür yaz›l›m projesi olan Xming, Windows ortam›nda
çal›flan, en iyi X-Windows-System sunucusudur. Alternatif
yöntem olan cygwin'le ve nihayetinde Xorg ile ayn› kod taban›n› paylaflan proje gün geçtikçe daha çok ilgi görmekte.
Web tabanl› basit bir e-posta liste yönetim arac› olan PHP
LetterIt bu sürümünde çeflitli hata düzelmeleri ile geliyor.
Dev e-posta listeleri ile u¤raflmayanlar için birebir.
http://freshmeat.net/projects/letterit/
http://freshmeat.net/projects/xming/
28 HABER LINUX
*028-030 FREASHMEAT
9/27/06
4:05 PM
Page 3
da klasik Gantt diyagram› yaklafl›m›na yeni bir soluk getiren
metodolojisi ile benzerlerinden s›yr›l›yor. Zaman planlamas›, kaynak yönetimi, proje maliyeti gibi birçok konularda kolayl›klar sa¤layan bu yaz›l›m› proje tabanl› çal›flan herkese
tavsiye ediyoruz.
http://freshmeat.net/projects/taskjuggler/
Endian Firewall
Broadband'in yay›lmas› ile Linux tabanl›, kolay kurulumlu,
web arayüzlü firewall yaz›l›mlar› da geliflmeye bafllad›. Bu
alanda uzun süredir hizmet veren Smoothwall ve IPCop gibi da¤›t›mlar›n peflinden giden Endian Firewall, piyasadaki
ticari benzerleri ile yar›flabilecek bir kapasitede. Gateway
seviyesinde klasik firewall görevlerini yapmas›n›n yan› s›ra,
geçen trafik üzerinde önceliklendirme, web, mail, ftp trafi¤i
üzerinde antivirüs kontrolleri, fleffaf web proxy, içerik filtreleme gibi birçok özelli¤i bünyesinde bar›nd›ran Endian, detayl› dökümantasyonu ve kolay kurulumu ile de dört dörtlük
bir sistem sa¤l›yor.
http://freshmeat.net/projects/efw/
Task Juggler
En basit yaz›l›m›n oluflturulmas›n›n bile birçok aflamadan ve
kifliden oluflan bir proje halini ald›¤› günümüzde, proje yönetimi ve koordinasyonu bafll› bafl›na bir disiplin olmufl durumda. Hemen her ifl alan›nda iflimizi kolaylaflt›racak yaz›l›mlar
kullan›rken proje yönetimi gibi verim odakl› bir alanda da
yüzlerce yaz›l›m›n olmas› kaç›n›lmaz. Task Juggler bu alan-
Wormux
Worms oyununu bilmeyenimiz yoktur. Wormux'a baflar›l› bir
worms klonu demek yanl›fl olmaz. Özellikle özgür yaz›l›m
HABER LINUX 29
*028-030 FREASHMEAT
9/27/06
4:05 PM
Page 4
severlerin hofluna gidecek detaylarla zenginlefltirilmifl (Özgür yaz›l›m projeleri tak›mlar›, kahramanlar› gibi) oyunu
mutlaka deneyin.
l› bilgiyi http://download.eclipse.org/eclipse/downloads/
drops/R-3.2-200606291905/new_noteworthy/eclipsenews-all.html adresinden ö¤renebilirsiniz.
http://freshmeat.net/projects/wormux/
http://freshmeat.net/projects/eclipseproject/
MLDonkey
Amule
"Ben o kadar da karmakar›fl›k dosya paylaflmak istemiyorum, Windows'daki Emule gibi bir program olsa bana yeter"
diyorsan›z sizin için de en iyi seçim Amule.
Emule'dan esinlenip daha bile iyi bir istemci ortaya koyan
Amule projesi özellikle de yeni bafllayan linuxçular için bire bir.
E-donkey ve Bittorrent baflta olmak üzere dosya paylafl›m
sistemlerinin ön planda oldu¤u günümüzde, öyle bir istemciniz olsa ki, hem e-donkey, hem torrent a¤lar›ndan dosya
download edebilse, hatta bunlar› birbirine kar›flt›rabilse, dahas› DC, Limewire vs. gibi di¤er sistemlerle de ba¤lanabilse.
Kendine ait tek bir guisi olmasa, yeri geldi¤inde webden ya
da basitçe konsoldan ulafl›labilse. Hem Linux’da hem Windows da çal›flsa. Nas›l güzel bir hayal gibi mi geliyor? Güzel,
çünkü bu dediklerimizi MlDonkey iki y›ld›r eksiksiz yerine
getirmekte.
Kulland›¤› düflük haf›za miktar›, birçok seçene¤i ile tam
iste¤inize göre bir dosya paylafl›m›na izin vermesi ile birçoklar›n›n tek tercihi olan MLDonkey'i denemenizi öneririz.
http://freshmeat.net/projects/mldonkey/
http://freshmeat.net/projects/amule/
MetaForum
MetaForum, Web 2.0 güzellikleri(?) Forum yaz›l›mlar›na ne
zaman yans›yacak diyenler için cevap olabilir. Bar›nd›rd›¤›
özelliklerle kullan›c›lar›na oldukça farkl› bir forum deneyimi
sunan MetaForum mutlaka incelenmesi gereken, özgür bir
lisansa sahip olmayan bir yaz›l›m.
http://freshmeat.net/projects/metaforum/
Eclipse Project
Özellikle Java'c›lar›n tercihi olan "evrensel" IDE Eclipse'i
özel yapan hemen her ifl için sahip oldu¤u eklentiler ile gelifltirilebilmesi.
Birçok yeni özelli¤in eklendi¤i bu sürüm hakk›nda detay-
30 HABER LINUX
Project1
9/27/06
4:21 PM
Page 1
*032-033 takvim
9/27/06
32 HABER LINUX
4:05 PM
Page 2
*032-033 takvim
9/27/06
4:06 PM
Page 3
HABER LINUX 33
034-035 Tekfen
9/27/06
4:07 PM
Page 2
Tekfen'in de tercihi
Linux oldu!
Tekfen ‹malat ve Mühendislik Afi. Novatech'in Gelibolu projesi ve Linux
altyap›s› ile güvenli bir flekilde gelece¤e ilerliyor
Tekfen'in Toros Gübre, Tefken Bank,
Tekfen ‹malat ve Mühendislik, Tekfen
Mühendislik, Tekfen Emlak Gelifltirme
Grubu ve Tekfen Services firmalar› Levent'deki Tekfen Binas›nda yer al›yor.
Tekfen'in taahhüt grubu alt›ndaki Tekfen Mühendislik ile Tekfen ‹malat ve
Mühendislik firmalar› da burada yer
al›yor. Tekfen'de her firman›n bilgi ifllem yap›lar› birbirinden ayr›. Her firma
yat›r›m isteklerini kendi içerisinde sapt›yor ve ba¤l› bulundu¤u grup baflkanl›¤›n›n onay› ile yat›r›mlar›n› yap›yor.
Tekfen ‹malat ve Mühendislik Bilgi
‹fllem Müdürü Yakup Akçura, “Novatech ile çal›flmaya bafllamam›z, internete aç›lmam›z ile bafllad›. ‹nternete
aç›ld›¤›n›z anda kullan›c› say›n›z bir anda onlardan, milyonlara ç›k›yor. Bu nedenle güvenli bir ara yönetim seviyesine ihtiyac›m›z vard›. E-mail sunucusu
olarak ve flirket içi haberleflme ile bilgi
ak›fl› için IBM Lotus Notes Domino kullan›yoruz. IBM'in tavsiyesi üzerine Novatech firmas› ile çal›flmaya bafllad›k.
Novatech'in sundu¤u çözümler bizim
gibi orta ölçekli fakat bilgiye önem veren bir firmaya çok uygun geldi¤i için
onlarla çal›flmaya bafllad›k. Bu arada
yeri gelmiflken söylemekte fayda görüyorum, Tekfen isminin aç›l›m› Teknoloji ve Fen'dir. Grup flirketleri olarak
her zaman Teknoloji ve Fen'e büyük
önem verilmifltir ve bunu tüm gerçeklefltirilen projelerde görmek mümkündür” diyor.
Novatech ile yap›lan çal›flmalarda
ilk aflama bir firewall kurulmas› olmufl.
‹nternete güvenli bir flekilde ç›k›lmas›
ve flirket içi kullan›c›lar›n interneti daha verimli ve flirket politikalar›na uygun kullanabilmeleri için Novatech'in
Gelibolu ad› verilen firewall sistemi
kullan›lmaya bafllanm›fl
“‹nternet kullan›c›lar›n›n say›s›
günden güne artt›. fiu anda 50 inter-
34 HABER LINUX
net kullan›c›m›z var. 2006'da yapt›¤›m›z bir yat›r›mla Novatech'den ald›¤›m›z çözümler ile içerideki kullan›c›lar›m›z› daha verimli denetliyoruz. Ayr›ca
2006 y›l› içerisinde makine park›m›z›
da yeniledik” diyen Akçura flunlar›
söylüyor; “‹nternet ç›k›fl h›zlar›m›z oldukça iyi. Hem fabrika taraf›nda hem
de merkezde G.SHDSL ile ba¤lan›yoruz. ‹nternet konusunda G.SHDSL yan›nda Kablonet ve ADSL de kullan›yoruz. Özetle bütün yumurtalar› ayn› sepete koymad›k. Dört ayr› noktada internet ba¤lant›m›z var. Bunlar›n hepsinde de ayr› yöntemler kullan›yoruz.
ADSL'den sadece e-mailleri al›yoruz.
G.SDHL'den sadece e-mailleri gönderiyor ve web eriflimi sa¤l›yoruz kablonet
ise update'ler için kullan›l›yor. Ayr›ca
fabrika ile iç networkümüzü Novatech
taraf›ndan kurulan OpenVPN çözümü
ile sa¤l›yoruz. Novatech'in sa¤lad›¤›
OpenVPN Server çözümü sayesinde,
internet üzerinden 128 bit SSL ile güvenli bir VPN iletiflimi kurulmas› sa¤-
land›. ‹nternet üzerinden iki nokta, dahili bir a¤ üzerindeymifl gibi aralar›nda
flifreli ve güvenli bir flekilde haberlefliyorlar. Bu da 2006 y›l›nda Novatech
ile yapm›fl oldu¤umuz ifllerden bir tanesiydi.”
fiirket içi güvenlik flart!
Günümüzde teknoloji gelifltikçe tafl›nabilir araçlar da art›yor. Kullan›c›lar usb
bellek ve usb diskler tafl›yorlar. Bunlardan virüs buluflabiliyor ya da internetten istedikleri dosyay› download
etmeleri, flirket için güvenlik aç›klar›
yaratabiliyor. Bu nedenle Novatech'in
de dan›flmanl›¤› ile flirket bünyesinde
Microsoft'un Active Directory yap›s›
kurulmufl. Bunun için bir merkezde bir
de fabrikada iki tane sunucu bulunuyor. Bu sunucular›n üzerinde Windows
2003 Server Standard Edition çal›fl›yor. Kullan›c›larda da Windows XP Professional mevcut. Ayr›ca kullan›c›lar›
daha iyi denetleyebilmek için IBM'in
Directory yaz›l›m› kullan›l›yor. Bu da
Gelibolu ‹nternet - A¤ Güvenli¤i Çözümleri
Günümüzde teknolojinin merkezinde yer alan iletiflim, ayn› zamanda da bir güvenlik ihtiyac›n›n do¤mas›na sebep olmaktad›r. fiirketlerin önemli ve hassas verilerini
internet, intranet ve extranet gibi ortamlarda saklamalar› kurumsal veri güvenli¤ini
tehdit eden önemli bir faktördür. Gelibolu, yerli uzmanlar taraf›ndan gelifltirilen,
Linux tabanl› internet - a¤ güvenli¤i ve kontrolü sa¤layan çözümlerdir.2002 y›l›nda
gelifltirilmeye bafllanarak gün geçtikçe artan talep ve kullan›c› memnuniyeti ile birlikte yayg›nlaflarak yabanc› ürünlerin alternatifi olmufltur. Gelibolu; küçük, orta ve
büyük ölçekli firmalar›n tüm internet - a¤ güvenli¤i ve kontrolünü sa¤layarak firmalar›n de¤iflen yap›lar›na göre yeni maliyetler ve yat›r›mlar gerektirmeden esneyebilmektedir.
‹çerdi¤i Modüller:
-Vekil Sunucu (Proxy)
-‹stenmeyen E-Posta Denetimi (AntiSpam)
-VPN
-Sald›r› Tespit (IDS)
-‹nternet Eriflim Denetimi (URL Filtreleme
034-035 Tekfen
9/27/06
4:07 PM
Page 3
yine Novatech'in deste¤i ile kurulmufl.
Mevcut 50 internet kullan›c›s›n›n 30'u
‹stanbul merkez ofiste, kalan 20 kullan›c› ise ‹zmit'teki fabrikada bulunuyor.
Yedekleme için ise IBM Tivoli Storage
Manager kullan›l›yor. IBM Lotus Notes
kullan›m› ise çok daha öncelerden bafllam›fl.
Ayr›ca IBM'in X100 model sunucular› flirket bünyesinde performans PC
olarak konumland›r›lm›fl. Mali ve ‹dari
‹fller taraf›nda yo¤un bilgi yükü ve
bunlar›n de¤erlendirilmesi için daha
performansl› fakat ileride multimedya
olarak geniflleme ihtiyac› gerektirmeyecek PC'lere ihtiyaç oldu¤undan, 15
adet IBM'in girifl seviyesi sunucusu
performans PC olarak al›nm›fl. Geçti¤imiz May›s ay›ndan bu yana kullan›lmakta olan bu PC'ler 64 bit ifllemci altyap›s›na sahip. Bu flekilde hem flu an
için gerekli olan performans elde edilmifl, hem de gelecek 64bit iflletim sistemleri ve uygulamalar için gerekli donan›m da haz›r olmufl.
“Lotus Notes Domino üzerinde yürütülmekte olan ve halen gelifltirmekte
oldu¤umuz uygulamalar var. Muhasebe program› taraf›nda Tam Bilgisayar'›n TES paketini IBM'in DB2 Server'› üzerinde kullan›yoruz. Mühendislik taraf›nda ise ThinkCenter PC'ler
kullan›yoruz” diyen Akçura, “‹lk Domino'yu kurdu¤umuzda Linux üzerinde
kurduk. Bizim Lotus Notes Domino'lar
Linux üzerinde çal›fl›yor. Dolay›s›yla
biz sunucu taraf›nda hep Linux'u tercih ettik diyebilirim. Bir tek Active Directory mecburen Windows 2003 Server üzerinde çal›fl›yor” diyor.
rik filtrelemeden yararlanarak buradaki kurulumu gerçeklefltirdik. Buraya
bir e-mail server kurduk. Bu kurdu¤umuz e-mail server halen daha aktif
olarak çal›flmakta ve yedek olarak kullan›lmakta. fiu anda Q-mail mail sunucusu, Lotus Notes'un yede¤i olarak çal›fl›yor” diyor.
Firewall kurulduktan sonra kullan›c›lar› Proxy'den ç›kartmak uygun görülmüfl. Proxy'den ç›kartt›ktan sonra
da bir içerik filtreleme (Content Filter)
arac›l›¤›yla kullan›c›lar›n belli bafll›
sayfalara gitmesi engellenmifl. Özellikle yasakl› sitelere ve gün içerisinde
eriflilmesi istenmeyen baz› sitelere
eriflim k›s›tlanm›fl. Ayr›ca Gelibolu
üzerinde olan POP3 Gateway'lerle kullan›c›lar›n kullanmakta olduklar› e-postalar› spam ve virüs taramas›ndan geçirilmifl.
Daha sonra 2005 sonunda firewall
üzerinde IDS (Intrusion Detection
System) ve IPS (Intrusion Prevention
System) kurulmas› talebi gelmifl. ‹nternet ç›k›fl› detayl› olarak raporlanm›fl. Bunun için de Linux'da Open Source olarak var olan SARG yap›s› kullan›lm›fl.
Ayr›ca her kullan›c›ya internete ç›karken kullan›c› parola sistemi getiril-
mifl. Dolay›s›yla bir kullan›c› a¤a ba¤lansa bile flifre do¤rulamas› yapam›yorsa internete ç›kam›yor. Kullan›lan
birkaç farkl› araç ile kullan›c›lar›n kendi flifrelerini de¤ifltirmesine de olanak
sa¤lanm›fl. 2005 ve 2006 y›llar› içerisinde tüm bu projeler tamamlanm›fl.
En son yap›lan proje çerçevesinde
ise fabrika ve merkezin internet üzerinden birbirine ba¤lanmas› ve seyahat eden çal›flanlar›n dizüstü bilgisayarlar› ile içeriye eriflebilmesi için bir
VPN yap›s›n›n kurulmas› sa¤lanm›fl.
Ayr›ca e-maillerin SMTP Gateway'den
geçirilerek Lotus Notes'a teslim edilmesi ile ilgili bir proje yap›lm›fl. Böylelikle hem virus hem de spam taramas›
sa¤lanm›fl. VPN çözümü olarak da
open source bir yaz›l›m olan OpenVPN
kullan›lm›fl. OpenVPN ile hem bölgeleri
birbirine ba¤larken hem de mobil kullan›c›lar› içeriye ba¤larken, bir sertifikaland›rma sayesinde iç network'e
kontrollü eriflim sa¤lanm›fl.
Gelen e-mailler öncelikle bir süzgeçten geçiriliyor ve baz› uzant›lara
sahip e-mailler içeriye al›nm›yor. Ayr›ca gelen e-maillerin nereden geldi¤i
saptan›yor ve spam olas›l›¤› olanlar
içeriye al›nm›yor.
Umut Kavurmac›
Gelibolu ile tam koruma
Novatech Teknik Müdürü Fatih Aslan
ise “2004 y›l›nda Tekfen ‹malat ve
Mühendislik Afi.'ye IBM'in önermesi ile
geldik. ‹lk geldi¤imizde burada internete ç›k›fl için bir firewall çözümü aran›yordu. Burada, bizim Gelibolu projesi
içerisinde gelifltirilen güvenlik çözümümüzün uygun olabilece¤i görüldü.
Bu güvenlik çözümündeki amaç; d›flar›dan içe do¤ru olan kötü kullan›c›lar›
engellemek, ikincisi ise içeriden d›flar›ya do¤ru olan gereksiz portlar› kapatmakt›. Gelibolu projesindeki geliflmifl
alt ürünlerden, öre¤in Proxy'den, içe-
Tekfen ‹malat ve Mühendislik Bilgi ‹fllem Müdürü Yakup Akçura ve Yard›mc›s›
Zafer Mavigöz, Novatech Teknik Müdürü Fatih Aslan ve Novatech Sat›fl ve
Pazarlama Müdürü Ahmet Kaya
HABER LINUX 35
*036-039 Veri kurtadma
9/27/06
4:08 PM
Page 2
Verilerinizi kurtar›n!
‹htiyaç duydu¤unuzda araçlar elini
36 HABER LINUX
*036-039 Veri kurtadma
9/27/06
4:08 PM
Page 3
nizin alt›nda
Verileri herkes kaybedebilir, önemli olan
böyle bir durumla karfl›laflt›¤›n›zda
kullanaca¤›n›z yöntem ve araçlar› bilmenizdir.
Geçen hafta yeni bir laptopum oldu.
1,5 Gb Ram, 100GB SATA HD, 15,4
inch genifl ekran vs. vs. Söz konusu
bilgisayar bana Windows XP Pro kurulu olarak geldi. Bu tür durumlarda
genellikle izledi¤im yöntem, eski
hard diskteki önemli bilgileri bir
USB diske yedekleyip daha sonra
bu yedekleri yeni bilgisayar›ma tafl›mak. Bu ifllem sona erdikten sonra
da ikinci (ya da üçüncü) bir partisyona a¤›rl›kl› olarak kulland›¤›m iflletim sistemi olan Debian'› transfer
etmek.
Dikkatinizi çektiyse Debian kurmak de¤il, transfer etmek dedim, zira mevcut kullanmakta oldu¤um,
birçok özelli¤ini kendime göre ayarlad›¤›m sistemi yeniden kurmaktansa, yeni diske transfer edip boot seçeneklerini ayarlamak çok daha kolay geliyor.
Önemli bir baflka detay da, bu
transferleri yaparken Windows üzerinde VMWare kullanmay› tercih etmem. Zira VMWare'i gerçek partisyonlarla çal›flmak üzere ayarlad›¤›mda, mevcut Windows makinemde gündelik ifllerimi gerçeklefltirirken bir taraftan da bahsetti¤im partisyon transferlerini yapmak, hatta
gerekirse di¤er partisyonlara linux
kurmak mümkün oluyor.
Bu sefer de ayn› flekilde, VMWare'i gerçek partisyonlar› kullanmak
üzere ayarlamakla ifle bafllad›m.
40GB'l›k bir external USB disk
ceketine bir önceki bilgisayar›n
hard diskini yerlefltirip yeni sistemime ba¤lad›m ve gerekli dosyalar›
transfer ettim. Bu ifl bittikten sonra
(ki saniyede 20MB transfer h›z› ile
oldukça çabuk bitti¤ini de belirtmem gerek) bu sefer Debian partisyonumu transfer etmeye bafllad›m.
Bu da tamamland›ktan sonra art›k eski laptopun hard diski ile bir
baflkas› kullanmadan önce usulünce
silmek d›fl›nda yapacak bir fleyim
yoktu. Bu konuda da genellikle basit
ama etkili oldu¤una inand›¤›m bir
yöntem kullan›yorum. Bu da söz konusu diskteki partisyonlar› silip, tamamen rastlant›sal üç dört partisyon oluflturmak, bunlara random
baz› dosyalar atmak ve daha sonra
bu partisyonlar› da uçurup tekrar
bir format çekmek fleklinde. Tabi ki
askeri standartlara uygun bir veri
yok etme yöntemi de¤il, ama
40GB'l›k bir hard diskin bafltan afla¤› sekiz defa silinip yaz›lmas›n› beklemek de normal bir iflgününde çok
yap›labilecek bir fley de¤il, e¤er ki
gerçekten çok gizli bilgilere sahip
de¤ilseniz.
Bu sefer de her zamanki gibi önce data partisyonunu sildim ve hard
diske yazd›rd›m. Fakat bu ifllemi tamamlarken bir an gözüme rahats›z
edici bir fley tak›ld›. Tam da programdan ç›kma tufluna bast›¤›m için
emin olamad›m ama partisyon ismi
yazan yerde sda yazmas› gerekirken hda yaz›yormufl gibi geldi.
Cfdisk'i tekrar çal›flt›rd›m ve
gördüm ki gerçekten de sda yerine
hda yaz›yor. Bir saattir yedeklerimi
kopyalad›¤›m ve dahas› önemli kurulum dosyalar›n›n bulundu¤u partisyonu silmifl, üzerine yeni bir partisyon yaratm›flt›m.
Asl›nda hasar çok da büyük de¤ildi, dosyalar› yerlerinden bulup
kopyalamak yaklafl›k bir saatimi
al›rd›. As›l laptopun driverlar›n›
vs.lerini bulmak uzun sürece¤e benziyordu.
Bu noktada bu iflin do¤rusunun
bu olmad›¤› gibi bir kan›ya kap›ld›m.
Partisyonu silip yerine yeni bir partisyon oluflturmufltum ama dosyalar orda duruyor olmal›yd›lar, çünkü
üzerlerine bir fley yaz›lmam›flt›. Ve
HABER LINUX 37
*036-039 Veri kurtadma
9/27/06
4:08 PM
onlar› tekrar eriflilebilir k›lacak bir
program olmal›yd›.
Önce sakince VMWare'den Windows'a geçtim. fiafl›rt›c› bir detay partisyonlar›n hala eriflilebilir olmalar›yd›.
Demek ki Windows bir kere partisyon
datas›n› okuduktan sonra güncellemiyordu. Ya da bu iflin VMWare içiden yap›lm›fl olmas› Windows'u yan›ltm›flt›, o
hala dosyalar› orda san›yordu.
Önce dosyalar› kopyalay›p partisyonu yeniden yaratmay› düflündüm.
Ne de olsa bilgisayar› kapatt›¤›m anda
gidecekti. Daha sonra USB diskte bütün D partisyonunu alacak kadar yer
olmad›¤›n› fark ettim ve en elzem fleyleri kopyalamaya bafllad›m.
Ard›ndan da bakal›m ne olacak diyerek bilgisayar› reboot ettim.
Windows aç›ld›¤›nda gördüm ki gerçekten de D partisyonu gitmiflti. Yapmam gereken tekrar partisyonu oluflturup dosyalar›n geri kalan›n› bulup
yerine koymakt›. Ama içimden bir ses
bunun hacker yaklafl›m› olmad›¤›n›
söylüyordu. Teknik bilgime dayanarak,
fiziksel olarak zarar görmemifl bu dosyalara ulaflman›n bir yolu olmal›yd›.
Bu sebeple araflt›rmaya bafllad›m.
Asl›nda uzun uzad›ya araflt›racak bir
fley yoktu. Zaman›nda bu tür bir iflte
gpart isimli bir GNU program› kullanm›flt›m. Söz konusu program hard diski tarayarak, olmas› muhtemel partisyon izlerini ar›yor ve buldu¤unda da
bunlar›n yeri hakk›nda size bilgi veriyordu. Bunun ard›ndan yapman›z gereken fley, ayn› yerlerde ayn› boyutlarda
partisyonlar oluflturmak ve önceden
eriflebildi¤iniz verilerinize tekrar ulaflmakt›.
Fakat gpart otomatik bir program
de¤ildi (hemen hemen bütün iyi programlar gibi) baz› fleyleri elle yapman›z,
partisyon bilgilerini bir kenara not ald›ktan sonra fdisk ile yeni partisyonla-
38 HABER LINUX
Page 4
r› bu bilgilere dayanarak oluflturman›z gerekiyordu. Bu yüzden ilk aflamada gpart› göz ard› ettim. Kesin bu ifli çok daha
kolay ve otomatik bir flekilde
yapan bir Windows program›
vard›r dedim ve araflt›rmalara
bafllad›m.
Gerçekten de bu alanda
yaz›lm›fl baz› programlar vard›. Hepsi egzotik isimlerle, bu
asl›nda çok basit olan ifli ve
daha birçok fleyi yapt›klar›n›
iddia ediyorlard›. Fakat iflin
tats›z yan› hiçbiri özgür yaz›l›m de¤ildi. Dahas› içlerinde shareware ya da
freeware olanlar bile çok azd›.
Yaklafl›k k›rk befl dakikal›k bir aramadan sonra en umut vadeden programlardan birinin eski bir versiyonunu
indirebilece¤im bir arfliv buldum. Görünüfle göre bu da ifli görüyordu.
Söz konusu program› indirdim ve
çal›flt›rd›m. Bekledi¤im gibi partisyon-
lar›m› eliyle koymufl gibi bulmufltu. Fakat buldu¤u bir baflka fley de partisyon
tablomda bir terslik oldu¤uydu. Ve bu
muhteflem program görünüfle göre bu
tür ufak problemlerin üzerinden gelmek için de bire birdi. Acaba söz konusu problemi gidermek ister miydim?
Tabi ki isterdim ve y'ye bast›m. Befl
dakika sonra ifl bitmifl bilgisayar›m yeniden boot etmeye haz›r hale gelmiflti.
Merakla boot ettim. E¤er bu çözüm
ifle yaramazsa dosyalar› teker teker
toplay›p yerine koyar›m diye düflünüyordum ki bilgisayar›m›n art›k boot etmedi¤ini gördüm.
Bu gibi durumlarda her zaman güvenebildi¤im Knoppix'e baflvurman›n
zaman› gelmifl de geçiyordu. Knoppix'i
bilgisayara takt›m ve boot ettim. Yepyeni bilgisayar›m›n bütün önemli ayg›tlar›n› tan›d› (SATA harddisk, Broadcom Ethernet). Yaklafl›k bir dakikal›k
boot süresi sona erdi¤inde gördüm ki
diskimin partisyon tablosu art›k tama-
Begin scan...
Possible partition(Windows NT/W2K FS), size(40000mb), offset(0mb)
Possible partition(Windows NT/W2K FS), size(24998mb), offset(40000mb)
Possible partition(DOS FAT), size(13348mb), offset(64998mb)
Possible partition(Linux ext2), size(16286mb), offset(79106mb)
End scan.
Checking partitions...
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary
Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary
Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary
Partition(Linux ext2 filesystem): primary
Ok.
Guessed
Primary
type:
size:
chs:
primary partition table:
partition(1)
007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
40000mb #s(81920097) s(63-81920159)
(0/1/1)-(1023/254/63)d (0/1/1)-(5099/74/63)r
Primary
type:
size:
chs:
partition(2)
007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)
24998mb #s(51196312) s(81920160-133116471)
(1023/254/63)-(1023/254/63)d (5099/75/1)-(8286/29/55)r
Primary partition(3)
type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA)
size: 13348mb #s(27336896) s(133116543-160453438)
chs: (1023/254/63)-(1023/254/63)d (8286/31/1)-(9987/194/62)r
Primary
type:
size:
chs:
partition(4)
131(0x83)(Linux ext2 filesystem)
16286mb #s(33354720) s(162010800-195365519)
(1023/254/63)-(1023/254/63)d (10084/180/1)-(12160/239/63)r
*036-039 Veri kurtadma
9/27/06
4:08 PM
men okunmaz haldeydi.
‹flte o an akl›ma gpart geldi. Bir
konsol program› olan gpart› çal›flt›r›nca bana s›ras›yla dört partisyonumu
buldu ve ç›kartt›.
Bu partisyon listesini bir konsol ekran›nda b›rak›p bir baflka ekranda fdiski çal›flt›rd›m. Linux'a yeni bafllayanlar›n birço¤u için cfdisk pratik bir partisyon düzenleme uygulamas› olsa da,
maalesef fdisk'in çal›flabildi¤i detayda
ifllem yapamamakta.
Fdiski çal›flt›rmak için fdisk /dev
/sda komutunu verdim.
Gpart'›n ç›kt›s› sektör format›nda
oldu¤u için fdisk’de de ilk olarak sektör moduna geçtim. Bunun ar›ndan yeni bir partisyon oluflturmak için o komutunu verdim.
Bunun ard›ndan n (new) ve p (primary) komutlar›n› vererek ilk partisyonumu birincil modda yaratm›fl oldum. Ard›ndan da yaratt›¤›m bu partisyonun tipini 07 (NTFS) yapt›m.
Böylece ad›m ad›m dört partisyonu
da oluflturdum. Bunun sonunda da
sda1'i aktif boot partisyonu olarak seçtim.
Bunu yaparken her seferinde partisyonlar› bir öncekinin bitti¤i sektörden bafllat›yor ve kaç sektör uzunlu¤unda oldu¤unu girerek devam ediyordum. Son partisyonu da yaratt›ktan
sonra partisyon tablosunu diske yaz›p
fdiskten ç›kt›m.
Bu noktada fark etti¤im ilginç bir
fley Knoppix'in partisyon tablosunda
bir de¤ifliklik oldu¤unu hemen fark
edip söz konusu bölümleri ba¤lamas›
oldu. Dosyalar›m›n yerinde olup olmad›¤›n› görmek için h›zl› bir kontrol yapt›m. Gerçekten de hepsi yerinde duru-
Page 5
yorlard›.
Art›k yapacak çok bir
fley yoktu, Knoppix'i kapat›p reboot ettim ve
hard diskten boot etmesini beklemeye bafllad›m... ama olmad›.
Bu sefer partisyon
tablosu ile ilgili bir sorun
olmad›¤›n› biliyordum..
Büyük ihtimalle MBR ya
da Windows bootloaderda bir hata vard›. Bunu
çözmek için yapmam gereken tek fley Windows
CD'si ile recover modda makineyi aç›p
MBR ve boot'u düzeltmekti.
Bu noktada ç›ta biraz daha yükseldi, bu sefer de XP cdsinden boot etti¤imde sistem yepyeni SATA diskimi
göremiyordu. Dahas› bu iflin tek çözümü olarak da ihtiyac›m olan sürücülerin oldu¤u bir diske sahip olmad›¤›m›
soruyordu. Tabi ki yepyeni dizüstü bilgisayar›mda disk drivve yoktu. Söz konusu sürücüleri USB diskten yüklemenin bir yolu var m› diye bakt›m ama o
da gözükmüyordu. Bu gidiflle USB bir
floppy d›fl›nda bir çözüm gözükmüyordu.
Internet üzerinde biraz araflt›rd›ktan sonra tek yolun bu olmad›¤›n› ö¤rendim. nLite isimli bir program iste¤e
uygun Windows kurulum cdleri oluflturman›za izin veriyordu. Bu program
ile SATA ya da SCSII disk sürücüleri
veya hotfix ve service packleri kurulum cdsine ekleyebiliyor, dahas› kurulumun hiçbir müdahale olmadan yap›labilir olmas›n› sa¤layabiliyordunuz.
Bu sayede SATA sürücülerimi içeren bir kurulum CD'si oluflturdum. Ard›ndan da bu CD'den
boot edip rescue
mode'a girdim. Bunun ard›ndan s›ras›yla iki komutu çal›flt›rd›m, fixboot ve
fixmbr.
Bunlar›n ard›ndan -tam da sabr›m›n tükenmeye bafllad›¤› noktada- bilgisayar›m› tekrar boot ettim ve sonunda
her fley çal›fl›yordu.
Bunlar›n yan›nda
grub'u kurmak iflten
bile de¤ildi.
Sonuçlar
Bütün bu maceradan baz› önemli oldu¤unu düflündü¤üm sonuçlar ç›kartt›m:
1. E¤er hata yapmakta oldu¤unuzu
fark ederseniz ve elinizde yedekleriniz varsa onlar› kullan›n. Durumunuz ne kadar kötü gözüküyor olursa olsun daha kötü bir durumda kalabilirsiniz.
2. Çifte tembellik yapmay›n. Bilgisayarla bir fleyi yaparken e¤er bir yol
çok çaba harcaman›z› gerektiriyorsa ve bu size ters geliyorsa bu anlafl›labilir bir fley, muhtemelen o ifli
yapman›n daha kolay bir yolu mutlaka vard›r. Fakat k›sa yoldan giderken daha da tembellik yapmay›n. Bu örnekte partisyon tablosunu elle oluflturmam gerektirdi¤i
için gpart'› de¤il de bu ifli otomatik
olarak yapan bir program› kullanmaya kalkt›m ve sonunda nerdeyse
bütün hard diskimdeki bilgileri kaybediyordum.
3. Kullanaca¤›n›z araçlar› seçerken,
özellikle de önemli verilerle çal›fl›rken hakim oldu¤unuz araçlar› tercih edin.
4. Her ne kadar hatalar size zaman
ve emek harcatsa da önemli bir yararlar› vard›r; ö¤retmek. Hiç kimse
durup dururken "bu partisyon tablomu silsem, acaba nas›l kurtar›r›m" diye u¤raflmaz, bunu nas›l yapaca¤›n›z› ö¤renebilmeniz için bafl›n›za gelmesi (ya da bafl›na gelen
birisinin bunla ilgili bir makale yazmas›) gerekir. Unutmay›n her zaman için kahramanlar, büyük düflmanlarla karfl›laflarak büyük olurlar.
K›v›lc›m Hindistan
HABER LINUX 39
*040-043 GTK
9/27/06
4:09 PM
Page 2
Neden GTK+ kullanılmalı?
Bölüm 1 : GTK+ ile ilgili temel bi
40 HABER LINUX
*040-043 GTK
9/27/06
bilgiler
4:09 PM
Page 3
Üç bölümden oluflan dizinin ilki olan bu
makale, GTK+ dünyasına bir girifl yapmanızı
sa¤lar. Bu makale, GTK+ olana¤ının ne
oldu¤unu, neden kullanılması gerekti¤ini ve
size ne gibi yararlar sa¤layaca¤ını açıklar.
Dizinin di¤er bölümleriyle birlikte bu kurulufl,
GTK+'yi kendi projelerinizde kullanmaya
karar verdi¤inizde bakabilece¤iniz daha
ayrıntılı kaynaklar konusunda yeterli girifl
bilgisi sa¤lar.
Düzey: Orta
Maciej Katafiasz ([email protected]), Ö¤renci, Bilgisayar Bilimleri
GTK+, bir grafik kullan›c› arabirimi
(GUI) araç tak›m›d›r. Di¤er bir deyiflle, GUI tabanl› uygulamalar yaratman›za olanak veren bir kitapl›kt›r
(daha do¤rusu birbirleriyle yak›ndan ba¤lant›l› birkaç kitapl›ktan oluflan bir gruptur). GTK+ olana¤›n›,
çeflitli GUI'ler yaratmak için birçok
haz›r yap›y› bir arada bulabilece¤iniz bir araç kutusu olarak düflünebilirsiniz.
Bafllang›çta, GTK+ baflka bir tan›nm›fl aç›k kaynak projesi olan
GIMP'nin (GNU Image Manipulation
Program; GNU Görüntü Manipülasyon Program›) yan ürünü olarak yarat›lm›flt›. Daha önceki GIMP sürümlerinde çal›fl›rken Peter Mattis ve
Spencer Kimball, o zamanlar ücretsiz olmayan Motif araç tak›m›na bir
alternatif olarak GTK'yi (GIMP Toolkit'in k›salt›lm›fl›) yaratt›lar. (Art›
iflareti ada daha sonra, araç tak›m›
nesne yönelimli özellikler ve geniflletilebilirlik kazand›¤›nda eklendi.)
Bu yaklafl›k 10 y›l önceydi. Bugün, en son GTK+ sürümü olan 2.8
ile birlikte ürün çok say›da yeni etkinlik içeriyor ve GIMP hala, GTK+
olana¤›n› kullanan en iyi programlardan biri olmaya devam ederken
art›k tek de¤il. GTK+ için tam anlam›yla binlerce uygulama yaz›ld› ve
en az iki büyük masaüstü ortam›
(Xfce ve GNOME) kullan›c›lar için
eksiksiz bir çal›flma ortam› sa¤lamak için GTK+ ortam›n› kullan›yor.
Neden bir GUI araç
tak›m› kullan›lmal›?
GTK+ gibi bir kitapl›¤›n kullan›lmas›n›n kendi GUI kodunuzu yazmaya k›-
yasla birkaç avantaj› vard›r. Örne¤in, gelifltirme için harcanan süreden önemli ölçüde tasarruf etmenizi sa¤layarak, basit ifllevleri yinelemek yerine projeniz için as›l önemli
ve özel olan konulara yönelmeniz
için size zaman kazand›r›r. Kullan›c›lar›n›z için bu, kulland›klar› uygulamalar üzerinde daha fazla tutarl›l›k anlam›na gelir: Araç tak›m›n›n
çal›flt›¤› her yerde uygulamalar› da
çal›fl›r. Ayn› LEGO'larda oldu¤u gibi,
herkesin tek bir uyumlu boyutu kullanmas›, tasar›mlar›n›z›n nerede
kullan›l›rsa kullan›ls›n kitapl›¤› kullanan herkes taraf›ndan paylafl›labilmesi anlam›na gelir.
Gerçekte, modern GUI araç tak›mlar› yaln›zca yinelemenin önlenmesinden daha fazlas›n› yapar. Bu
araç tak›mlar› kullan›c›lar›n uygulamalar›ndan bekleyebilecekleri ve bu
tür araç tak›mlar› için harcanan zaman ve çaba tek bir uygulama için
harcayabilece¤inizden daha fazla
olaca¤›ndan elde edilmesi zor olacak birçok geliflmifl yetenek sunar.
Bu nedenle, uygulaman›zda bir GUI
kullan›lmas› sizin için önemliyse, bir
araç tak›m› kullan›n. Basit bir ifadeyle, bunun baflka yolu yok. Art›k
geri kalan tek soru hangi araç tak›m›n› kullanaca¤›n›zd›r.
GTK+ olana¤›n›n
güçlü yönleri
Gelifltirme ekibinizin gereksinimi ne
olursa olsun, GTK+ tam arad›¤›n›z
yan›t olabilir. GTK+ olana¤›n›n sunaca¤› çok fley vard›r:
• Güçlü bir topluluk taraf›ndan desteklenen bu olanak modern ve etkin
HABER LINUX 41
*040-043 GTK
9/27/06
4:09 PM
Page 4
bir flekilde gelifltirilmifl ve gelifltirilmeye devam etmektedir.
• Çal›flman›z› mümkün oldu¤unca çok
kifliye ulaflt›rmak için çok genifl seçenekler sunar. Bunlara uluslararas›laflt›rma, yerellefltirme ve eriflilebilirlik
için geliflmifl bir çerçeve de dahildir.
• Hem gelifltiriciler hem de kullan›c›lar
için yal›n ve kullan›m› kolayd›r.
• Çok iyi tasarlanm›fl, esnek ve geniflletilebilirdir.
• Serbest bir aç›k kaynak lisans›na sahip ücretsiz bir yaz›l›md›r.
• Hem kullan›c›lar, hem de gelifltiriciler aç›s›ndan tafl›nabilir bir üründür.
Modern ve etkin bir flekilde
gelifltirilmifl bir araç tak›m›
GTK+, yaz›l›m gelifltirmedeki en yeni
yöntemler kullan›larak yaz›lm›flt›r ve
herhangi bir hata ya da eksiklik bulundu¤unda (hiçbir yaz›l›m mükemmel de¤ildir) gelifltiriciler bir sonraki sürümde bunlar› düzeltmek için ellerinden
geleni yaparlar. Modern bir yaz›l›m
kullanmak, eskimeye terkedilmifl bir
ürüne tak›l›p kalmayaca¤›n›z anlam›na
gelir.
Sürekli bak›m ve gelifltirme çal›flmalar›, araç tak›m›n›n gelecekte gidece¤i yön konusunda da etkinizin olabilece¤ini gösterir. Ayr›ca, yeni yay›n
düzeyleri piyasaya ç›kt›kça, kullan›c›lar›n geribildirimlerine dayanan yeni
özellikler ve ifllevler eklenir ve eski sorunlar çözülür.
Uluslararas›laflt›rma,
yerellefltirme ve eriflilebilirlik
Herkesin kullanabilece¤i bir yaz›l›m
yarat›rken, üç sözcü¤ü akl›n›zda tutun:
uluslararas›laflt›rma, yerellefltirme ve
eriflilebilirlik (genellikle s›ras›yla i18n,
l10n ve a11y fleklinde k›salt›l›rlar).
Uluslararas›laflt›rma, program›n›z›
uygulaman›n gelifltirildi¤i dilin d›fl›ndaki di¤er dilleri konuflanlar›n kullan›m›
için haz›rlama sürecidir. Böylece, uygulama herhangi bir dille ilgili varsay›mlardan ba¤›ms›z olur.
i18n, program›n›z›n kulland›¤› metni yaln›zca çevirmekten daha fazlas›d›r. Bu, kullan›lan farkl› yazma düzeni
ve alfabelerin, farkl› yaz› yönlerinin,
birçok dili görüntülemek için gereken
özel ifllemlerin göz önünde bulundurulmas› ve kullan›c›lar›n veri girmeleri
için uygun yöntemlerin sa¤lanmas› anlam›na gelir. Baz› dillerde her bir harfin
42 HABER LINUX
klavye üzerindeki farkl› bir
tuflla gösterilmedi¤i gibi, hata
iletilerinde do¤ru ço¤ulun
kullan›ld›¤›ndan emin olmak
gibi daha genifl karmafl›kl›klar› da hesaba katman›z gerekir.
Uygulaman›z›n uluslararas› kullan›c›lar için haz›rlanmas› yaln›zca dillerin
de¤ifltirilmesinde öte bir süreç oldu¤undan, Yerellefltirme uluslararas›laflt›rma (i18n) ile yak›ndan ilgilidir. Program›n›z›n, tarihler, para birimleri, say›sal gösterimler, metin s›ralama için
yap›lan farkl› dönüfltürmeleri ve dünyan›n farkl› yerlerinde uygunsuz ya da
k›r›c› olabilecek simgelerin kullan›m›
gibi fark›nda bile olmayabilece¤iniz
birçok ince ayr›nt›y› anlamas› ve bunlara sayg› duyabilmesi gerekir.
Uluslararas›laflt›rma gibi, düzgün
yerellefltirme, kod üzerinde, sonradan
eklenemeyecek kapsaml› bir haz›rl›k
gerektirir. GTK+, size uluslararas›laflt›rma ve yerellefltirme için uygun araçlar› sa¤layarak, kodun (ve ikililerin)
birçok dilde ve yerel bilgi seçene¤inde
de¤ifltirilmeden çal›flt›r›labilmesine
olanak verir. Yapman›z gereken tek
fley yerel bilgileri iflletim sistemiyle
birlikte gönderilen veri setiyle de¤ifltirmek (l10n için) ya da gerçek bir
programdan ba¤›ms›z olarak da¤›t›lan
ve üzerinde çal›fl›labilen bir
çeviri dosyas›yla de¤ifltirmektir (i18n için). Sonuçta
ortaya ç›kan esneklik gelifltiricilerinizi, çevirmenlerinizi
ve kullan›c›lar›n›z› memnun
edecektir.
Eriflilebilirlik program›n›z› herkesin kullan›labilmesini
sa¤layan bir unsurdur. Baz› kullan›c›lar›n görme yetenekleri k›s›tl› olabilir,
baz›lar› bir klavye ya da fare kullanamayabilirler, baz›lar› ise yaln›zca gözlerini hareket ettirebilirler. ‹steyen
herkesin uygulaman›z› kullanabilmesini sa¤lamak çok fazla çaba ister. Neyse ki GTK+, sizin aç›n›zdan neredeyse
yok denebilecek kadar az çaba gerektiren geliflmifl bir kullan›labilirlik çerçevesi arac›l›¤›yla an›nda destek alabilece¤iniz bir yöntem sa¤lar. Bu çerçeve
sayesinde (UNIX® sistemlerinde standart bir seçenek olarak bulunur), uygulaman›z› her tür kullan›c›ya sunabilirsiniz.
Siz de kullan›labilirlik özelli¤inin
sundu¤u birçok avantajdan (otomatik
GUI testleri gerçeklefltirebilmek gibi) yararlanabilirsiniz.
Uygulaman›z›n özel gereksinimleri olan kullan›c›lar›n kulland›klar› eriflilebilirlik yaz›l›mlar› taraf›ndan okunabilmesini sa¤layarak, örne¤in do¤ru davran›fl biçimlerini denetleyen (bu ifllem, geleneksel
GUI programlamas›nda büyük sorunlara neden olur) test yaz›l›mlar› taraf›ndan da eriflilebilir olmas›n› sa¤layabilirsiniz. (Ayr›ca eriflilebilirlik son zamanlarda yaln›zca "hofl" bir özellik olmaktan ç›km›flt›r. Birçok düzenleme,
örne¤in A.B.D. devleti kullan›c›lar› taraf›ndan kullan›lan yaz›l›mlara iliflkin
kurallar, yaz›l›mlar›n özel gereksinimi
olan kullan›c›lar için uygun deste¤i
sa¤lamas›n› gerektirmektedir.)
Yukar›daki üç unsur, bir araç tak›m› (özellikle de tüm bu alanlarda mükemmel destek sa¤layan GTK+ araç
tak›m›n›) kullanmak için büyük olas›l›kla yeterli bir gerekçe oluflturur. GTK+
araç tak›m›n›n sa¤lad›¤› destek mükemmel oldu¤u kadar, ça¤dafl yaz›l›mlarla edinebilecekleriniz aras›nda en
iyisidir ve bu unsurlar›n uygulaman›za
eklenmesinin önemi ne kadar vurgulansa azd›r. Bilgisayarlar›n hemen her
yerde oldu¤u ve bunlarla çal›flan kullan›c›lar›n say›s›z ve benzersiz oldu¤u
günümüz dünyas›nda, baz› kullan›c› gruplar›n› göz ard› eden bir uygulamay› eksiksiz bir ürün olarak
nitelemek mümkün de¤ildir.
Yal›n ve kullan›m› kolay
Bir araç tak›m›, acemi kullan›c›lar
için bile kullan›m› kolay, rahat ve
zevkli olmal›d›r. ‹nsan ve bilgisayar aras›ndaki etkileflim için uygun bir
model oluflturmak önemsiz bir görev
de¤ildir. GTK+, uzun süren çal›flmalar›n yan› s›ra, say›s›z ve bazen zor al›nm›fl kararlar›n da sonucunda ortaya ç›kan bir üründür.
GTK+ ürünü, sizin gibi gelifltiriciler
için de kullan›m› kolay bir üründür.
Söylemek istedi¤iniz fleyi do¤rudan
söylemenize olanak verir; bilgisayarlar›n do¤alar› gere¤i yoksun olduklar›
hayal gücünü telafi etmek üzere insanlara yükledikleri kurallarla sizi s›k›nt›ya sokmaz.
‹yi tasarlanm›fl, esnek ve
geniflletilebilir
GTK+, ürüne bak›m yapanlara, yeni
*040-043 GTK
9/27/06
4:09 PM
Page 5
özellikler ekleyebilme ve kullan›c›lar›na, temel tasar›m› zorlamadan bu ifllevselli¤i kullanabilme ve gereksinimlerine en uygun flekilde kullanabilme
olana¤› verecek biçimde yaz›lm›flt›r.
Araç tak›m› ayr›ca geniflletilebilme
özelli¤ine sahiptir; ürüne kendi parçalar›n›z› ekleyebilir ve bunlar› yerleflik
parçalar› kulland›¤›n›z gibi kullanabilirsiniz. Örne¤in, uygulaman›z›n birlikte
çal›flt›¤› bilimsel verileri görüntülemesi ve kullan›c›n›n seçti¤i görsel biçimi
düzgün bir flekilde izlemesi için kendi
denetim ö¤enizi yazabilirsiniz.
Ayr›ca, GTK+ uyarlanabilme özelli¤ine sahiptir ve bu özellik, ürünü kendi
gereksinimlerinize uygun hale getirebilmenizi sa¤lar. GTK+, bir tema seçimi de dahil, ayarlar›n tüm uygulamalara yay›labilmesini sa¤layan bir sistem
içerir. Tema, GTK+ ürününün kulland›¤› temel denetimlerin nas›l göründü¤ünü ve belli bir dereceye kadar nas›l iflledi¤ini etkileyen ve toplu olarak da¤›t›lan uyarlamalar grubudur. Temalar›
kullanarak, örne¤in baflka bir iflletim
sisteminin görünümünü taklit edebilirsiniz (bkz. fiekil 1).
Serbest bir aç›k kaynak lisans›na
sahip ücretsiz yaz›l›m
Ücretsiz yaz›l›m, herkesin, belirli koflullara uyulmas› kayd›yla, araç tak›m›n› yaln›zca al›p kullanmakla kalmay›p
ayn› zamanda de¤ifltirmek ve yeniden
da¤›tmak üzere de serbest oldu¤u anlam›na gelir. Serbest aç›k kaynak lisans›, bu koflullar›n çok s›n›rlay›c› olmad›¤› ve önemli ölçüde özgürlük düzeyine sahip oldu¤unuz anlam›na gelir.
En önemlisi, GTK+, GNU lisanslar› aras›nda en az s›n›rlay›c› olan Lesser General Public License (LGPL) lisans›n›
alm›flt›r. LGPL, yapt›¤›n›z de¤ifliklikleri
de ücretsiz yapman›z kofluluyla, kapsad›¤› tüm yaz›l›mlar› ücretsiz olarak
alman›za, de¤ifltirmenize ve da¤›tman›za izin verir. LGPL kullan›c›n›n uygulama kodunu açmas›n› gerektirmeden,
herkesin kitapl›k taraf›ndan sa¤lanan
ifllevleri kullanmas›na da izin verir.
(Ço¤unlukla önceki sözleflmeler ve lisanslar nedeniyle, kodun genel kullan›ma aç›lmas›n›n istenmedi¤i ya da kesinlikle imkans›z oldu¤u birçok sektörel kullan›m için bu önemlidir). LGPL lisans› sayesinde, hem iyi bir Çözüm Orta¤› hem de iyi bir aç›k kaynak vatandafl› olabilirsiniz.
Tafl›nabilir
GTK+ ürününün son ama ayn› derecede önemli di¤er bir özelli¤i de tafl›nabilir olmas›d›r. Bu, kullan›c›lar›n bu ürünü birçok platformda ve sistemde çal›flt›rabilecekleri anlam›na gelir. Buna
karfl›l›k, gelifltiriciler, program› yaln›zca bir kez yazarak yaz›l›mlar›n› çok say›da kullan›c›ya sa¤layabilir ve ayr›ca
birçok farkl› programlama ve gelifltirme platformu, araç ve programlama
dili kullanabilirler. Tüm bunlar, daha
büyük bir kullan›c› potansiyeli ve gereksinimlerinize daha uygun, daha genifl beceri ve araç seçeneklerinden yararlanabilmeniz anlam›na gelir.
Tüm bu güçlü özellikler bir araya
geldi¤inde, GTK+ ürünü yaz›l›m gelifltirme için sa¤lam bir temel haline gelir. Bu sayede, herfleyi yeni bafltan
keflfetmek yerine gerçek sorunlar›
çözmeye yo¤unlaflabilir ve yaratt›¤›n›z uygulamalar›n kullan›c›lar›n bekledikleri gibi çal›flarak yeni sorunlar yaratmak yerine onlar›n sorunlar›n› çözece¤inden emin olabilirsiniz.
Sonraki bölüm
Bu makalede, çok fazla ayr›nt›ya girilmeden, GTK+ ürünün genel özelliklerine h›zl› bir bak›fl sa¤land›. Bir sonraki
bölümde, gerçek GTK+ kodu hakk›nda
bilgi sahibi olacaks›n›z. Size kodun
gerçekte nas›l iflledi¤ini anlatacak, kullan›labilir baz› araçlar› tan›tacak ve
GTK+ ürününün farkl› platformlar ve
dillerde nas›l baflar›yla çal›flt›¤›n› gösterece¤im. Son makalede ise, GTK+
ürününün zor ortamlardaki örneklerini
göreceksiniz. Bu son makalede uyumluluk, tafl›nabilirlik, yayma ve GTK+
ürününün sizin özel gereksinimlerinize
uydurulmas›yla ilgili sorunlar› analiz
edece¤im. Son olarak, GTK+ ürününü
kendi projelerinizde kullanmak istedi¤inizde bakabilece¤iniz kaynaklara
iliflkin ipuçlar› bulacaks›n›z.
Bölüm 2: GTK+ nas›l kullan›l›r?
http://www.fazlamesai.net/
index.php?a=article&sid=3982
Bölüm 3: GTK+ nas›l yay›l›r?
http://www.fazlamesai.net/
index.php?a=article&sid=3986
• GTK+ API baflvuru sayfas› gelifltiriciler için önemli bir sayfad›r.
(http://www.gtk.org/api)
• The Official GNOME 2 Developer's
Guide (yazan Matthias Warkus, No
Starch Press, 2004) GTK+ ile programlama dahil, GNOME 2 konusunu ele
al›r. (http://www.amazon.com/exec/
obidos/tg/detail/-/1593270305/0027090147-8728026?v=glance)
• Aç›k kaynak teknolojileri konusunda
kendinizi gelifltirmenize ve bunlar› IBM
ürünleriyle kullanman›za yard›mc› olacak kapsaml› nas›l yap›l›r bilgileri,
araçlar ve proje güncellemeleri developerWorks Open source zone (Aç›k
kaynak bölgesi) sayfas›n› ziyaret edebilirsiniz. (http://www-128.ibm.com/
developerworks/opensource)
Tart›flma
• GTK+ ile yaz›l›m gelifltirme konusunda destek ve sorular›n›z›n yan›tlar› için
GTK+ e-posta listelerine bakabilirsiniz.
(http://gtk.org/mailinglists.html)
• developerWorks web günlüklerine
kat›larak developerWorks toplulu¤una
eriflebilirsiniz.
(http://gtk.org/
mailinglists.html)
Yazar hakkında
Maciej Katafiasz, bilgisayar bilimlerinde yüksek lisans ö¤rencisidir ve liseden bu yana açık kaynak teknolojilerini kullanmaktadır. 1.0 sürümünden bu
yana GNOME masaüstünün kullanıcısı
olan
Katafiasz,
sürüm
2.0
yayınlandıktan sonra bu sürümü çok
sevmifl ve en sevdi¤i masaüstüne uygulamalar gelifltirebilmek için GTK+
ürününü ö¤renmifltir.
Kaynaklar
Bilgi Edinme
• Araç tak›m›yla ilgili ek bilgi için
GTK+ Web sitesini ziyaret edebilirsiniz. (http://www.gtk.org)
fiekil 1. GTK+
uygulamalar› için
örnek görünümler
HABER LINUX 43
044-047 EclipseI
9/27/06
4:13 PM
Page 2
IBM taraf›ndan Eclipse kayna
aç›ld›, yaz›l›m dünyas› buna t
44 HABER LINUX
044-047 EclipseI
9/27/06
4:13 PM
Page 3
nak kodlar›
tutuldu
Yüzlerce flirket taraf›ndan desteklenen ve
ba¤›ms›z bir projeye dönüflen, yüzlerce
programc›n›n halen de¤iflik eklentilerle
kesintisiz bir flekilde gelifltirmekte oldu¤u
Eclipse'i ve göze çarpan, herkesin hayat›n›
kolaylaflt›racak birtak›m eklentilerini birlikte
ö¤renelim.
Son befl sene içerisinde Java dünyas›ndaki en heyecan verici geliflmelerden biri Eclipse’in IBM taraf›ndan aç›k kaynak kodlar›yla kullan›ma sunulmas› oldu. Biz de bu yaz›m›zda, 2001’den beri dünyan›n dört
bir taraf›ndaki Oracle, BEA ve Macromedia gibi yüzlerce flirket taraf›ndan desteklenen ve ba¤›ms›z bir
projeye dönüflen, yüzlerce programc›n›n halen de¤iflik eklentilerle
kesintisiz bir flekilde gelifltirmekte
oldu¤u Eclipse’i ve göze çarpan,
herkesin hayat›n› kolaylaflt›racak
birtak›m eklentilerini anlatmaya çal›flaca¤›z.
Birçok eklentinin bir araya gelmesinden oluflan yap›s› sayesinde
Eclipse, hem çok h›zl› gelifltirilmekte olan, hem de son derece dinamik
bir program olma özelli¤ine sahip.
‹lk tasarland›¤› zamanlarda basit bir
IDE (integrated development environment) olan Eclipse, günümüzdeki 3.0 versiyonuyla birlikte art›k her
türlü kullan›ma uygun bir Rich Client Platform haline geldi ve baflka
IDE’lerin yarat›lmas› için Java dünyas›n›n en çok tercih edilen platformlar›ndan oldu.
Halen Windows NT, Windows XP,
Windows 2000, Windows 98 ve
Windows ME, MacOs iflletim sistemlerinde kullan›labilen Eclipse çok
platform uyumlu yap›s› sayesinde
Linux alt›nda da sorunsuz çal›flabiliyor. Elbette, her türlü programc›n›n
Eclipse’i kendi platformuna tafl›mas› da mümkün, fakat "http://www.
eclipse.org'da" www.eclipse.org’da
sadece genel versiyona destek sa¤lan›yor.
Eclipse’i kullanmaya bafllamak
için ana sayfas› olan "http://www.
eclipse.org" www.eclipse.org ‘a gi-
rip “dowloads” bölümünden bilgisayar›n›za indirmeniz gerekiyor. Bu
sayfada birçok eklenti, proje ve alt
projeler oldu¤u gibi, Eclipse’i indirmek için kullanaca¤›z link de en tepede koyu renklerle yaz›l› duruyor.
Kendinize yak›n olan bir yans›may›
seçtikten sonra, ki Türkiye için “Tubitak-Ulakbim” tercih edilebilir,
120mb’l›k s›k›flt›r›lm›fl dosyay› indirdikten sonra tek yapman›z gereken
bu dosyay› orijinal boyutuna geri
getirmeniz ve eclipse.exe’ye çift
t›klaman›z. Eclipse, okumadan, sadece ileri tufluna basarak geçti¤iniz
herhangi bir yükleme arayüzüne ihtiyaç duymuyor ve daha önceden
Java Virtual Machine yüklenmifl bir
makinede çal›flabiliyor, “Common
Public License” alt›nda oldu¤u için
de bir ücret gerektirmiyor.
Kullan›c› dostu olmas›yla dikkat
çeken Eclipse’in en yararl› özelliklerinden biri kod yaz›m›n› fark edilir
derecede h›zland›ran Quick Fix
özelli¤idir. Sadece compile ettikten
sonra ç›kan hatalar› de¤il, yaz›m esnas›nda gördü¤ü eksiklikleri de düzeltebilmesiyle kullan›c›ya büyük
kolayl›k sa¤lar. Sat›r›n solunda görünür hale gelen ampul iflareti, o sat›r ile ilgili bir düzeltme yap›labilece¤ini iflaret etmektedir. Farenin
sol tufluyla ampul ikonuna t›klayarak ya da Ctrl+1 k›sa yolunu kullanarak yap›labilecek düzeltmelerin listelendi¤i Quick Fix penceresine eriflilebilir. Sat›r›n alt›nda beliren pencerede seçilen düzeltmenin önizlemesi de görülebilmektedir. Bu sayede gerekli düzenlemeyi bulmak için
deneme yan›lma yönetimine baflvurman›za gerek kalmaz. Quick Fix
özelli¤i varsay›lan ayarlarda aç›k
olarak bulunsa da Window > Preferences > Java > Editor menülerinden
HABER LINUX 45
044-047 EclipseI
9/27/06
4:13 PM
Page 4
‘Report problems as you type’ seçene¤i iflaretlenerek de aktif hale getirilebilir. Ctrl+1 k›sa yoluyla tüm düzeltmelere ulafl›labilece¤i gibi belli düzeltmeler
için özel k›sa yollar oluflturulup s›k kullan›lan düzeltmelere tek tuflla ulafl›larak daha kolay bir yaz›m sa¤lanabilir.
http://www.eclipseplugincentral.com/
- en kapsaml› sitelerden biri, en son
yüklenen eklentiler, en aktif ve en çok
indirilen eklentiler gibi listeleriyle Eclipse platformunda yeni bile olsan›z
iflinizi çok kolaylaflt›r›yor.
Eclipse Plugins Info: "http://
fiekil 1: Quick Fix ile eksik kütüphaneler eklenebilir.
Quick Fix ile yap›labilecek düzenlemeleri listelersek;
• Eksik paketler tan›mlanabilir ya da
var olanlar düzeltilebilir.
• Eksik kütüphaneler eklenebilir, gereksiz kütüphaneler temizlenebilir,
böylelikle kod üzerinde yap›lan de¤iflikliklerde sayfan›n bafl›na dönüp kütüphaneleri düzenleme derdi ortadan
kalkm›fl olur.
• Eksik olan class, type tan›mlar› koda
eklenebilir. Hatal› olanlar düzeltilebilir.
Kullan›lmayanlar ortadan kald›r›labilir.
• Yeni bir class eklendi¤inde ortaya ç›kabilecek referans karmaflas›na karfl›n
constructor yarat›labilir, parametrelere göre düzenlenebilir.
• De¤iflken tan›mlar› düzeltilebilir, kullan›lmayanlar kald›r›labilir.
• Try / Catch bloklar› düzenlenebilir.
Eksik JAR dosyalar› eklenebilir.
• @Override, @Deprecated aç›klamalar› eklenebilir.
Aç›k kod oldu¤u için, dünyadaki her
programc›n›n Eclipse ile uyumlu bir flekilde istedi¤i eklentiyi gelifltirme hakk›na sahip olmas› ve program›n zaten
iç içe geçmifl eklentilerden oluflan yap›s› sayesinde yeni eklentilerin kolayca yüklenebiliyor ve kullan›labiliyor olmas› bu dinamik program›n en büyük
avantaj›. Sadece Eclipse ad›ndan çok,
herkes taraf›ndan gelifltirilmesi mümkün bir proje olarak, bu program artik
The Eclipse Project olarak da an›l›yor.
Eclipse’in eklentilerinin topland›¤›
birkaç adrese örnek vermek gerekirse,
• Eclipse Plugin Central:
"http://
www.eclipseplugincentral.com/"
46 HABER LINUX
www.eclipse-plugins.info/eclipse/index.jsp" http://www.eclipse-plugins.
info/eclipse/index.jsp - baz› temel
aç›klamalar ve eklentiler.
• Eclipse Wiki: "http://eclipse-wiki. info/" http://eclipse-wiki.info/ - bu site
hem genel bilgiler hem de çeflitli temel
eklentiler için kullan›labilir.
• PHPeclipse: "http://www.phpeclipse.de/" http://www.phpeclipse.de/ PHP gelifltirmek için Eclipse kullanmay› öneren bir site ve bu konudaki baz›
eklentileri.
Afla¤›da, her Eclipse kullan›c›s›n›n
tan›mak isteyece¤i baz› eklentileri tan›taca¤›z.
WindowBuilder Pro
Eclipse’in kendisi aç›k kaynak kodlu oldu¤u halde, bu platform üzerine ticari
amaçlarla eklentiler gelifltiren profesyonel flirketler de var. Örnek vermek
gerekirse, de¤iflik GUI haz›rlama yöntemleri üzerinde çal›flan flirketlerden
biri olan Instantiations ( "http://www.
instantiations.com" http://www.instantiations.com) da bunlardan biri.
Hem IBM Business Partner hem de Eclipse Foundation Member s›fatlar›n› tafl›yan bu flirketin bir ürünü olan WindowBuilder Pro, Java ile Graphical
User Interface yaratmak için harcanacak zaman ve masraf› azaltmay› vaat
ediyor.
WindowBuilder Pro, kullan›m› kolay, hem kod yazarak hem de What You See Is What You Get yöntemiyle basitçe istedi¤iniz menüleri ve pencereleri haz›rlaman›za olanak sa¤layan
Standart Widget Toolkit temelli bir ya-
z›l›md›r. Soldaki menüden seçti¤iniz
pencere veya menü parçalar›n› sürükleyip b›rakt›¤›n›z zaman WindowBuilder Pro gereken kodu otomatik olarak
haz›rlar.
Bu faydal› eklenti, Windows 98,
ME, NT 4.0, 2000 ve XP’de çal›flmas›n›n yan›s›ra, GTK yüklü bir Linux’ta da
sorunsuzca kullan›labilmektedir. Eclipse 2.1, 3.0, 3.1 ve 3.2’nin yan›s›ra WindowBuilder Pro ayn› zamanda WebSphere 5.1 ve daha yüksek versiyonlar›
ile Rational Web Developer 6.0 ve üzeri, Rational Application Developer 6.0
ve üzeri ile de uyumludur.
Plugin yüklendi¤i zaman bir soyut
sözdizimi a¤ac› (abstract syntax tree –
AST) oluflturarak kodun içinde gezinmeyi sa¤lar ve bir grafik düzenleme
yap›s› (graphical editing framework –
GEF) sayesinde görsel sunumu yönetir.
fiekil 2: WindowBuilder Pro ile basit
bir Text Editor penceresi haz›rlamak
çok kolay.
WindowBuilder Pro kullanarak, sadece sürükle – b›rak yaparak arayüzünüze de¤iflik tiplerde dü¤meler, yaz›
girifli bloklar›, listeler, menüler, altmenüler ve menü seçenekleri; bunlar›n
yan› s›ra olay düzenleyicileri (event
handler) ve benzeri birçok gerekli
özelli¤i kolayca eklemenize olanak
sa¤lar. Bunlar›n hepsini klasik Java
kodlar› kullanarak yapt›¤› için herhangi
ekstra bir kod kütüphanesi eklenmesini gerektirmez, dolay›s›yla da yarat›lm›fl olan programlar ve arayüzler WindowBuilder Pro yüklenmemifl bir makinede de sorunsuzca kullan›labilir.
Bunlar›n yan› s›ra, WindowBuilder
Pro daha önce haz›rlanm›fl olan pencereler üzerinde de¤ifliklik yapmak için
de kullan›labilir, reverse engineering
yöntemi ile haz›r arayüzlerin kodunun
görünmesine de olanak verir.
Bu eklentiyi kullanmak için sat›n almak gerekti¤i halde, bir deneme versiyonunu kullanmak ve test etmek de
mümkün.
"http://www.windowbuil-
044-047 EclipseI
9/27/06
4:13 PM
Page 5
derpro.com/" http://www.windowbuilderpro.com/ adresine gidip sol taraftan downloads’u seçti¤iniz zaman karfl›n›za gelen sayfada Eclipse’inizin versiyonuna uygun olan WindowBuilder
Pro’yu seçerek kullanmaya bafllayabilirsiniz. Yüklenmesi oldukça sade ve
kolay, deneme versiyonu için yükleme
s›ras›nda flifre sormas› halinde flifre
kutucu¤unu bofl b›rakman›z yeterli.
Bundan sonra, WindowBuilder Pro’ya
kulland›¤›n›z Eclipse platformunun
hangisi oldu¤unu göstermeniz gerekiyor. Birden fazla platformun haz›r olmas› durumunda ise hepsinde birden
kullanmak da mümkün olmaktad›r.
fiekil 3: WindowBuilder Pro ile haz›r
gelen sade bir browser tasar›m›..
Yükleme bittikten sonra kullanaca¤›n›z container’a yeni bir “Simple SWT
Browser” ya da “Simple SWT Text Editor” açarak deneme sürümü kullan›m›n›za bafllayabilirsiniz.
Bir WindowBuilder dosyas› aç›ld›¤›
zaman sistem çubu¤unda otomatik
olarak ikinci bir program beliriyor. Bu
yard›mc› program kullan›c›n›n Eclipse
platformunda çal›flmas›n› sürdürmesini engelleyecek bir özellik de¤il.
Aç›kças›, çok sade ve basit bir arayüzü oldu¤u için kullan›ma dair söylenecek çok fazla birfley yok. Sa¤ taraftaki menülerden bir t›kla seçip, sürükleyip b›rakt›¤›n›z zaman WindowBuilder Pro sizin için gereken yerlefltirmeyi yap›yor. Bu basitlik sayesinde, WindowBuilder ve benzeri eklentiler Java
komünitesi di¤er platformlarda var
olan “Visual” programlar›n yerini tutuyorlar.
terface) oluflturmak için kullan›lan bir
araçt›r. Eclipse in di¤er kod gelifltirme
ortamlar›yla karfl›laflt›r›ld›¤›nda görsel
arayüz tasarlama konusunda eksiklikleri olmas› üzerine 2003 ekim ay›nda
Visual Editor ad›nda GUI gelifltirebilmek için görsel bir araç oluflturma projesi bafllat›ld›, k›sa süre sonra da Java’da AWT/Swing uygulamalar›n›n
oluflturulabilece¤i Visual Editor v0.5
piyasaya sürüldü. Eclipse gibi Visual
Editor’un kodlar› da IBM destekliydi ve
Visual Editor v1.0 yine IBM taraf›ndan
gelifltirilmifl olan SWT (Standart Widget Toolkit) teknolojisini de desteklemeye bafllad›.
fiimdi Visual Editor un son sürümü
olan Visual Editor v1.2 ile görsel uygulamalar›n nas›l gelifltirilebilece¤inden
bahsedelim. Öncelikle program› ve
program›n kurulumu için gerekli baz›
dosyalar› indirmeliyiz. Aç›k kaynak
olan Visual Editor’u indirmek için eclipse in kendi sitesindeki bölümünü
kullanabiliriz:
http://www.eclipse.org/vep/WebContent/main.php
Bu sitede de anlat›ld›¤› gibi Visual
Editor v1.2 ‘nin düzgün çal›flmas› için
bilgisayar›m›zda Eclipse SDK 3.2,
EMF(Eclipse Modeling Framework) build 2.2.0 ve GEF(Graphical Editing Framework) build 3.2 kurulu olmal›d›r. Bu
eklentileri yine Eclipse’in sitesinden
bulabiliriz.
‹ndirdi¤imiz GEF-runtime-3.2.zip
ve emf-sdo-runtime-2.2.0.zip dosyalar›n› bilgisayar›n›zdaki Eclipse klasörü’nün (örne¤in C:\eclipse-SDK-3.2win32) içine unzip etti¤inizde (açt›¤›n›zda) C:\eclipse-SDK-3.2-win32\eclipse\plugins ve C:\eclipse-SDK-3.2win32\eclipse\features klasörlerine
yeni dosyalar eklenecektir. VE-runtime-1.2.zip dosyas›n› da ayn› flekilde
unzip ederek Visual Editor v1.2 nin kurulumunu gerçeklefltirmifl oluyoruz.
‹ndirdi¤imiz VE-runtime-1.2.zip dosyas› normal Visual Editor kurulumu ve
uygulamas› için gerekli olan dosyad›r.
fiekil 5: Install
New Remote Site dü¤mesine bas›nca karfl›m›za küçük bir New Update
Site penceresi aç›lacak, burada isim
olarak VE url olarak http://update.eclipse.org/tools/ve/updates/1.0 yazal›m. Ayn› ifllemi isim:EMF, url:
http://update.eclipse.org/tools/emf/updates ve isim: Old Eclipse
,url :http://update.eclipse.org/updates/3.0 için de gerçeklefltirelim ve Finish’ e t›klayal›m. Mirror site seçimlerini yapt›ktan sonra, karfl›m›za ç›kacak yeni bir pencerede yüklemek istedi¤imiz özellikleri seçebilece¤iz(fiekil
6).
fiekil 6: Updates
ECLIPSE
Visual Editor Project
Visual Editor projesi, isminden de anlafl›laca¤› gibi GUI (Graphical User In-
Bunun haricinde VE-SDK-1.2.zip ile
kaynak kodu ve dokümantasyon veya
VE-examples-1.2.zip dosyas› ile bas›
örnek dosyalar› indirilebilir.
Bunlar›n d›fl›nda Visual Editor veya
baflka eklentileri kurmak için Eclipse
program›nda Help->Software Updates>Find and Install bölümünü de kullanabiliriz. (fiekil 4)
Burada karfl›m›za ç›kacak olan ekranda Search for new features to install’› seçerek karfl›m›za ç›kacak olan
ekranda New Remote Site dü¤mesine
t›klayal›m.(fiekil 5)
fiekil 4: Find and Install
Bu yeni ekranda:
• VE->VE->Visual Editor SDK 1.1.0.1
• EMF->EMF SDK 2.1.2->EMF SDK 2.1.2
HABER LINUX 47
044-047 EclipseI
9/27/06
4:13 PM
Page 6
• Old Eclipse->GEF 3.1.1->Graphical
Editing Framework 3.1.1
Seçerek, lisanslar› kabul ettikten
sonra Visual Editor v1.2 kurulumunu
gerçeklefltirmifl oluyoruz.
Program› kurduktan sonra Eclipse’i
bafltan bafllatal›m. Art›k bir proje luflturdu¤umuzda, ekran›n sol taraf›nda
bulunan Package Explorer’da projenin
ismine sa¤ t›klad›¤›m›zda, New->Visual
Class opsiyonu ç›kacakt›r(fiekil 7). Bu
opsiyon ile GUI tasarlayabilece¤imiz
görsel destekli yeni bir class yarat›lacakt›r.
zü ekran›m›zda bulunmaktad›r. Fig 6,
bize Javax.swing.frame kullan›larak
yeni oluflturulmufl bofl bir visual class
örne¤i göstermektedir.
fiekil 9: visual.java
fiekil 7: New-> visual class
Yeni Visual Class’›m›z› olufltururken dikkat edece¤imiz temel fleyler
vard›r, Öncelikle New Java Visual
Class (Fig 5) ekran›nda istedi¤imiz java teknolojisini seçmeliyiz. Grafik arayüzler için genelde Swing, AWT veya
SWT teknolojileri kullan›lmaktad›r.
Bunlar›n birinden Frame’i seçip dosyam›z›n ismini belirleyip ve public static
void main(String[] args) checkbox unu
iflaretledi¤imizde, yeni bir visual class
yaratmak için haz›r›z demektir, Finish’e t›klayarak bunu gerçeklefltirebiliriz.
fiimdi bu ekranda, yanda palette
k›sm›ndan istedi¤imiz eleman› seçip
oluflturdu¤umuz Jframe içine atabiliriz. Afla¤›da properties bölümünden de
ekledi¤imiz her eleman›n özelliklerini
görüp, gerekli de¤ifliklikleri yapabiliriz.
Örne¤in JFrame oluflturuldu¤unda bir
de içine elemanlar› yerlefltirece¤imiz
JPanel oluflturulmufltur bu JPanel’properties’inde layout sekmesini
BorderLayout yerine null yaparsak,
ekledi¤imiz her eleman›n boyunu, yerini, BorderLayout’un bize sundu¤u
Center, South,West.. gibi ayarlanmak
yerine ekran›n piksellerine göre istedi¤imiz yer ve büyüklükte ayarlayabiliriz.
Sonuç olarak bu aç›k kaynak program Eclipse’i de di¤er GUI gelifltiriciler
gibi kullanmam›z› sa¤layarak bize Java’n›n Swing,AWT ve hatta özellikle
Eclipse’in kulland›¤› SWT teknolojilerini destekleyerek Eclipse’in grafik arayüz gelifltirme konusunda eksiklerini
kapatm›fl, ve herkes için grafik konusunda gayet kullan›fll› bir programd›r.
CDT
fiekil 8: New Java Visual Class
Art›k GUI gelifltirmek için kullanaca¤›m›z Visual Editor ‘un grafik arayü48 HABER LINUX
CDT Projesi, Eclipse platformunda,
C/C++ kullan›m›n› mümkün k›lmak için,
piyasadaki di¤er compilerlar›n tüm
özelliklerine sahip bir C/C++ IDE'si (
Integrated Development Environment
– Bütünlefltirilmifl Gelifltirme Ortam› )
yarat›lmas›n› amaçlayan bir projedir.
‹smi C/C++ Developpement Tool'un
bafl harflerinden oluflturulmufltur. En
son olarak 3.1 versiyonu ç›kart›lan
CDT, hem Eclipse hem de Callisto ile
uyumludur. CDT projesi bir aç›k kaynak projesi olup, CPL ( Common Public
License ) alt›nda lisanslanm›flt›r.
CDT, iflletim sistemlerinden ba¤›m-
s›zd›r; Eclipse'in çal›flt›¤› bütün platformlarda çal›flabilir. Bu konudaki tek
istisnalar CDT'nin güncel sürümünün
çal›flmad›¤› Windows 98 ve Windows
ME iflletim sistemleridir.
CDT'nin oldukça kolay bir yüklenme yöntemi vard›r. Eclipse'in ana ekran› geldi¤inde, Help menüsünden
Software Updates > Find and Install...
seçene¤ini seçin. Gelen pencerede Search for new Features to Install seçene¤ini seçtikten sonra Next'e bas›n.
Yeni pencerede sa¤daki New Remote
Site seçene¤ini seçip aç›lan pencerenin Name k›sm›na uygun bir isim, URL
k›sm›na ise
"http://download.eclipse.org/tools/cdt/releases/eclipse3.1"http://download.eclipse.org/tools/cdt/releases/eclipse3.1 adresini
girin. Finish tufluna basarak ifllemi sonland›r›n. Bundan sonra karfl›n›za eklentiyi indirmek için kullanabilece¤iniz sunucular›n listesini veren bir pencere ile
karfl›laflacaks›n›z. Bu pencereden size
uygun olan bir sunucuyu seçin. Sunucu
seçim ekran›ndaki sunucular bulunduklar› ülkelere göre s›ralanm›flt›r. Sunucu seçiminden sonra karfl›n›za Arama Sonuçlar› ( Search Results ) ç›kacakt›r. Bu ekranda eklemek istedi¤iniz
paket ya da paketleri seçebilirsiniz. ‹stedi¤iniz paketleri seçtikten sonra
Next tufluna bas›p, gelen ekrandaki
kullan›c› anlaflmas›n› onaylad›ktan
sonra son ekrandaki eklenti paketinin
yüklenme yerini de onaylad›ktan sonra
Finish tufluna basarak yüklemeyi tamamlayabilirsiniz.
Alternatif olarak CDT, http://fullmoon.torolab.ibm.com/tools/cdt/releases/callisto/dist/3.1.0/ adresinden
s›k›flt›r›lm›fl bir dosya olarak indirilebilir. Bu adreste CDT'nin iki farkl› versiyonu bulunmaktad›r:
1. CDT Runtime Feature ad› alt›nda
bulunan standart pakette Eclipse'i
kullanarak C/C++ dillerinde program yazmak için gerekli bütün aletler ( editör , kod arama motoru , gerekli “builder”lar, debug arayüzü
ve debug , build ifllemleri için gerekli olan GNU programlar,...) ve
kullan›c›ya yard›mc› olmak için konulmufl gerekli belgeler bulunmaktad›r.
2. Ayn› adreste bulunan ikinci paket
ise CDT – SDK Feature ad› alt›nda
sunulan pakettir. Bu paket, CDT'nin
gelifltirilmesine yard›mc› olmak isteyenler için gerekli olan CDT kay-
044-047 EclipseI
9/27/06
4:13 PM
Page 7
nak kodlar›n› içermektedir.
Kurulum aflamas›ndan sonra, CDT
paketi Eclipse taraf›ndan otomatik
olarak alg›lan›r.
C/C++ Proje örnekleri
Örnek olarak basit bir C++ projesi yaratal›m. Her programc›n›n ilk program›
olan “Merhaba Dünya” program›:
Program›m›z› yazmadan önce, belirtmemiz gereken bir fley var: C/C++
projeleri için “Build Automatically” seçene¤i kapat›lmal›d›r. E¤er bu seçenek
aç›ksa Eclipse, program›n›z› her kay›t
etti¤inizde otomatik olarak build etmeyi deneyecektir. Bunu yapmak için
menü bar›ndaki Projects sektesindeki
Build Automatically seçene¤inin seçili
olmad›¤›ndan emin olun.
C++ Project seçene¤ini seçmeseydik,
Simple C++ Project seçene¤ini kullansayd›k, o zaman projenin makefile'›n›
da kendimize göre ayarlamam›z gerekecekti. Bu seçenekte Managed C++
Project seçene¤indeki bütün ad›mlar›
yapt›ktan sonra ayr›ca afla¤›daki ad›mlar› da yap›yoruz :
Afla¤›daki kodlar› makefile dosyas›na ekliyoruz.
merhaba.exe : merhaba.o
g++ -o merhaba.exe merhaba.o
merhaba.o : merhaba.cpp
g++ -c merhaba.cpp
all : merhaba.exe
clean :
-rm merhaba.exe merhaba.o
Eski C/C++ projelerinin
Eclipse platformuna
tafl›nmas›
fiekil 10:
Daha sonra sa¤ taraftaki projeler
bar›na sa¤ t›klay›p New Project...'i seçin. Aç›lan pencere de C++'a t›k'lay›n
ve alt›ndaki Managed Make C++ Project'i seçin. Proje için bir isim verdikten sonra Finish'i seçin.
Sa¤ taraftaki projeler bar›nda yeni
ç›kan projemizin üzerine sa¤ t›klay›n
ve aç›lan menüden New > Simple > File
seçeneklerini seçin. Yeni dosyan›z›n
ad› örne¤imizde merhaba. cpp.’dir.
Yeni aç›lan dosyaya afla¤›daki s a t›rlar› yaz›n:
#include <stdio.h>
int main()
{
printf("Merhaba\n");
fgetc(stdin);
return 0;
}
Dosyay› kay›t edip çal›flt›r›rsan›z
Eclipse'te ilk C++ program›n›z› yazm›fl
olacaks›n›z.
E¤er projemizi yarat›rken Managed
Eclipse'e al›flt›ktan sonra büyük olas›l›kla eski C/C++ projelerinizi Eclipse
ortam›na tafl›mak isteyeceksiniz. CDT,
eski projelerin Eclipse ortam›na tafl›nmas› için kolay bir yol sunmaktad›r.
Afla¤›da bulunan örnekte Standard
Make kullanan bir projenin eclipse ortam›na tafl›nmas›n› görebiliriz.
‹lk olarak File > New > Project. Seçene¤iyle Proje Yaratma Sihirbaz›n›
aç›yoruz.(fiekil 11)
Bu ekran da örne¤imiz de kullanaca¤›m›z proje tipini seçiyoruz. Biz örne¤imizde Standard Make C++ Project
kullanaca¤›z. Bu tip bir C++ projesi,
projeye ait makefile dosyas›n›n Eclipse aktard›¤›m›z dosyalardan biri oldu¤unu durumlarda kullan›l›r. E¤er projenin makefile'› yoksa o zaman Managed
Make C++ Project'i seçecektik. O durumda Eclipse, projemiz için gerekli
olan makefile dosyas›n› kendisi yara-
fiekil 11:
tacakt›.
Bir sonraki ekranda projemizin ismini ve dosyalar›n sakland›¤› yeri belirtece¤iz. Projemizin dosyalar›n› Eclipse'e tan›tabilmek için Use Default
Location seçene¤ini kald›r›yoruz ve
aç›lan bölmeye projemize ait dosyalar›n bulundu¤u klasör'ün yerini yaz›yoruz. (fiekil 12)
fiekil 12:
Next seçene¤ini seçip bir sonraki
ekrana geliyoruz, burada ilk olarak Make Builder sekmesini seçiyoruz. E¤er
bilgisayar›n›z build komutu make'den
farkl›ysa o zaman bu ekrandaki Build
Command alan›na o komutu yazman›z
gerekiyor(fiekil 13). Bu ayar› da yapt›ktan sonra Finish'e basarak projemizi
Eclipse aktarmay› bitiriyoruz. Projeniz
Eclipse Platformunun
ana ekran›nda sa¤da
bulunan projelerim
penceresinde ortaya
ç›kacakt›r.
Yazarlar:
Umur Aksel
Mert Dirim
Yalç›n Özsoy
Murat Y›lmaz
HABER LINUX 49
*050-059 develop
9/27/06
4:11 PM
Page 2
PHP ile 3 boyutlu
görüntüler haz›rlay›n
50 HABER LINUX
*050-059 develop
9/27/06
4:11 PM
Page 3
Üç boyutlu grafiklerin dinamik olarak
oluflturulmas›yla ilgilenen PHP programc›lar›n
bu makaleyi dikkatle okuyaca¤›na eminiz.
Art›k ifl uygulamalar›n› ve veri raporlar›n›,
kolayca haz›rlanan pasta grafikler ekleyerek
zenginlefltirebilirsiniz.
Mike Brittain ([email protected]), Teknoloji Yöneticisi, ID Society
Bafllang›çta Web gelifltirme amaçl›
olarak tasarlanm›fl bir dil olan PHP,
y›llard›r dinamik Web sitelerini ve
veritaban› uygulamalar›n› yönetmek için kullan›lm›flt›r. PEAR'›n
(PHP Extension and Application Repository) arac›l›¤›yla bu dilde yap›lan geniflletmeler, gelifltiricilere dili
yeni ve ilginç yönlere tafl›ma olana¤› tan›d›. PEAR'›n Image_3D paketi,
üç boyutlu (3-D) grafiklerin PNG ve
SVG gibi modern Web taray›c›lar›nda giderek daha çok desteklenen iki
görüntü biçimi dahil, çeflitli biçimlerde yarat›lmas› için kullan›labilecek nesne odakl› bir arabirimdir.
Image_3D paketini nas›l kullanaca¤›n›za iliflkin bilgi edinin, dinamik 3
boyutlu görüntülerin kullan›lmas›ndaki s›n›rlar› ö¤renin ve 3 boyutlu
grafiklerin pratik uygulamalar›n›
görün.
Bafllamadan önce
Bu e¤itici yaz›, 3 boyutlu grafiklerin
dinamik olarak oluflturulmas›yla ilgilenen PHP programc›lar› içindir.
Görüntüler s›f›rdan yarat›labilir, bir
alanda X, Y, ve Z koordinatlar›na
göre konumland›r›lm›fl ›fl›k kaynaklar›ndan ve nesnelerden oluflturulabilir. 3-D Studio Max kullanmada deneyimli olan programc›lar nesnelerin 3DS dosyalar›ndan PHP oluflturmalar›na nas›l aktar›laca¤›n› anlayacaklard›r. Parametrik denklemlerle tan›mlanan karmafl›k yüzeyler
Image_3D kullan›larak kolayca efllenebilir. Sonuçta, ifl uygulamalar› ve
veri raporlar›, kolayca haz›rlanan
pasta grafikler eklenerek zenginlefl-
tirilebilir.
Bu e¤itici yaz› hakk›nda
Image_3D, 3 boyutlu görüntülerin
oluflturulmas›nda kullan›lan nesne
odakl› bir arabirimdir. Nesneler ve
›fl›klar X, Y ve Z koordinatlar›na göre, 3 boyutlu alanda konumland›r›l›r. Sonra görüntüler 2 boyutlu alana dönüfltürülür ve PNG, SVG olarak depolanabilir ya da kabu¤a
(shell) ç›k›fllar› al›nabilir (ANSI kabuklar›nda kullan›lmak üzere). Paket, küpler, koniler, küreler, metin
ve pasta grafikler gibi bir dizi basit
3 boyutlu nesneyi kolayca oluflturmak için kullan›labilir. Ayr›ca, 3-D
Studio Max'de oluflturulmufl nesneleri içe aktarma ve de¤ifltirme deste¤i de vard›r. 3 boyutlu alanlardan
iyi anlayan gelifltiriciler, ilginç nesneler oluflturmak için özellefltirilmifl
poligram ve yüzey efllemlerinden
yararlanabilirler.
Bu e¤itici yaz›n›n ilk yar›s›nda, 3
boyutlu görüntü dosyalar› oluflturmak için komut sat›r› PHP komut
dosyalar›n›n nas›l kullan›laca¤› gösterilmektedir. Renkler ve ›fl›klarla
temel bir 3 boyutlu alan oluflturulduktan sonra, her bir eflsiz 3 boyutlu nesne tipinin yan› s›ra, ç›k›fl dosyas› biçimlerinin her biri de incelenmektedir. ‹kinci yar›da ise bu temel
örneklerin kullan›fll› uygulamalara
nas›l dönüfltürülece¤i tart›fl›l›r. 3
boyutlu görüntülerin oluflturulmas›nda ifllemci yo¤un olarak kullan›l›r, bu nedenle, dinamik olarak oluflturulmufl görüntüleri Web sunucular›n›z› çökertmeden Web'e tafl›mak
HABER LINUX 51
*050-059 develop
9/27/06
4:11 PM
Page 4
amac›yla bu sorun için bir çözüm bulmal›s›n›z. Image_3D paketi yaln›zca
statik görüntü biçimlerini destekler,
bu nedenle, 3 boyutlu alanlar› canland›rmak için basit bir JavaScript çözümü oluflturacaks›n›z. Sonuçta da, veri
raporlar›n›n ifl uygulamalar› ile bütünlefltirilebilen renkli pasta grafikler biçiminde görüntülenmesi için bir PHP s›n›f› yazacaks›n›z.
yerek taray›c›lar›na SVG deste¤i ekleyebilirler.
Önkoflullar
Devam etmek için afla¤›daki yaz›l›m ve
araçlar gereklidir:
Image_3D'nin arabiriminin tamam›
nesne odakl› oldu¤u için, bu e¤itici yaz›da, nesnelere ve s›n›flara iliflkin en
az›ndan temel bilgilere sahip olundu¤u
varsay›l›r. Bu e¤itici yaz›n›n ilk yar›s›nda gösterilen komut sat›r› PHP örneklerini yürütmek için Linux® kabuk hesab›na ya da bir Windows® komut istemine eriflim gerekir. Temel düzeyde
JavaScript deneyimi de gereklidir.
PHP V5
Alan›n›z›n düzenlenmesi
Image_3D paketi, PHP V5 nesne ve s›n›f sözdizimi kullan›larak yaz›l›r.
Ço¤u PHP gelifltiricisinin 2 boyutlu
grafiklerden az da olsa anlad›¤›n› söylemek yanl›fl olmaz. Büyük olas›l›kla
ço¤u, Adobe Photoshop, Corel Paint
Shop Pro, GIMP ya da baflka bir program kullanarak en az›ndan birkaç temel grafik oluflturmufltur. Önce, 3 boyutlu bir alan›n ya da dünyan›n al›fl›ld›k
2 boyutlu tuvalle karfl›l›kl› olarak nas›l
iliflkilendirilebilece¤ini tart›flarak bafllayal›m. Ayr›ca, ›fl›klar, renkler ve dönüflümler gibi 3 boyutlu görüntülerinizi tasarlaman›za yard›m› olacak araçlar› da inceleyeceksiniz.
Sistem gereksinimleri
Image_3D
PEAR paketinin kurulmas› gerekir. Genelde, makinenize kök (ya da yönetici)
olarak erifliminiz varsa, Image_3D'yi
kurman›z kolay olur. Image_3D alfa sürümde oldu¤u için, PEAR kuruluflu paketin "sabit" olmad›¤›n› belirtebilir.
Kuruluflu uygulamak için -f seçene¤ini
kullan›n:
pear install -f Image_3D
GD
Bu grafik kitapl›¤›, PNG dosyalar›n›n
ç›kt›s›n›n al›nmas› için gereklidir. Asl›na bak›l›rsa, GD yoksa, Image_3D'den
di¤er dosya tipleri de oluflturulabilir.
PHP V4.3 itibariyle, GD kitapl›¤›n›n bir
sürümü yeni PHP kurulufllar›yla birlikte gönderilir. Büyük olas›l›kla, PHP'yi
yeniden derlemekle u¤raflman›z gerekmez. Mevcut PHP kuruluflunuzda
GD'nin etkinlefltirilip etkinlefltirilmedi¤ini görmek için phpinfo()'yu kullanabilirsiniz.
Web sunucusu
Bu e¤itici yaz›n›n ikinci yar›s›ndaki örnekler Web sitesinde kullan›lmak üzere oluflturulabilir. Haz›rda bir Web sunucunuz yoksa, Apache'nin aç›k kaynak Web sunucusu ve IBM HTTP Server, kullanabilece¤iniz iki uygun seçenektir.
Bafllarken
S›radan grafik programlar›, bit efllemi
görüntülerken X ve Y eksenleriyle çal›fl›r. Her bir piksel bu eksenlerde yerlefltirilir. Bafllang›ç noktas› (X=0, Y=0),
üst sol köflededir. 30, 20 koordinatlar›ndaki bir piksel, bafllang›ç noktas›n›n
30 birim (genelde pikseldir) sa¤›nda,
20 birim de alt›ndad›r.
3 boyutlu alan›n›zda çal›fl›rken,
bafllang›ç noktas› alan›n köflesinden
çok, merkezini simgeler. Üçüncü eksen, Z, X ve Y eksenlerine karfl›l›kl› olarak diktir. Z ekseninin pozitif yönünü
bilgisayar›n›z›n ekran›n›n içine do¤ru
olarak düflünün. Negatif yön, ekrandan
uza¤a do¤ru olacakt›r. fiekil 1 içinde
her bir eksenin yönü gösterilir.
SVG viewer
SVG dosyalar›, yerel SVG deste¤i içeren Mozilla Firefox V1.5 ürününde görüntülenebilir. Internet Explorer kullan›c›lar›, Adobe SVG eklentisini yükle-
52 HABER LINUX
fiekil 1. 3 boyutlu
koordinat sistemi
Koordinat sisteminde 3 boyutlu
nesneler olufltururken, her bir nesnenin ya da noktan›n bafllang›ç noktas›na
olan uzakl›¤›, negatif ya da pozitif birim olarak ölçülür.
3 boyutlu araç tak›m›n›z
3 boyutlu alan›n›za yerlefltirdi¤iniz her
bir nesne için (koniler, küreler, vb.)
PHP nesneleri oluflturacaks›n›z. Ayr›ca, bu alan içindeki ›fl›k kaynaklar›n›
simgeleyen PHP nesneleri de oluflturacaks›n›z. Renkli nesneler her bir flekli
ya da ›fl›k kayna¤›n› de¤ifltirmekte kullan›l›r ve bir nesnenin alfa fleffafl›¤›n›
ayarlamakta da kullan›labilir. Her bir
nesnenin boyutunu, dönüflünü, konumunu dönüfltürürken ya da hatta alan›n bütününü dönüfltürürken matris
nesneleri oluflturulur.
‹lk dünyan›z›n oluflturulmas›
‹lk görüntünüz, Image_3D ile oluflturulan herhangi bir görüntü için gerekli
olan tüm temel ö¤eleri içerir. Bu örnekten, paketteki tüm temel nesneleri
h›zla inceleyebilecek do¤ru alana ve
›fl›¤a sahip olacaks›n›z.
Koniler
Bu ilk örne¤in amac›, beyaz bir artalanda ›fl›kland›r›lm›fl koni fleklinde bir
nesne yarat›lmas›d›r. Sonuçta ortaya
ç›kan alan, 400x400 piksellik bir görüntüye dönüfltürülecektir.
Oluflturdu¤unuz her görüntü,
$world olarak adland›raca¤›n›z yeni bir
Image_3D nesnesi oluflturularak bafllar. Alan›n artalan rengi, Image_3D_Color nesnesi oluflturularak
ayarlan›r. Bu nesnenin yap›c›s›n›n üç
parametresi, oluflturmak istedi¤iniz
rengin RGB de¤erleridir.
Alanda iki adet Image_3D_Light
nesnesi oluflturursunuz. Mavi bir ›fl›k
olan ilkinin, bafllang›ç noktas›n›n soluna, ekran›n düzleminden uza¤a yerlefltirildi¤ini düflünün. ‹kincisi de bafllang›ç noktas›n›n üst sa¤ köflesine, yine
ekrandan uza¤a yerlefltirilsin. Bu nesne, yeflil olsun.
Sonra, alana bir koni yerlefltirilsin.
Bu nesneye atad›¤›n›z rengin beyaz oldu¤una dikkat edin. Böylece, nesne
alana yerlefltirdi¤iniz iki ›fl›¤›n rengini
al›r. Bu yöntem, farkl› renklere sahip
bir nesnenin karfl›t yönlerini vurgulamak için en iyi yöntemdir.
*050-059 develop
9/27/06
4:11 PM
Page 5
Liste 1. 3 boyutlu alanda bir koni oluflturulmas›
<?php
require_once('Image/3D.php');
// Create the blank three-dimensional space
$world = new Image_3D();
$world->setColor(new Image_3D_Color(255, 255, 255));
// A blue light from the left
$light1 = $world->createLight(-300, 0, -300);
$light1->setColor(new Image_3D_Color(100, 100, 255));
// A green light from the upper-right
$light2 = $world->createLight(300, -300, -300);
$light2->setColor(new Image_3D_Color(100, 255, 100));
// Build the cone object
$cone = $world->createObject('cone', array('detail' => 64));
$cone->setColor(new Image_3D_Color(255, 255, 255));
$cone->transform($world->createMatrix\
('scale', array(70, 220, 70)));
$cone->transform($world->createMatrix('rotation',
array(-45, -120, -10)));
$cone->transform($world->createMatrix\
('move', array(-50, -30, 10)));
// Render and save the 2-D image
$world->createRenderer('perspectively');
$world->createDriver('gd');
$world->render(400, 400, 'object.png');
?>
Koniye üç dönüflüm uygulan›r. Önce, nesnenin ölçe¤i yükseltilir. Koni
nesnesi, oluflturulurken boyutu atanmayan tek nesnedir. Temelde 1x1x1 boyutlar›nda bir alanda oluflturulur ve
boyutlar›n›n yeniden belirlenmesi gerekir. Sonra, koniyi, ›fl›¤› iyi olarak yakalayabilmesi için döndürün. Bu, biraz
deneme yan›lma sürecidir. Ard›ndan,
koniyi tafl›yarak görüntünün ortas›na
yerlefltirin.
Komut dosyan›z›n son ad›m›, 3 boyutlu alan›n 2 boyutluya dönüfltürülmesidir. Örneklerin tümünde "perspectively" (perspektif olarak) dönüfltürme motoru kullanacaks›n›z (di¤er
seçenek, "isometric"dir (eflit ölçekte)). PNG görüntüsünü oluflturacak
olan gd ç›k›fl sürücüsü seçilir. Görüntünün boyutunu 400x400 piksel olarak
seçin; görüntü, flu dosya ad› ile kaydedilecektir: object.png.
Görüntüyü oluflturmak için, komut
dosyas› komut sat›r›ndan çal›flt›r›lmal›d›r:
php -f build_cone.php
Oluflturulan görüntü dosyas› afla¤›da gösterildi¤i gibi görünmelidir:
de¤iflken olarak bir dizilimi [array('detail' => 64)] geçirdiniz ; bu dizilim, koniyi oluflturmak için kullan›lan çokgenlerin say›s›n› belirler. Bu
çokgenlerin say›s›n›n az olmas›, görüntünün daha aç›l› olmas›na neden
olurken, bu say›n›n yüksek olmas›
görüntünün yüzeyini düzgünlefltirir
(bkz. fiekil 3).
fiekil 3. 3 boyutlu konilerde farkl› ayr›nt›
düzeyleri. Gösterilen
ayr›nt› düzeyleri 8,
16, 32 ve 64'tür
Ayr›nt› düzeyi yükseldikçe, Image_3D'nin görüntüyü oluflturmas› o
kadar uzun sürer. Konilerin oluflturulmas› oldukça basittir, bu nedenle
etkisi korkunç de¤ildir. Kürelere ve
daha karmafl›k flekillere geçti¤inizde, gerçekleme h›z›n›n kolayca denetiminizden ç›kabilece¤ini göreceksiniz.
Görüntünün nas›l oluflturuldu¤una iliflkin bilgi sa¤layacak olan Image_3D nesnesi için yerleflik bir istatistik yöntemi vard›r. Afla¤›daki sat›r› bir önceki komut sat›r›n›n sonuna
koyun.
echo $world->stats();
Komut dosyas› yeniden çal›flt›r›ld›¤›nda, Liste 2 içindeki ç›k›fl görüntülenmelidir.
fiekil 2. Image_3D paketi kullan›larak
oluflturulmufl 3 boyutlu koni
Ayr›nt›lar›n denetlenmesi
ve gerçekleme (rendering)
süresi
Verdi¤im örne¤in yeterince aç›klay›c› oldu¤unu umar›m. Image_3D ile
birlikte gönderilen di¤er yerleflik
nesne tiplerini göstermek için birkaç
ek örnekte de ayn› alan›, ›fl›kland›rmay› ve gerçeklemeyi kullanacaks›n›z.
Devam etmeden önce, ilk komut
dosyan›zla ilgili belirtmemiz gereken iki nokta var. Koni nesnesini örnekle desteklerken, ikinci ba¤›ms›z
Liste 2. Koni nesnesinin oluflturulmas›
için istatistikler
Image 3D
Objects: 1
Lights: 2
Polygons: 130
Points: 67
Bu basit ayr›nt›lar bir yana, komutlar›n›z daha ayr›nt›l› 3 boyutlu görüntüler oluflturdukça, komut dosyalar›n›z›n yürütülme süresini ölçmek için PEAR::Benchmark paketini kullanmay›
düflünebilirsiniz (bkz Kaynaklar).
Ifl›k kaynaklar› ve renk
Renk ya da ›fl›k olmazsa, 3 boyutlu alan›n›zda nesneleri göremezsiniz. fiimdi
HABER LINUX 53
*050-059 develop
9/27/06
4:11 PM
Page 6
de, yaratt›¤›n›z nesneleri görmemize
olanak sa¤layan bu iki önemli ö¤eyi inceleyelim.
Ifl›klar›n aç›lmas›
Yukar›daki örnekteki koninin rengini
k›rm›z›ya (255, 0, 0) ayarlayacak ve
iki ›fl›k kayna¤›n› kald›racak olsayd›n›z,
sonuçta ortaya ç›kan görüntü, beyaz
artalanda siyah bir koni gösterirdi.
Üzerinde bir ›fl›k kayna¤› parlamad›kça, koninin k›rm›z› yüzeyi ortaya ç›kmaz.
Bu sorunu, en az bir adet ›fl›k kayna¤› ekleyerek çözebilirsiniz. Ifl›¤›n
rengini en ortaya ç›karan beyaz ›fl›kt›r,
bu nedenle ›fl›¤›n beyaz olmas› en uygunudur.
Tek bir ›fl›k kayna¤›, alan›n›zdaki
nesnenin ya da nesnelerin yaln›zca tek
bir yan›n› ayd›nlatacakt›r. Karfl› tarafa
baflka bir ›fl›k kayna¤› eklemeniz nesneleri daha da görünür k›lar. ‹ki beyaz
›fl›k kullan›rsan›z, bunlar nesneye pek
bir kiflilik katmaz, çünkü karfl›t aç›lar
yaln›zca nesnenin renginin de¤iflik
tonlar›n› yans›t›r.
Önceden de tart›fl›ld›¤› gibi, bunun
yerine, bu örneklerde beyaz renkli
nesneler oluflturup onlar› renkli ›fl›klarla ayd›nlatacaks›n›z. Bu, her bir nesnenin özelliklerini ortaya ç›kacak olan
daha çok ton ve renk özünün kullan›lmas›na olanak tan›r.
Renklerin denetlenmesi
Yukar›daki örnekte, Image_3D_Color
s›n›f› kullanarak koni nesnesinin rengini belirlediniz. Yap›c›n›n ilk üç parametresi, istenen rengin RGB de¤erleridir. Burada gösterilmeyen dördüncü
parametre ise, alpha transparency parametresidir. Komut dosyan›za 150
de¤erini ekledi¤inizde, k›smen fleffaf
bir koni oluflturursunuz.
$cone->setColor(new Image_3D_
Color(255, 255, 255, 150));
fiekil 4 içinde, fleffafl›¤›n koni üzerindeki etkisi gösterilir.
fiekil 4. Üst üste
yerlefltirilmifl iki adet
3 boyutlu koni
nesnesi, her ikisinde
de 150 de¤erinde
alfa fleffafl›k
uygulanm›flt›r.
54 HABER LINUX
Liste 3. 3 boyutlu nesnelere metal görüntüsünün uygulanmas›
require_once('Image/3D/Color/Metal.php');
$cone = $world->createObject('cone', array('detail' => 64));
$metal = new Image_3D_Color_Metal (255,255,255);
$metal->setMetal(1.25);
$cone->setColor($metal);
Krom görüntüsü verin
RGB renklerine uygulanabilen bir etki
daha vard›r: krom görüntüsü! Koninin
rengi olarak standart Image_3D_Color
nesnesini sa¤lamak yerine, yeni bir
Image_3D_Color_Metal nesnesi oluflturun (Image/3D/Color/Metal.php'yi
eklemeyi unutmay›n, di¤er s›n›flar gibi
Image/3D.php taraf›ndan eklenmez).
Bkz. Liste 3.
setMetal() yöntemi, parametre olarak de¤ifliklik gösterir. Biraz deneyim
kazan›ld›¤›nda, 0.5 ve 2.0 aras›ndaki
de¤erlerin en iyi etkiyi ortaya ç›kard›¤›
görülür. 2.0 üzerindeki bir de¤er, görüntünün tamamen parlamas›na neden
olur. Koninin renk ve ›fl›¤›n›n nas›l etkilendi¤ini görmek için bu de¤erle oynayabilirsiniz.
Nesnelerin ve flekillerin
de¤ifltirilmesi
Daha önce Adobe Photoshop program›ndaki dönüfltürme arac›n› kulland›ysan›z, büyük olas›l›kla onun tafl›ma, ölçekleme, döndürme, çevirme ve çarp›tma ö¤elerine al›fl›ks›n›zd›r. 3 boyutlu nesnelerin ve alanlar›n transform
yöntemi, bu arac›nkine benzer.
Dönüfltürme matrisleri
Bu terim sizi korkutmas›n. Pratikte,
dönüfltürme matrisi, asl›nda yaln›zca
bir nesnenin tafl›nmas›n›, ölçeklenmesini ya da döndürülmesini sa¤layan bir
denetimdir. Bu, ilk olarak Image_3D_Matrix yarat›p sonra onu bir
transform() yöntemine geçirerek elde
edilir. Sonuçta, bu pek de zor de¤ildir.
Afla¤›da üç örnek verilmifltir (her
bir matrisin ikinci parametre olarak üç
de¤erli bir dizilim ald›¤›na dikkat edin):
$obj->transform($world->createMatrix\
('move', array(-50, -30, 10)));
$obj->transform($world->createMatrix\
('scale', array(70, 220, 70)));
$obj->transform($world->createMatrix\
('rotation', array(45, 0, 0)));
'Move' (Tafl›) matrisinin dizilim de¤erleri, X, Y ve Z eksenlerindeki hare-
keti belirtir. 'Scale' (Ölçeklendir) matrisine uygulanan de¤erler, ayn› üç eksen boyunca ölçekleme derecesini belirtir. 'Rotation' (Döndürme) matrisine
iliflkin de¤erler, her bir eksende 0 360 dereceler aras›ndaki döndürme
miktar›n› belirtir. fiekil 5 içinde nesnenin hangi yöne döndürüldü¤ü gösterilir
(ters yöne döndürmek için eksi de¤erleri uygulayabilirsiniz).
Dönüfltürmeler nerede ve
fiekil 5. X, Y ve Z
eksenlerinde
döndürme yönleri.
ne zaman uygulan›r?
Bu dönüfltürmelerin her biri tek bir nesneye ya da 3 boyutlu alan›n bütününe
uygulanabilir. Yaratt›¤›n›z ilk örnek görüntünün alan›nda, bir koninin nas›l
döndürülebilece¤ini, ölçeklendirilebilece¤ini ve tafl›nabilece¤ini gördünüz. Dönüfltürme ifllemini koni yerine $world
nesnesine uygulam›fl olsayd›n›z, 3 boyutlu alandaki herfleyi etkilerdi; alandaki tüm nesneler ve ›fl›klar, büyük bir
boflluk olarak, bütünüyle etkilenirdi.
Dönüfltürmeler, belirtilen s›rayla
her bir nesneye uygulan›r. Bu size aç›k
gibi görünebilir, ancak önce, nesnelere
birer birer ve sonra da alan›n bütününe olmak üzere birden çok dönüfltürme uyguluyorsan›z, dönüfltürmelerinizi eklerken s›raya dikkat etmedi¤inizde beklemedi¤iniz sonuçlarla karfl›laflabilirsiniz.
Ek nesneler
Koninizin ›fl›kland›r›lmas›, renklendirilmesi ve konumland›r›lmas›na iliflkin
pek çok ayr›nt›y› tamamlad›n›z. fiimdi
de Image_3D'de baflka hangi tip nesnelerin yarat›labilece¤ine dönelim.
Küpler
Koniler gibi, küplerin de yarat›lmas›
kolayd›r. Küp oluflturmak için yaln›zca
birkaç çokgen gereklidir, üstelik, bo-
*050-059 develop
9/27/06
4:11 PM
Page 7
yutlar› ne olursa olsun, tüm küpler ayn› düzeyde ayr›nt› içerir. Küp yarat›rken, createObject() için ikinci parametre, kübün geniflli¤i, yüksekli¤i ve
derinli¤inden oluflan üç de¤erli bir dizilimdir.
Küp olufltururken, Liste 1 içinde
$cone yerine afla¤›daki sat›rlar› yazabilirsiniz:
$cube = $world->createObject('cube', array(100, 100, 100));
$cube->setColor(new
Image_3D_Color(255, 255, 255));
$cube->transform($world->\
createMatrix('rotation',
array(60,60,40)));
Bu küre oluflturulurken bildirilen istatistikleri (bkz Liste 4), Liste 2 içindeki konide görülenlerle karfl›laflt›r›n.
Liste 4. 5 detail de¤eriyle küre nesnesi
oluflturulmas›n›n istatistikleri
Image 3D
Objects: 1
Lights: 2
Polygons: 4096
Points: 2050
Asl›nda, bu kürenin detail ayar›n›
6'ya yükseltirseniz, çokgenlerin ve
noktalar›n say›s› dört kat›na ç›kar.
nin ise fleritleri (halkan›n d›fl kenar›na
paralel çizgileri) denetledi¤ini görürsünüz.
Sonuçta ortaya ç›kan görüntü
“fiekil 8” deki gibi olur:
Metin
Image_3D paketi kullan›larak metinler
de üç boyutlu olarak gerçeklenebilir.
Ancak, metnin stilinin belirlenmesinde
pek az seçenek sunulur. Örne¤in, yaz›
tipi seçemezsiniz; pakette yerleflik bulunan tek bir yaz› tipinden baflka seçene¤iniz yoktur. Yine de, Liste 6 içinde
bir metin nesnesinin nas›l yarat›laca¤›
gösterilir.
Simit flekli
Sonuçta ortaya ç›kan görüntü flöyle olur:
fiekil 6. Image_3D paketi
kullan›larak oluflturulmufl
3 boyutlu küp.
Wikipedia'ya göre, simit flekli, iki daire
fleklinin (S1 x S1) ürünü olarak tan›mlanan bir kapal› yüzeydir. Geometri bilgilerinizi unuttuysan›z, bildi¤iniz bir simidi gözünüzün önüne getirin.
Simit fleklinin nas›l oluflturuldu¤unu görmek için afla¤›daki kodu 3 boyutlu alan›n›za ekleyin.
Küreler
Liste 1 içindeki ilk örne¤inizi düzelterek devam edersek, koniyi küre ile de¤ifltireceksiniz. Burada, ikinci parametre, kürenin yar›çap›n› simgeleyen r
için bir de¤er ve nesnenin görece düzgünlü¤ünü tan›mlayan bir tamsay›
olan detail (ayr›nt›) de¤erini içeren bir
Hash algoritmas› olacakt›r. Detail de¤eri, 1 kadar küçük olabilir, ama bu durumda nesne, küreden çok buruflturulmufl ka¤›t topa¤›na benzeyecektir, bu
de¤er artt›kça, nesnenin kalitesi ve
gerçekleme süresi de artar. Detail
ö¤esinde en iyi de¤erler 4, 5 ya da
6'd›r. 6'dan daha yüksek bir de¤er kullan›ld›¤›nda gerçekleme süresi, saniyelerle de¤il, ancak dakikalarla ölçülebilecek kadar uzun olur.
$sphere
=
$world->createObject('sphere',
array('r' => 85, 'detail' => 5));
$sphere->setColor(new Image_3D_Color(255, 255, 255));
Sonuçta ortaya ç›kan görüntü flöyle olur:
fiekil 7. Image_3D paketi
kullan›larak oluflturulmufl
3 boyutlu küre.
Liste 5. Simit flekli örne¤i
$torus = $world->createObject('torus',
array('inner_radius' => 90,
'outer_radius' => 120,
'detail_1' => 30,
'detail_2' => 30));
$torus->setColor(new
Image_3D_Color(255, 255, 255));
$torus->transform($world->createMatrix('Rotation', array(-45,0,-30)));
$torus->transform($world->createMatrix('Move', array(0,-20,0)));
Bir kez daha, createObject()'in
ikinci parametresine geçirilen baflka
bir de¤er kümeniz var. Bu durumda, inner_radius (iç yar›çap) ve outer_radius
(d›fl yar›çap), simidin iç ve d›fl yar›çaplar›n›n adlar›d›r. Detail_1 (ayr›nt› 1) ve
detail_2 (ayr›nt› 2) ö¤eleri daha belirsizdir. Bu de¤erleri ayarlamay› denerseniz, detail_1 ö¤esinin bantlar› (halkaya dik olan çizgileri) ve detail_2 ö¤esi-
fiekil 8. Image_3D paketi
kullan›larak oluflturulmufl
3 boyutlu simit flekli.
Liste 6. Metin nesnesi örne¤i
$text = $world->createObject('text',
'Databases!');
$text->setColor(new Image_3D_Color(255,
255, 255));
$text->transform($world->createMatrix('Scale', array(6, 6, 6)));
$text->transform($world->createMatrix('Rotation',
array(-35, 30, -15)));
$text->transform($world->createMatrix('Move', array(-150, 10, 20)));
Önceki örneklerdeki createObject()
ö¤esinin ikinci parametresine geçirilen
dizilimin yerine, yaln›zca görüntülenecek olan metni sa¤laman›z yeterlidir.
‹nanmas› zor ama, PHP e¤itici yaz›s›n›n ortas›na geldik ve pek çok PHP
e¤itici yaz›s›n›n konusu olan ayn› anda
her yerde bulunan sistemlerden henüz
söz edilmedi. Bu henüz ad› geçmemifl
olan sistemlere iliflkin 3 boyutlu bir
gösterim afla¤›da verilmifltir:
fiekil 9. Image_3D paketi
kullan›larak oluflturulmufl
3 boyutlu metin.
3D Studio Max
fiimdiye dek gördü¤ümüz 3 boyutlu
görüntü oluflturmakta kullan›lan araçlar temel düzeydeydi, üstelik, s›f›rdan
görüntü oluflturarak yapabilecekleriniz de s›n›rl›d›r. Önceden yap›lm›fl 3D
Studio Max dosyalar›n› içe aktarma
yetene¤i (bkz. Liste 7), heyecan verici
olas›l›klar sunar.
HABER LINUX 55
*050-059 develop
9/27/06
4:11 PM
Page 8
Liste 7. 3D Studio Max dosyas› örne¤i
$obj = $world->createObject('3ds', 'Image_3D.3ds');
$obj->setColor(new Image_3D_Color(255, 255, 255));
$obj->transform($world->createMatrix('Rotation', array(110, 40, 0)));
$obj->transform($world->createMatrix('Scale', array(7, 7, 7)));
Özel biçimler ve yüzeyler
Image_3D içinde daha özel nesnelerin
oluflturulmas›na olanak tan›yan iki
nesne vard›r: çokgenler ve efllemler
Çokgenlerin oluflturulmas›
Liste 8. Küre nesnelerinden birlefltirilmifl bir kübün oluflturulmas›
for ($x=0; $x < 5; $x++) {
for ($y=0; $y < 5; $y++) {
for ($z=0; $z < 5; $z++) {
$sphere = $world->createObject('sphere',
array('r' => 25, 'detail' => 4));
$sphere->setColor(new Image_3D_Color(255, 255, 255));
$sphere->transform($world->createMatrix('Move',
array($x * 75, $y * 75, $z * 75)));
$sphere->transform($world->createMatrix('Rotation',
array(45, 30, 15)));
}
}
}
$world->transform($world->createMatrix('Move', array(-225, -100, 0)));
Gördü¤ünüz gibi, nesnenin oluflturulmas› için, 3D Studio Max dosyas›n›n
bulunmas› yeterli. Image_3D kuruluflu
ile biraz ilgilendiyseniz, PEAR paketindeki baz› örnekleri görmüfl olabilirsiniz. Yukar›daki listede içe aktar›lan
Image_3D.3ds dosyas› bu örneklerden
al›nm›flt›r. Sonuçta ortaya ç›kan görüntü afla¤›da gösterilmifltir:
fiekil 10. Image_3D paketi ile içe aktar›lm›fl
ve gerçeklenmifl 3D Studio Max dosyas›.
Elbette, bu sefer iflimiz kolayd›,
çünkü yukar›daki dosyada içe aktar›lan
3D Studio Max dosyas› 200 KB'den
küçüktü ve oldukça basit bir dosyayd›.
Daha büyük dosyalar›n aç›lmas› sunucunuzu ya da PHP'yi kolayca durma
noktas›na getirebilir.
Tek bir alanda birden çok
nesnenin birlefltirilmesi
fiimdiye dek, tek bir 3 boyutlu alandaki nesneleri teker teker gördük. Ama,
burada durmam›z gerekiyor. Liste 8
içinde, ayn› alanda 100'den fazla nesnenin nas›l birlefltirilece¤inin bir örne¤i yer al›r.
Daha önce de oldu¤u gibi, bu kod
Liste 1 içindeki, $cone nesnesini tan›mlayan sat›rlar›n yerine geçer.
56 HABER LINUX
Liste 8, $x, $y ve $z'yi 0-4'ten art›ran üç döngü tan›mlar. Orta döngü
içinde, tek bir küre nesnesi yarat›l›r.
Bir move dönüfltürmesi kullanarak, her
bir yeni küre, bafllang›ç noktas›na göre
X, Y ve Z yönlerinde konumland›r›l›r.
Tafl›nd›ktan sonra, her bir küre bafllang›ç noktas›n›n çevresinde döndürülür.
Kürelerin her biri yarat›ld›ktan ve
üç döngünün tümü de tamamland›ktan
sonra, $world nesnesinin bütünü, görüntünün s›n›rlar› içinde kürelerin ortalanaca¤› biçimde kayd›r›l›r.
Bu örnekte 125 kürenin oluflturuldu¤una dikkat edin. Detail ayar› 4 de¤erinde olan tek bir bir küre oluflturmakta zorland›ysan›z, 124 tane daha
küre oluflturman›n ne kadar güç olabilece¤ini tahmin edebilirsiniz. Detail de¤eri 4 ya da 5 oldu¤unda nesne gerçekten çok güzel görünür, ama herfleyin düzgün olarak çal›flt›¤›ndan emin
oluncaya dek, bu ayar› 1 ya da 2'ye
çekmeniz ak›ll›ca olur.
fiekil 11 içinde gösterilen sonuçta
ortaya ç›kan görüntünün sadece küpler ve konilerden çok daha heyecan verici oldu¤unu kabul edersiniz.
fiekil 11. Küp flekilli bir
matris yaratmak için
düzenlenen 125 küre.
3 boyutlu bir biçimin çok boyutlu koordinatlarda tasarlanabilece¤ini varsayarsak, bu koordinatlar› bir araya getirerek
3 boyutlu bir nesnenin kenarlar›n› oluflturabilirsiniz. Dikkatli bir hesaplamayla,
noktalar ve çokgenler kullanarak s›f›rdan
küpler, koniler ya da küreler oluflturabilirsiniz. Ama bu nesneleri oluflturman›n
daha kolay yollar› da vard›r.
Bunun yerine, üçüncü boyutu, yani
derinli¤i olan üç noktal› bir y›ld›z olufltural›m. Y›ld›z›n bir ön, bir de arka yüzü olacakt›r, sonuçta bunlar, d›fl kenarlar› tan›mlayan ayn› koordinat noktalar›na sahip olacakt›r. Alt› noktaya gerek
vard›r -- üçü y›ld›z›n noktalar› için, üçü
de kenarlar› belirlemek için kullan›l›r.
‹flleri kolaylaflt›rmak için, Z=0 koordinatlar›nda yatan noktalar ön yüzünüz
olsun. Arka yüz, ön yüze göre sabit bir
uzakl›kta, 60 de¤er ötede olacakt›r.
Böylece, tüm d›fl noktalar ayn› X ve Y
koordinatlar›na sahip olacakt›r, ama Z
koordinat› 60 olarak de¤ifltirilecektir.
Üç kenar, y›ld›z›n her bir d›fl noktas›n› birlefltirecek biçimde efllenir.
Liste 9'un ço¤unlu¤u, bu nesnenin
oluflturulmas› için birbirine ba¤lanmas›
gereken noktalar›n yerlefltirilmesiyle
ilgilidir. Afla¤›daki foreach döngüleri,
sonuçta ortaya ç›kacak olan çokgen
nesnesini oluflturmakta kullan›lacak
olan Image_3D_Point nesnelerini oluflturmak için kullan›l›r.
Son sat›r $world nesnesinin bütününü döndürür, böylece y›ld›z›n kenar›n› görebilirsiniz. Alan› döndürmezseniz, y›ld›z›n ön yüzünü yaln›zca iki boyutlu olarak görürsünüz.
Liste 9, fiekil 12 içinde gösterilen
görüntüyü oluflturur.
fiekil 12. Image_3D
paketi kullan›larak
oluflturulmufl özel bir
çokgen.
3 boyutlu
yüzeylerin efllenmesi
S›radaki iki örnekte ilginç baz› flekiller
oluflturulur, ama biraz Calculus bilgisi
*050-059 develop
9/27/06
4:11 PM
Page 9
Liste 9. Üç noktal› y›ld›z oluflturulmas›
$polygons = array();
$map
=
ject('map');
// Front face
$polygons[] = array(
array(0, -120, 0), array(-18, -12, 0),
array(-86, 48, 0), array(0, 18, 0),
array(86, 48, 0), array(18, -12, 0)
);
Efllem, yukar›daki özel çokgende
gördü¤ünüz gibi 3 boyutlu bir yüzey
oluflturmak için Image_3D_Point nesnelerinin dizilimini al›r. Bu noktalar›n
her biri yukar›daki ifllevinize göre tan›mlanabilir:
new Image_3D_Point( ($s * cos(2 *
pi() * $t)),
($s * sin(2 * pi() * $t)),
($t) );
// Back face
$polygons[] = array(
array(0, -120, 60), array(-18, -12, 60),
array(-86, 48, 60), array(0, 18, 60),
array(86, 48, 60), array(18, -12, 60)
);
// 3 Sides
$polygons[] = array(
array(0, -120, 0), array(-18, -12, 0),
array(-86, 48, 0), array(-86, 48, 60),
array(-18, -12, 60),array(0, -120, 60)
);
$polygons[] = array(
array(-86, 48, 0), array(0, 18, 0),
array(86, 48, 0), array(86, 48, 60),
array(0, 18, 60), array(-86, 48, 60)
);
$polygons[] = array(
array(86, 48, 0), array(18, -12, 0),
array(0, -120, 0), array(0, -120, 60),
array(18, -12, 60),array(86, 48, 60)
);
foreach ($polygons as $poly) {
$points = array();
foreach ($poly as $set) {
$points[] = new Image_3D_Point($set[0], $set[1], $set[2]);
}
$p = $world->createObject('polygon', $points);
$p->setColor(new Image_3D_Color(255, 255, 255));
}
$world->transform($world->createMatrix('Rotation',
array(0, -25, -15)));
de devreye girer. Hiç Calculus dersi almad›ysan›z ya da bu konudaki bilgilerinizi unuttuysan›z, bu yaz›da, körelmifl
becerilerinizi bilemeye çal›flmayaca¤›z. Ancak, afla¤›daki modellerde neler
olup bitti¤ine iliflkin temel bir fikir vermeye çal›flaca¤›z.
Mathematica yaz›l›m›yla yüzeyleri
ve k›vr›mlar› tasarlama deneyiminiz
varsa, s›radaki iki örnek size tan›d›k
gelecektir.
Helezon
Bu iki listenin ilki yükselen bir sarmald›r. Yüzeydeki her bir noktan›n, afla¤›daki parametrik fonksiyondan türeyen
X, Y ve Z koordinatlar› vard›r:
f[s,t] = {s * cos(2 ? t), s* sin(2 ? t),
t}
Bu yüzeyi yaratmak için, önce alan›n›zda yeni bir "efllem" nesnesi yaratacaks›n›z.
$world->createOb-
s ve t parametrelerini s›ras›yla 0-1
ve 0-6 aral›klar›nda de¤ifltireceksiniz.
Yüzeye uygun bir boyut vermek için,
her bir koordinat› $scale ayar›na atayaca¤›n›z istedi¤iniz bir de¤erle çarpacaks›n›z.
Liste 10 içinde, efllem nesnesinin
nas›l oluflturuldu¤u gösterilir ve di¤er
örneklerde de oldu¤u gibi, nesnenin
son halinin rengini, döndürmesini ve
konumunu siz belirlersiniz
fiekil 13 içinde sonuçta ortaya ç›kan görüntü gösterilir. Helezonun ayr›nt›, ölçek ve yükseklik düzeyleri
$scale, $detail ve $levels de¤iflkenleriyle belirlenir.
fiekil 13. Image_3D
paketinin efllem
nesnesi kullan›larak
oluflturulmufl helezon.
Ortas› delik kek kal›b› flekli
Stokes teoreminin bir uygulamas› olan
ikinci yüzey integraliniz de ilginç bir
sonuç verir. Bu yüzeyi, Z ile ifade edilen yüksekli¤i de¤iflken ve X ve Y düzlemlerinin bafllang›ç noktas›ndan her
yöne yay›lan bir sinüs dalgas›n›n ürünü
olarak düflünebilirsiniz.
Calculus terimlerini bir yana b›rak›rsak, bu fleklin ortas› delik bir kek kal›b›na benzedi¤ini söyleyebiliriz.
Bu alan, afla¤›daki parametrik iflleve göre tan›mlanacakt›r:
f[r,t] = {r * cos(t), r * sin(t), sin(4 ?
r)}
Yine, bu yüzey için efllem nesnesine eklenecek noktalar› iflaretleyeceksiniz. Her nokta Liste 11'de tan›mlan›r.
Her bir noktay›, düzgün bir yüzey
HABER LINUX 57
*050-059 develop
9/27/06
4:11 PM
Page 10
Liste 10. Parametreleri belirlenmifl bir sarmal yüzey
$map = $world->createObject('map');
fiekil 14. Image_3D
paketindeki efllem
nesnesi kullan›larak
gelifltirilen parametrik
ifllevden oluflan 3
boyutlu yüzey.
$scale = 120;
$detail = 30;
$levels = 6;
$increment = 1 / $detail;
for ($s = 0; $s <= 1; $s += $increment) {
$row = array();
for ($t = 0; $t <= $levels; $t += $increment) {
$row[] = new Image_3D_Point(
$scale * ($s * cos(2 * pi() * $t)),
$scale * ($s * sin(2 * pi() * $t)),
$scale * ($t)
);
}
$map->addRow($row);
}
¤unu gördünüz. Ancak kullanabilece¤iniz dört ek sürücü daha vard›r: SVG,
SVGRotate, ZBuffer ve ASCII.
// x
// y
// z
$map->setColor(new Image_3D_Color(255, 255, 255));
$map->transform($world->createMatrix('Rotation', array(-50, 0, 15)));
$map->transform($world->createMatrix('Move', array(50, -220, 0)));
Liste 11. Noktalar›n tan›mlanmas›
new Image_3D_Point( ($r * cos($t)),
($r * sin($t)),
(sin(4 * pi() * $r))
);
Liste 12. 3 boyutlu ortas› delik bir kek kal›b› flekli
$map = $world->createObject('map');
$scale = 130;
$detail = 35;
$increment = 1 / $detail;
for ($r = 0; $r <= 1; $r += $increment) {
$row = array();
for ($t = 0; $t <= (2 * pi()); $t += $increment) {
$row[] = new Image_3D_Point( $scale * ($r * cos($t)),
$scale * ($r * sin($t)),
$scale * (sin(4 * pi() * $r))
);
}
$map->addRow($row);
}
$map->setColor(new Image_3D_Color(255, 255, 255));
$map->transform($world->createMatrix('Rotation', array(-45, 0, -15)));
oluflturmak üzere r ve t parametrelerini de¤ifltiren iki döngü içine saracaks›n›z. Liste 12'de gösterildi¤i gibi, her X, Y- ve Z koordinat› bir $scale de¤eriyle çarp›lacakt›r.
Sonuçta ortaya ç›kan görüntü
58 HABER LINUX
“fiekil 14”deki gibi olur:
Ek ç›kt› sürücüleri
fiimdiye kadar yaratt›¤›n›z tüm görüntüler GD sürücüsünü kullan›yordu. Bu
sürücünün PNG görüntüleri oluflturdu-
SVG
SVG (Scalable Vector Graphics; Ölçeklenebilir Vektör Grafi¤i) dosya biçimi,
2 boyutlu görüntüler oluflturan vektörlerin bir XML tan›m›d›r. W3C, bu biçimi
2001 y›l›nda standartlaflt›rm›flt›r, ancak bu biçimin Web üzerindeki kullan›m›, SVG dosyalar›n› görüntüleyebilen
taray›c›lar›n kullan›labilir hale gelmesiyle engellenmifltir. fiu anda en uygun
seçenekler SVG için yerleflik destek
içeren Firefox V1.5 ve Adobe SVG eklentisine sahip Internet Explorer ürünleridir.
Image_3D'den SVG görüntüleri
oluflturmak oldukça basittir. Yap›lmas›
gereken yaln›zca Liste 1'deki son iki
kod sat›r›n› afla¤›daki gibi de¤ifltirmektir:
$world->createDriver('svg');
$world->render(400, 400, 'object.svg');
Sonuçta ortaya ç›kan görüntü dosyas› ilk yaratt›¤›n›z koniye çok benzer
olmal›d›r.
SVG dosyalar›n›n heyecan verici
bir yönü, görüntüyü tan›mlayan XML
a¤ac›n›n, JavaScript ve DOM ayr›flt›rma yordamlar› kullan›larak ifllenebilmesidir. Görüntülerin, Web sayfalar›n›
ifllemek üzere dHTML kullan›r gibi ifllendi¤ini düflünün. SVGRotate sürücüsü, yaln›zca bu amaçla gerekli olan komut dosyas›n› içeren bir SVG dosyas›
oluflturur.
Ç›kt› sürücüsünün de¤ifltirilmesi yine son iki kod sat›r›n›n de¤ifltirilmesiyle kolay bir flekilde gerçeklefltirilebilir:
$world->createDriver('svgrotate');
$world->render(400, 400, 'object.svg');
Sonuçta ortaya ç›kan dosya, SVG
biçimini tan›yan bir taray›c›da görüntülendi¤inde, koniyi gerçek zamanl›
olarak döndürmek ve ölçeklemek için
*050-059 develop
9/27/06
4:11 PM
Page 11
Liste 13. Küreyi kesen dört kenarl› bir düzlem
$sphere = $world->createObject('sphere',
array('r' => 85, 'detail' => 4));
$sphere->setColor(new Image_3D_Color(255, 255, 255, 150));
$plane = $world->createObject('polygon', array(
new Image_3D_Point(-120, 0, -120),
new Image_3D_Point(-120, 0, 120),
new Image_3D_Point( 120, 0, 120),
new Image_3D_Point( 120, 0, -120)
) );
$plane->setColor(new Image_3D_Color(255, 255, 255));
$plane->transform($world->createMatrix('Rotation', array(15,15,-10)));
kullan›labilecek yerleflik denetimleri
içerir. Görüntünün bir ekran görüntüsü
afla¤›da gösterilmifltir.
fiekil 15. SVGRotate
sürücüsü görüntüyü
gerçek zamanl› olarak
ifllemek için
kullan›labilecek
denetimleri ve
komutlar› içerir.
Komut dosyas› içeren SVG dosyalar› sa¤lanan deste¤in s›n›rl› oldu¤unu
göz önünde bulundurun. Sonuçta ortaya ç›kan dosya Adobe SVG eklentisi
olan bir Internet Explorer'da çal›flmas›na karfl›n Firefox'ta düzgün görüntülenmemifltir.
verilmifltir; böylece küreyi ortas›ndan
ikiye kesen düzlemi görebilirsiniz.
Bu nesneyi GD sürücüsünü kullanarak oluflturursan›z, afla¤›da gösterildi¤i gibi, küre düzlemin önünde duruyormufl gibi görünür.
fiekil 16. GD sürücüsü
kullan›larak ayr› ayr›
oluflturulmufl üst üste
gelen iki adet 3
boyutlu nesne.
Ancak, yaratt›¤›n›z düzlemin koordinatlar›ndan, bunun kürenin içinden
geçip küreyi kesmesi gerekti¤ini bilirsiniz. Sürücünün ZBuffer olarak de¤ifltirilmesi bu sorunu çözer ve afla¤›da
gösterilen PNG dosyas› ortaya ç›kar.
fiekil 17. ZBuffer
sürücüsü uygulanarak
çözülen, üst üste
gelmifl iki adet 3
boyutlu nesne
aras›ndaki ZBuffer
çak›flmalar›.
ZBuffer
3 boyutlu alanlar›n 2 boyutlu bir görüntüye dönüfltürülmesi için hangi
nesnelerin üst üste gelip di¤erlerini
gizledi¤ini belirleyebilen özel bir algoritma gerekir. 3 boyutlu modellemede,
nesnelerin 2 boyutlu bir alanda görünebilirli¤inin yönetilmesine Z-buffering (Z-arabelle¤i) ad› verilir.
fiimdiye kadar size verilen örneklerin hiçbirinde di¤er nesnelerin üzerine
gelen nesnelerle ilgili sorunlar yoktu.
Böyle bir sorunla karfl›lafl›rsan›z, en
uygun seçenek ç›kt› sürücünüzü
GD'den ZBuffer'a de¤ifltirmektir.
ZBuffer sürücüsü bir PNG görüntüsü
oluflturmak üzere hala GD'yi kullan›r,
ancak 2 boyutlu bir bit efllem üzerinde
çizili olduklar›ndan 3 boyutlu nesneleri
daha iyi yönetebilir.
Liste 13'teki kodu kullanarak, nesnelerin Z-buffering iflleminde özellikle
bir çak›flmaya neden olacak, ayn› alan›
kaplayan iki nesne yaratacaks›n›z. Kürenin alfa fleffafl›k de¤eri 150 olarak
ASCII
Örneklerinizde ASCII sürücüsü bulunmamaktad›r, ancak bu sürücünün amac› renkli bir ANSI uçbiriminde görüntülenecek görüntüler yarat›lmas›na olanak vermektir. Windows® kurulu bir
PC'de çal›fl›yorsan›z, bu sürücüden elde edilen ç›kt› büyük olas›l›kla sizin
için pek yararl› olamayacakt›r.
Pratik örneklere geçifl
fiimdiye kadar gördü¤ünüz örnekler bu
paketin PHP'de 3 boyutlu görüntüler
oluflturma yeteneklerini göstermifltir.
Web sayfalar›n› yönetmek için icat edilen bu dilin bu kadar ayr›nt›l› görüntü
dosyalar› oluflturmak üzere kullan›labilece¤ini kim tahmin edebilirdi? Bu oldukça iyi bir olanak, ancak 3 boyutlu
sihirbaz ya da hesap merakl›s› de¤ilseniz bu size s›k›c› gelmifl olabilir. Basit
nesneleri ve komut sat›r› komut dos-
yalar›n› al›p nas›l biraz daha ilginç örnekler oluflturabilece¤inize bakal›m.
[http://www.fazlamesai.net/index.php
?a=article&sid=3994] adresinde bu
makalenin devam›n› bulabilirsiniz.
Kaynaklar
Bilgi Edinme
• PEAR:: Image_3D ürünü hakk›ndaki
bilgileri okuyabilir ve bu ürünü kurabilirsiniz. (http://pear.php.net/package/
Image_3D)
• "Connecting PHP Applications to
Apache Derby" (PHP Uygulamalar›n›n
Apache Derby'ye Ba¤lanmas›) bafll›kl›
konuyu okuyarak pasta grafi¤i nas›l
gelifltirece¤inizi
ö¤renebilirsiniz.
(http://www-128.ibm.com/
developerworks/db2/library/
techarticle/dm-0409casey/)
• "Add interactivity to your SVG"
(SVG'nize etkileflim eklenmesi) bafll›kl›
konuyu okuyarak SVG görüntüleri ve
komut dosyalar› hakk›nda ek bilgi edinebilirsiniz.
(http://www-128.ibm.
com/developerworks/db2/library/tec
harticle/dm-0409casey)
• "Getting started with objects with
PHP V5" (PHP V5 ile nesnelere bafllang›ç) bafll›kl› konuyu okuyarak PHP
V5 nesne/s›n›f sözdizimi konusundaki
bilgilerinizi tazeleyebilirsiniz. (http://
www-128.ibm.com/ developerworks/
opensource/library/os-phpobj/)
• Kartezyen koordinat sistemi hakk›nda ek bilgi edinmek için Cartesian coordinate system bafll›kl› sayfaya bakabilirsiniz. (http://en.wikipedia.org/
wiki/Cartesian_coordinate)
• PHP ve gd kitapl›¤›n› kullanarak dinamik bit efllem görüntüleri oluflturma
konusunda bilgi için Generate dynamic
bitmap graphics with PHP and gd"
(PHP ve gd ile dinamik bit efllem grafikleri oluflturma) bafll›kl› konuyu okuyabilirsiniz.
(http://www128.ibm.com/developerworks/edu/
wa-dw-wa-bitmaphp-i.html)
• PHP'de nesne odakl› bir grafik katman› oluflturma hakk›nda bilgi almak
için "Create graphics the smart way
with PHP" (PHP ile ak›ll› grafikler yaratma) bafll›kl› konuyu okuyabilirsiniz.
(http://www-128.ibm.com/
developerworks/edu/wa-dw-wabitmaphp-i.html)
• developerWorks teknik etkinlikler ve
Web yay›nlar› sayesinde güncel bilgiler
edinebilirsiniz.
HABER LINUX 59
*060-062 Acil servis
9/27/06
4:12 PM
Page 2
Acil
Servis
GNU/Linux ve Özgür Yaz›l›m Projeleri ile ilgili sorulara cevap verdi¤imiz Acil Servis'in yeni bir bölümünde yine sizlerle birlikteyiz.
Merhaba,
Yak›n zamana kadar dizüstü bilgisayar›m›n kablosuz eriflim noktas›na ba¤lanmas› için WEP ve MAC filtreleme kullan›yordum. Fakat son zamanlarda bunun o kadar da güvenli olmad›¤›n›, kolayca k›r›labildi¤ini duydum.
Acaba gerçekten böyle mi? E¤er böyleyse ne yapmam›
önerirsiniz?
Malesef WEP teknolojisi, günümüze kadar gelmifl geçmifl
flifreleme teknolojileri içerisinde tart›flmas›z en kötüsü.
Her ne kadar ismi "Wire Equivalent Privacy" (Kabloluya Eflit
Mahremiyet) olsa da, flimdiye kadar ç›kan flifreleme teknolojilerinden "daha piyasaya ç›kmadan önce, zay›fl›klar› ve
k›r›labilirli¤inin biliniyor" olmas› ile ayr›l›yor.
K›sacas› WEP size minimum bir güvenlik sa¤lamakta.
Keza MAC filtreleme bir güvenlik yöntemi olmaktan bile
60 HABER LINUX
uzak, zira WEP'i k›rd›ktan sonra (ki WEP'in befl dakikada k›r›lmas› üzerine videolar bile var Internet'te) a¤›n›z› dinleyerek mevcut kullan›lmakta olan MAC adreslerinden birini tespit edip, kendi cihazlar›na ayn› adresi verebilirler.
Bütün bu sebeplerle e¤er do¤ru düzgün bir güvenlik istiyorsan›z önerimiz WPA ya da WPA2 kullanman›z.
Linux üzerinde (her ne kadar belirtmeseniz de bu soru-
*060-062 Acil servis
9/27/06
4:12 PM
Page 3
PSK
network={
ssid="ARES"
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP
group=TKIP
psk="sifremizNe0lsun4C484"
priority=5
}
Burada önemli olan sat›rlar Network bafll›¤› alt›nda. Daha önce herhangi bir sistemde WPA ayarlar› yapt›ysan›z, bu
tan›mlar size yabanc› gelmeyecektir. E¤er yapmad›ysan›z
da burada yazan ayarlar› (tabi ssid ve psk'i de¤ifltirerek)
kullanabilirsiniz.
Bu dosyay› yerine yazd›ktan sonra
wpa_supplicant -w -Dwext -ieth2 -c/etc/
wpa_supplicant.conf
beti¤i ile çal›flt›rman›z mümkün. Burada önemli olan Dwext komutu. Bu komut sayesinde wpa_supplicant'a kul-
lanmakta oldu¤umuz wireless kart altyap›s›n›n ne oldu¤unu
söylüyoruz.
Bu seçenek afla¤›dakilerden birisi olabilir;
hostap, hermes, madwifi, atmel, ipw, wext, broadcom,
ndiswrapper, wired, bsd, ndis
ipw: ipw2100 ve 2200 Centrino laptoplar›n kulland›¤›
chipset
wext: genel chipset, flu anda yayg›n olarak yeni nesil
Centrino Duo chipstleri ipw 3945'lerde kullan›l›yor.
WPA Supplicant'› çal›flt›rd›ktan sonra izleyebilece¤iniz
temel iki yöntem var.
‹sterseniz normal wep ya da flifresiz ba¤lant›daki gibi
komut sat›r›ndan:
iwconfig eth2 essid "ARES"
ve
dhclient3 eth2
yu bize sorman›zdan, Linux'da bu iflin nas›l yap›laca¤›n› ö¤renmek istedi¤iniz sonucunu ç›kart›yoruz do¤al olarak)
WPA kullanmak için yapman›z gereken WPA supplicant denen bir paketi yüklemek.
Bunu da Debian'da apt-get install wpasupplicant komutu ile gerçeklefltirebilirsiniz.
fiu anda geçerli olan Debian sürümü Debian Sarge'da
WPA Supplicant bir servis olarak çal›flmakta. Bu önümüzdeki aylarda beklenen Debian Etch'in gelifli ile de¤iflecek.
Wpasupplicant'› kurduktan sonra yapman›z gereken temel fley /etc alt›na wpa_supplicant.conf isminde bir dosya
oluflturmak ve onun içine temel konfigürasyon bilgilerini
yazmak.
Örnek bir wpa_supplicant.conf flöyle oluyor:
komutunu vererek sisteme ba¤lanabilece¤iniz gibi, bu ifl
için haz›rlanm›fl olan wpa_gui isimli grafik arayüz ile bu ifllemleri çok daha kolay yapabilirsiniz.
ap_scan=1
Merhaba.
Ben iflletim sistemi olarak Ubuntu kullanmaktay›m. Daha
önce Slackware kullan›yordum ve orada mplayer olsun
xmms olsun birçok paket vard›. Nedense Ubuntu da bunlar› bulamad›m, bilgisayar›mdan nas›l müzik dinleyip divx
seyredebilirim?
Malesef baz› paketler, yasal ya da ahlaki sebeplerle tart›flmal› bir durumdad›r. Örnek olarak MP3 format›n› kullanmak
için patent sahibi firmadan izin alman›z gerekmekte. Ya da
Windows Media veya Quicktime formatlar›n› öyle istedi¤iniz gibi kullanamazs›n›z.
Bununla ilgili olarak iki yaklafl›m sözkonusu. E¤er h›zl›ca olsun, diyorsan›z yapman›z gereken
fast_reauth=1
apt-get install automatix
# the network I use which is configured using WPA-
Automatix paketi tam da sizin istedi¤iniz gibi gerekli
de¤ifliklikleri yaparak, sözkonusu paketlerin sisteminize
ctrl_interface_group=0
eapol_version=1
HABER LINUX 61
*060-062 Acil servis
9/27/06
4:12 PM
Page 4
yüklenebilir olmas›n› sa¤lar.
‹zleyebilece¤iniz bir baflka yol da, Synaptic içinde Settings->Repositories alt›nda afla¤›daki sat›r› Add ile eklemek:
deb http://packages.freecontrib.org/ubuntu/
plf/ dapper free non-free
E¤er synaptic'i de¤il de komut sat›r›ndan konfigürasyonu seçiyorsan›z, bu sefer de ayn› sat›r› /etc/apt/sources.list
dosyas›na eklemeniz gerekmekte.
Gerisi malum; apt-get update
Sistemimde disk yükleyici olarak yak›n zamana kadar lilo
kullan›yordum. Fakat son zamanlarda herkesin grub kullanmas›ndan dolay› ben de grubu tercih etmeye bafllad›m.
Lilo'da bir sorun ç›kt›¤›nda, makina boot etmedi¤inde,
knoppix ile aç›p gerekli konfigürasyon de¤iflikli¤ini lilo.conf'a yapt›ktan sonra liloyu çal›flt›rmak yeterli oluyordu. Lilo'nun en sevmedi¤im yan›, bir sebeple linux partisyonumu sildi¤imde makinay› boot edemez hale gelmemdi.
Öncelikle bu acaba Grub'da böyle de¤il mi? ‹kinci olarak da
demin bahsetti¤im konfigürasyon grubda liloda oldu¤undan daha farkl› galiba, flu ana kadar tam anlayamad›¤›m bir
mekanizma var, bunu aç›klayabilir misiniz?
Grub, dinamik olarak komut sat›r›ndan parametrelerinin de¤iflebilmesi ve izin verdi¤i birçok boot seçene¤i sayesinde lilonun yerini birçok alanda alm›fl bir bootloader. Öte yandan
malesef lilodaki problem Grub'da da devam etmekte, zira
Grub'da ihtiyaç duydu¤u temel dosyalar› disk
üzerinde bir partisyona yazmakta ve e¤er siz boot root usr gibi partisyonlar› ay›rmay›p, tek bir
partisyon kulland›ysan›z, muhtemelen bu partisyonu sildi¤inizde sistem de boot edemez olacakt›r.
Bu konuda benim önerim, freedos ile çal›flabilen Ranish Partition Manager isimli freeware
program› kullanman›z. Ranish'in en önemli özelli¤i bir boot menüsüne sahip olmas›d›r. Diskinizin
bootblockuna yerleflen bu boot menü size istedi¤iniz partisyondan boot etme imkan› tan›r. Önce
bunu kurup, daha sonra da Linux bootloader›n›z›
(grub ya da lilo farketmez) diskin MBR'sinden de-
62 HABER LINUX
¤il de partitiondan boot edecek flekilde ayarlarsan›z, bir daha böyle bir sorun yaflamazs›n›z. Bu konfigürasyon daha
sonra sisteme kuraca¤›n›z windowslar ya da di¤er iflletim
sistemleri için de (e¤er gruba yazm›yorlarsa geçerlidir)
Öte yandan bozulmufl bir lilo ya da grub konfigürasyonunu düzgün bir grub konfigürasyonu ile de¤ifltirmek de o kadar zor bir ifl de¤il.
Yapman›z gerekenler s›ras›yla:
Knoppix'den boot etmek.
Bir mount dizini oluflturmak: mkdir yeni
Bu mount dizinine mevcut sistemi ba¤lamak: mount
/dev/hda1 yeni
Device dizinlerini bu sisteme ba¤lamak: mount --bind
/dev yeni/dev
Sistemi geçici olarak aya¤a kald›rmak: chroot yeni
Bunu yapt›ktan sonra, e¤er grub konfigürasyonumuz
do¤ruysa ve bootblock silindi¤inden dolay› kaybolduysa: update-grub komutunu çal›flt›rarak bunun geri gelmesini sa¤layabilirsiniz.
E¤er konfigürasyondan memnun de¤ilseniz, onu de¤ifltirmek için yapman›z gereken biraz daha farkl›.
Öncelikle grub yazarak grubshell'e giriyoruz.
Ard›ndan root (hd0,3) yazarak /boot dizininin bulundu¤u
partisyonu gösteriyoruz (ki bu hda4 demek oluyor birçok
sistemde).
E¤er sözkonusu dizinin bulundu¤u partisyondan emin
de¤ilseniz, bu sefer
find /boot/grub/stage1 komutu ile sözkonusu dizini bulman›z mümkün
Bunun ard›ndan da
setup (hd0) ya da setup (hd0,3) komutu ile bootblocku
yaz›yoruz. Daha önce bahsedilmifl olan diskin ana MBR'sine
mi yoksa partisyona m› bafllang›ç bilgisini yazaca¤›m›z› belirleyen komut bu. E¤er daha önce bahsetti¤imiz Ranish
Partition Manager ile gerekli konfigürasyonu yapt›ysan›z
kullanaca¤›n›z komut setup (hd0,3) gibi partisyona yazan
bir komut olacakt›r.
*Freeware bir uygulama olan Ranish Partition Manager'a http:// www.ranish.com/part/ adresinden ulaflabilirsiniz. Her ne kadar 2002 y›l›ndan bu yana güncellenmemifl olsa da, güvenle kullanabilirsiniz. Ben en son 2006 model SATA diski olan bir laptopta sorunsuzca kurdum ve kulland›m.
Project1
9/27/06
4:22 PM
Page 1
Project1
9/27/06
4:23 PM
Page 1

Benzer belgeler