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