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