Linux olgunlaşıyor ve kendisini destekleyen ürünler buluyor
Transkript
Linux olgunlaşıyor ve kendisini destekleyen ürünler buluyor
3 2/18/06 10:43 PM Page 1 ED‹TÖR Tüm Linux camias›na s›ms›cak bir merhaba Yeni bir tasar›m, yeni bir içerik, özetle yepyeni bir dergi ile karfl›n›zday›z. Al›flt›¤›n›z, bildi¤iniz “Haber Linux Dergisi” art›k çok daha renkli ve çok daha kapsaml› bir içerikle bundan böyle sizlerle buluflacak. Tüm dünyada oldu¤u gibi ülkemizde de Linux kullanan kifli ve kurumlar›n say›s› bir 盤 gibi büyüyor. Bunun alt›nda elbette çok hakl› nedenler var. Linux bugüne de¤in paylafl›m›n ve aç›kl›¤›n zaferi olarak konumunu hep güçlendirdi. Günümüzde ise yayg›nl›¤›n ve güvenin bir abidesi olarak karfl›m›zda. Linux’a olan güvenini ve deste¤ini daha ilk günden itibaren aç›k ve net bir flekilde ortaya koyan IBM, Linux topluluklar›n›n geliflmesi, iliflkilenmesi ve yetkinleflmesi için çal›flmalar›n› aral›ks›z sürdürüyor. Haber Linux Dergisi iflte bu anlay›fl›n geliflen bir meyvesi olarak flu an ellerinizde. IBM Türk, Fazla Mesai ve 11 ülkede IT yay›nc›l›¤› konusunda uzmanlaflm›fl Vogel Burda Grubu’nun iflbirli¤i ile haz›rlanan yepyeni Haber Linux Dergisi’nden büyük keyif alman›z dile¤iyle .. Umut Kavurmac› haberlinux@tr.ibm.com HABER LINUX 3 4-5 2/18/06 9:52 PM Page 2 16 16 PARDUS SAHNEDE TÜB‹TAK, UEKAE BÜNYES‹NDE YÜRÜTÜLEN ULUDA⁄ PROJES‹ KAPSAMINDAK‹ PARDUS 1.0 SÜRÜMÜ 26 ARALIK 2005 TAR‹H‹NDE KAMUOYUNA DUYURULDU. 20 20 AJAX ÜZER‹NE AYRINTILI B‹R ‹NCELEME WEB S‹TES‹ OLUfiTURMA KONUSUNDA VER‹ML‹ B‹R YAKLAfiIM OLAN AJAX’I DER‹NLEMES‹NE TANIYALIM. YÖNET‹M ‹mtiyaz Sahibi IBM Türk Ltd. fiti. ad›na Hüseyin K›z›ltay 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 18 28 44 SHELLSHOCK FRESHMEAT CACTI 6 2/18/06 7:53 PM Page 2 Linux Yar›n Nerede Olacak? fiöyle bir senaryo düflünün. Hizmet sektöründe çal›fl›yorsunuz, ülke çap›nda yay›lm›fl on tane ofisiniz, yüzlerce çal›flan›n›z, birlikte çal›flt›¤›n›z ifl ortaklar›n›z, müflterileriniz var. Bütün bu iliflkileri kontrol alt›nda tutmak için siz de ça¤a ayak uydurmufl ve bir firmaya iflinizle ilgili bir yaz›l›m gelifltirtmiflsiniz. Bu yaz›l›m sayesinde ofisleriniz aras›nda bilgi paylafl›m› yap›lmakta, hangi ofiste hangi hizmetle ilgili ne gibi ifller yap›lm›fl takip edebilmektesiniz. ‹fl ak›fllar›n›z, kaynaklar›n›z, bütçeniz, mali bilgileriniz herfley bu programla yönetiliyor. Program› tam da istedi¤iniz gibi yazd›rm›fls›n›z, performans›ndan, kullan›m kolayl›¤›na kadar her aflamada memnunsunuz. Öyle ki program iflinizin geliflece¤i de gözönüne al›narak yaz›lm›fl ve befl y›ldan beri en ufak bir problem bile ç›kmam›fl. Yani gerekti¤i gibi bir program yazd›rm›fls›n›z. Bir gün yeni bir ofisiniz aç›l›yor ve sözkonusu ofise yeni bilgisayarlar al›p yolluyorsunuz. Bir gün sonra IT ekibiniz size yeni bilgisayarlar›n donan›mlar›n›n eski iflletim sistemi ile çal›flmad›¤›n› söylüyorlar, yeni donan›mlar›n bu iflletim sistemini desteklemedi¤ini, bu yüzden de program›n›z›n çal›flmayaca¤›n› söylüyorlar. Ne yapacaks›n›z? Belki de ikinci el bilgisayar bulman›z gerekecek sözkonusu program›n üstünde çal›flabilece¤i gibi. Veya belki de daha kötüsü bir sabah ö¤reniyorsunuz ki art›k kulland›¤›n›z iflletim sistemi desteklenmiyor. Yani, yeni bir ofis açarsan›z, kulland›¤›n›z program›n üstünde çal›flaca¤› iflletim sisteminden sat›n alman›z mümkün de¤il. Diyelim ki bir üst sürümün lisans›n› sat›n al›p, eski sürümü kurdunuz. Peki sözkonusu iflletim sisteminin bir sonraki büyük güvenlik a盤› ç›kt›¤›nda ne yapacaks›n›z? Zira bu iflletim sistemini size satan flirket art›k bu sürümü desteklemedi¤ini peflinen söylemifl durumda ve bunun için gerekli güvenlik güncellemelerini de yapmamakta. Dolay›s›yla program›n›z› çal›flt›rabiliyor olsan›z bile bu çok tercih edece¤iniz bir fley olmayacakt›r, zira birçok kurum bilgilerini güvensiz bir ortamda saklamaktansa onlara elektronik olarak eriflmemeyi tercih eder. Peki ne oldu? Nerede hata yapt›n›z? Ticari bir kuruma güvenerek, yat›r›m›n›z› ona ba¤layarak m›? Veya o kurum kötü niyetli mi? Tabi ki hay›r, onlar da kendileri için ticari aç›dan karl› olan› yapmakta, art›k desteklemedikleri bir iflletim sistemi için araflt›rmalarda bulunmamaktalar. Peki ne yapabilirsiniz? Daha önce program› yazd›rd›¤›n›z ekibe, yeni iflletim sistemi üzerinde çal›flacak flekilde yeniden program yazd›r›rs›n›z. Befl y›l önce yaz›lm›fl olan program› yazan ekip ayr›lm›flt›r, dahas› program›n kodu da ellerinde yoktur, zaten bu kadar sürede teknoloji de geliflmifl, daha yeni teknikler ortaya ç›km›flt›r. Tabi bu biraz zaman alacakt›r. Dahas› mutlaka farkl›l›klar olacakt›r ve eski programa al›flm›fl olan ekibinizin bu yeni programa al›flmas› da biraz zaman alacakt›r. Öte yandan diyelim ki, "karfl›nda bir kurum yok, gerekli deste¤i bulamazs›n" gibi fleyler söyleyen tan›d›klar›n›za çok da kulak asmad›n›z ve sisteminizi GNU/Linux iflletim sistemi üstünde, özgür yaz›l›mlarla çal›flacak flekilde kurdunuz. Herfleyden önce "art›k bu iflletim sistemi desteklenmiyor, ya da devre d›fl› kald›" diye bir durumla karfl› karfl›ya kalmayaca¤›n›z kesindir. Halihaz›rda 2.6 kernel sürümü yo¤un olarak kullan›l›yor olsa bile önceki kararl› sürümler olarak kabul edilen 2.4 ve 2.2 kerneller desteklenmekte ve bunlar için hala güvenlik gelifltirmeleri yap›lmaktad›r. ‹kinci olarak hiçbir zaman için iflletim sisteminiz yeni donan›mlarla çal›flmaz olmayacak ya da hemen hiçbir durumda program› bafltan yazd›rmak durumunda kalmayacaks›n›z. Program› yazan flirket ortada olmasa bile sizde program›n kaynak kodu sizde bulunacak ve bu kod üzerinden konusunda uzman bir baflka ekibe gerekli de¤ifliklikleri yapt›rman›z çok daha kolay olabilecek. Bu hayali senaryondan ç›kartaca¤›m›z ana fikir flu: Linux'un ve di¤er özgür yaz›l›m projelerinin yar›n nerede olaca¤›n› belki tahmin etmek kolay de¤il. En az›ndan flu anda bulunduklar› yeri befl y›l önceden tahmin etmek pek mümkün olmad›. Fakat bildi¤imiz bir fley var ki bu projeler, bir anda yokolup gitmeyecekler ve yar›n nerede olurlarsa olsun emin olun ki ulaflamayaca¤›n›z bir yerde ya da kimsenin desteklemedi¤i bir halde bulunmayacaklar. K›v›lc›m Hindistan 6 HABER LINUX 8-15 2/18/06 8:50 PM Page 2 HABERLER CodeWeavers’dan CrossOver Office 5.0 Windows’tan Linux’a geçifl için yaz›l›m gelifltirme konusunda önde gelen flirketlerden biri olan CodeWeavers, Windows uygulamalar›n› Linux iflletim sisteminde yerel olarak çal›flt›ran ürününün son büyütmesi olan CrossOver Office 5.0’› piyasaya sürdü¤ünü aç›klad›. The Wine Project taraf›ndan ayr› olarak piyasaya sürülen aç›k kaynak kod eflde¤eri olan Wine 0.9’un içerdi¤i performans büyütmelerini de kapsayan CrossOver Office 5.0, art›k Microsoft Office 2003’ün güvenilir bir biçimde çal›flt›r›lmas›n›n yan› s›ra ço¤u Windows uygulamas› için kullan›lacak geliflmifl kurulum yetenekleri de sa¤l›yor. The Wine Project teknolojisine en fazla katk›da bulunan kurumlardan biri olan CodeWeaver'›n Windows’tan Linux’a geçifl için programlama ifllevi hem CrossOver Office 5.0’a hem de Wine 0.9’a büyük ölçüde yans›t›lm›fl. Ancak, CrossOver Office 5.0, ayn› zamanda, tek bir Linux makinesinde birden çok sanal Windows platformunun oluflturulmas›na olanak tan›yan yeni bir "Bottles" özelli¤i de dahil olmak üzere, bir dizi eflsiz ve özel avantaj da sunuyor. CodeWeavers’›n CEO’su Jeremy White, "CrossOver Office 5.0, Windows’tan Linux’a geçifl yolunda önemli bir ad›m. Yaln›zca gelifltirilmifl kurulum yetene¤i bile, Linux masaüstü kullan›c›lar›n›n Windows a¤›rl›kl› bir dünyada ba¤›ms›z çal›flmas›n› kolaylaflt›r›yor,” diyor ve flöyle ekliyor: "CrossOver Office’in piyasaya yeni ç›kar›lan bu sürümü, yaln›zca Office 2003 deste¤i nedeniyle de¤il, ayn› zamanda Linux’un birden fazla kullan›c› taraf›ndan kullan›ld›¤› flirketlerde hayat› kolaylaflt›ran di¤er iyilefltirmeleri sayesinde de özellikle kurumsal kullan›c›lar›m›z›n ifline yarayacak ." Jade Software, JADE 6.1 ürününü duyurdu Bir bilgi teknolojisi araflt›rma ve gelifltirme kuruluflu olan Jade Software karmafl›k ifl sorunlar› için hedefe yönelik çözümler sunan yüksek performansl› bir yaz›l›m platformu olan, JADE teknolojisinin en son ürününü, JADE 6.1’i piyasaya sürdü¤ünü duyurdu. JADE 6.1, Linux ince istemcisi, çevrimiçi flema büyütmeleri, do¤rudan Web hizmetleri ve iliflkisel veri yayma hizmeti (RPS; relational population service) gibi birkaç yeni özellik sunuyor. JADE program yöneticisi Dean Cooper ürünle ilgili flunlar› söylüyor: "JADE 6.1’de, özellikle karmafl›k, birbirine yüksek 8 HABER LINUX oranda ba¤l› veriler, iliflkiler ve ifl kurallar› içeren karmafl›k ifl sorunlar› için hedefe yönelik çözümler sunmaya odakland›k. Bu, baflar›ya ulaflmak için, do¤ru teknolojinin, do¤ru yerde kullan›lmas›yla ilgili bir konudur." RPS, JADE sistemlerinin BI, MIS ve veri depolanmas› amaçlar›yla iliflkisel veritabanlar›n› yaymas›n› kolaylaflt›rd›¤›ndan, önemli ve yeni bir birlikte ifllerlik özelli¤i olarak dikkat çekiyor. Cooper bu konuda flu aç›klamay› yap›yor: “Birçok müflterinin zaten iliflkisel veri depolar› ve/veya ETL süreçleri var ve JADE sistemlerindeki verileri bunlarla birlefltirmek istiyorlar. Müflterilerin, JADE sistemlerindeki verilerini depolamalar›n› ve BI/MIS verita- banlar›nda kullanmalar›n› kolaylaflt›rmak istiyoruz.” Linux ince istemci yetene¤i, müflterilerin, uygulama kullan›c› arabirimlerini herhangi bir uyumlu Java yetenekli Linux masaüstü bilgisayarda yayabilmelerini sa¤l›yor. JADE 6.1, Linux için tam, uçtan uca bir gelifltirme ve çal›flt›rma zaman› platformu sunuyor. Cooper bu konuda flunlar› söylüyor: "Linux’u destekleme karar›m›z, müflterilerimize yeni bir platform seçene¤i sunmak istememizden kaynaklan›yor. "Linux’un ticari sistemlerde kullan›m›, kurumsal Linux sürümlerinin yay›nlanmas›yla ve ifl dünyas›nda güvenilirli¤inin pekiflmesiyle art›yor. Linux’a duyulan güven artt›kça, biz de müflterilerimizin uygulamalar›n› Linux üzerinde çal›flt›rmalar›n› kolaylaflt›rmak ve Linux‘un sundu¤u önemli f›rsatlardan yararlanmalar›n› sa¤lamak istiyoruz." 8-15 2/18/06 8:50 PM Page 3 IBM, Red Hat ve Trusted Computer Solutions’dan Common Criteria iflbirli¤i A.B.D. Savunma Bakanl›¤›’na, istihbarat kurumlar›na ve ticaret sektörüne bilgi paylafl›m› teknolojileri sa¤lama konusunda önde gelen flirketlerden biri olan Trusted Computer Solutions, (TCS), kurumsal aç›k kaynak çözümleri sa¤layan ve dünyan›n önde gelen flirketlerinden biri olan Red Hat ve IBM ile birlikte, dün, Red Hat Enterprise Linux ürününün genifl bir IBM eServer sistemleri yelpazesinde Common Criteria (Ortak Kriterler) De¤erlendirmesine girdi¤ini aç›klad›. Bu de¤erlendirme, Red Hat Enterprise Linux’un, devletin farkl› kurumlar› aras›nda ve kurumlar›n kendi içlerinde güvenli bilgi paylafl›m› için devlet güvenlik standartlar›na uygun oldu¤u anlam›na gelecek. Red Hat Enterprise Linux v.5 ürününün, bu ay The National Information Assurance Partnership (NIAP) taraf›ndan onaylanan Common Criteria Evaluation & Validation Scheme (CCEVS) içine resmen dahil edilmesiyle, Linux yeni bir güvenlik ve güvence düzeyine ulaflt›. Bu iflletim platformu, IBM, Red Hat, TCS ve topluluk taraf›ndan gelifltirilen çekirdek ve Security Enhanced Linux (SELinux) ilkesi gelifltirmeleri içeriyor. TCS güvenlik gelifltirmeleri National Security Agency’nin SELinux güvenlik özelliklerini güçlendiriyor. Red Hat Enterprise Linux v.5’in, 2006 y›l›n›n sonuna do¤ru Red Hat taraf›ndan herkesin kullan›m›na aç›k olarak pazara sürülmesi bekleniyor. Ancak, Red Hat Enterprise Linux v.5 pazara sürülmeden önce ve 11 say›l› NSTISSP National Policy uyar›nca, devlet kurumlar› Linux güvenilen iflletim sistemi platformuna dayal› TCS etki alanlar› aras› güvenlik uygulamalar›n› flimdiden edinip uygulayabiliyorlar. Red Hat Enterprise Linux v.5, bu yeteneklere sahip ilk aç›k kaynak da¤›t›m› olacak. IBM, Red Hat Enterprise Linux v.5’in sertifikasyonunun sponsorlu¤unu üstleniyor. CCEVS’ye 4. De¤erlendirme Güvencesi Düzeyi’nden (EAL4; Evaluation Assurance Level 4) giren bu ürün, Common Criteria taraf›ndan tan›nan üç koruma profilinde tan›mlanan güvenlik ifllevlerini içerecek: Labeled Security Protection Profile (LSPP), Controlled Access Protection Profile (CAPP) ve Role-Based Access Control Protection Profile (RBAC). Bu profiller, Top Secret and Below Interoperability (TSABI) için de gerekli olan güvenlik istihbarat›na iliflkin bilgi ve sistem ölçümlerini belirleyen 4. Koruma Düzeyi’nde (Protection Level 4) 6/3 say›l› Director of Central Intelligence Directive (DCID) içinde belirlenen gereksinimleri destekler. IBM'in A.B.D. Federal Genel Müdürü Anne Altman bu konuda flunlar› söylüyor: "IBM, Red Hat ve TCS ile güçlerini birlefltirerek, hem aç›k standartlar›, hem de devlet güvenlik standartlar›n› karfl›layan çözümlerle, devlet pazar›na sundu¤u ürünleri gelifltiriyor. Bu duyuru, IBM’in devlet pazar›na çözüm sunmaktaki ve Linux’un devlet içinde ve devlet kurumlar›nda kabulünü yayg›nlaflt›rmaktaki kararl›l›¤›n›n baflka bir örne¤i”. KDE’den yepyeni bir masaüstü Linux için aç›k kaynakl› grafik masaüstü arabirimi olan KDE Project, K Masaüstü Ortam›’n›n yeni, büyük bir ürününü piyasaya sürdü¤ünü aç›klad›. Yeni eklenmifl ve mükemmellefltirilmifl pek çok özelli¤iyle, KDE’nin art›k piyasadaki en tamamlanm›fl, istikrarl› ve tümleflik ücretsiz masaüstü ortam› oldu¤u belirtiliyor. KDE 3.5, kullan›m kolayl›¤›, performans ve estetik alanlar›nda iyilefltirmelerin yan›s›ra, yeni ifllevler ve özellikler de içeriyor. Bu yeni ifllev ve özellikler aras›nda gelifltirilmifl bir Web taray›c› ve e¤lenirken ö¤renme modülünde yeni uygulamalar yer al›yor. KDE sürüm koordinatörü Stephan Kulow flöyle konufltu; "Geçti¤imiz y›llar- da yap›lan iyilefltirmeler KDE Projesinin ne kadar olgunlaflt›¤›n› gösteriyor. KDE, piyasadaki en güçlü masaüstü ortam› ve gelifltirme platformu. Bir sonraki sürümümüz olan KDE 4’te çok büyük de¤ifliklikler beklenmek- le beraber, KDE 3.5 de önümüzdeki birkaç y›l için kullan›c›lara mükemmel bir üretkenlik platformu sa¤l›yor.” KDE, Linux’ta kullan›labilen, kullan›m› kolay, güncel bir masaüstü ortam›. Linux ile birlefltirildi¤inde, KDE, isteyen herkesin kodlar›n› de¤ifltirebilece¤i, tamamen ücretsiz ve aç›k bir bilgiifllem platformu oluflturuyor. Projenin hedefi, "dünya çap›nda y›llard›r bilimadamlar›n›n ve bilgiifllem profesyonellerinin keyfini sürdü¤ü ayn› aç›k, güvenilir, istikrarl› ve kimsenin tekelinde olmayan bilgifllemden ortalama bilgisayar kullan›c›lar›n da yararlanmas›.” HABER LINUX 9 8-15 2/18/06 8:50 PM Page 4 Extended Systems fiirketi, Linux için Bluetooth Development Kit ürününü tan›t›yor Mobil yaz›l›m çözümleri sa¤lay›c›s› Extended Systems, Linux için XTNDAccess Blue Software Development Kit (SDK) adl› ürününü piyasaya sürdü¤ünü duyurdu. Bluetooth iletiflim kurallar› grubu (protocol stack) ve profil teknolojileri zincirindeki son yay›n olan XTNDAccess Blue SDK for Linux ürünü, gelifltiricilerin, Bluetooth yeteneklerini Linux iflletim sistemi kullanan ayg›tlarda kolayca uygulamalar›na olanak sa¤l›yor. Extended Systems, Mobil Ayg›t Çö- zümleri Baflkan Yard›mc›s› olan Nathan Pendleton, bu konuda, "Dokuz y›ldan uzun bir süredir hem kablosuz iletiflim grubu hem de 2000 y›l›ndan bu yana da Bluetooth iletiflim kurallar› grubu sa¤layan bir flirket olarak, yüzlerce Bluetooth uygulamas› üzerinde çal›flt›k. Son zamanlarda aç›kça görülüyor ki, dünyan›n her yerindeki ayg›t üreticileri iflletim sistemi olarak Linux’u tercih etme e¤ilimindeler," diyor ve flunlar› ekliyor: "Ürün grubumuzun do¤al gelifliminin bir parças› olan bu SDK ürünü, Linux platformunu kullanan gelifltiricilere, özellikle de tümleflik sistem gelifltiricilerine, endüstrinin onaylad›¤› bir Bluetooth çözümü sunuyor." XTNDAccess Blue SDK for Linux ürünü, Linux 2.4 çekirdek sürümünün bir mo- dülü olarak çal›fl›r ve böylece Bluetooth teknolojisinde uzman olmayan gelifltiricilerin bile Bluetooth ifllevselli¤inden yararlanmas›na olanak tan›r. Bu iletiflim kurallar› gruplar›, profilleri ve Linux bütünlefltirme modülleri kaynak kodu biçiminde sa¤lanmakta ve küçük, tümleflik ayg›t gelifltiricileri için özel olarak tasarlanmaktad›r. Ayr›ca, bu ürün için 2005 y›l›n›n Eylül ay›nda Bluetooth SIG (Special Interest Group) bünyesindeki BQB (Bluetooth Qualification Body) taraf›ndan sertifika verilecektir. BQB sertifikas›, gelifltiricilere bu ürünün iletiflim kurallar› grubu ve profillerinin Bluetooth SIG belirtimlerine tam olarak uyularak yaz›ld›¤›n› ve birlikte çal›flt›¤›n› garantileyecektir. Ürünlerine Bluetooth kablosuz iletiflim ürünlerini ekleyen gelifltiriciler, çekirdek Bluetooth iletiflim kurallar› grubu teknolojisi için d›fl kaynak olarak Extended Systems’› kulland›klar› takdirde, zengin ifllevlere sahip ve son derece güvenilir uygulamalardan yararlanabilecekler. Lakeview Technology, Linux kümeleme ve kopyalama çözümünü onaylad› Bilgi sistemleri kurulufllar› için altyap› yaz›l›mlar›nda dünya lideri olan Lakeview Technology flirketi, yerel olarak çal›flan AIX ve Linux kümeleme ve kopyalama çözümlerinin bu ay›n bafl›nda Orlando, Florida’da yap›lan IBM eServer pSeries and Linux Technical University adl› e¤itim program›nda IBM eServer pSeries ürünleri için onayland›¤›n› aç›klad›. Lakeview'in H.A. Clusters ürünü, sunucu donan›m›n› ve uygulama yaz›l›m›n› izleyerek hatalar› saptayan ve kurtarmay› otomatik olarak bafllatan, ayr›ca birden çok ar›za veren hizmetleri de yeniden bafllatan, güçlü, kullan›m› kolay ve yüksek düzeyde kullan›labilir olan bir yaz›l›md›r. EchoStream FS, dosyalar›n etkin, verimli bir biçimde kop- 10 HABER LINUX yalanmas›n› sa¤layarak iflletmeleri veri kayb›na karfl› korur. H.A. Clusters ve EchoStream, Intel tabanl› “blade”lerin yan› s›ra pSeries, iSeries, xSeries, POWER “blade”ler de içinde olmak üzere IBM platformlar›nda, AIX ve Linux (Red Hat ve Novell SUSE) üzerinde çal›fl›r. Lakeview flirketinin ürün stratejisi yöneticisi Bill Hammond flöyle diyor: "Bu durum, pSeries ürünleri için AIX ve Linux kümeleme ve kopyalama çözümlerimizi onayl›yor ve kullan›c›lar›m›za önceden test edilmifl bu yaz›l›m›n güvenilir, esnek, ölçeklenebilir ve uygun fiyatl› oldu¤unu kan›tl›yor. Bu ürüne onay verilmesi, ürünlerimizin çok çeflitli yaz›l›m ve donan›m platformlar›nda çal›flt›¤›n› gösteren ve Lakeview’in daha yüksek düzeyde birlikte çal›flma olana¤› sunarak müflteri memnuniyeti elde etmeye odakland›¤›n› kan›tlayan destekleyici bir ad›md›r." 8-15 2/18/06 8:50 PM Page 5 HABERLER Linux’un gelifltirilmesini desteklemek üzere Open Invention Network oluflturuldu IBM, Novell ve Red Hat öncülü¤ünde, büyük flirketlerden oluflan bir grup, Linux’un kullan›m›n› yayg›nlaflt›rmak ve dünya çap›nda yenilikleri desteklemek için patentler edinip, patenti al›nan ürünleri ücretsiz (royalty-free) olarak kullan›ma açacak olan OIN’e (Open Invention Network; Aç›k Bulufl A¤›) destek verdi¤ini aç›klad›. Türünün ilk örne¤i oldu¤u san›lan bu a¤, patenti al›nm›fl ürünlerin iflbirli¤ine yönelik bir ortamda aç›kça paylafl›laca¤› ve Linux iflletim sistemi için uygulamalar›n ve Linux bileflenlerinin gelifltirilmesinde kullan›laca¤› yeni bir model yaratmaya çal›flacak. Open Invention Network CEO’su Jerry Rosenthal bu konuda flunlar› söylüyor: "Küresel ekonominin büyümesini destekleyen yeniliklerin gelifltirilmesinde aç›k iflbirli¤i çok önemli. Linux iflletim sistemindeki iflbirli¤inin önündeki yasal engeller, yap›lacak yenilikleri ciddi olarak tehlikeye sokuyor. Yaz›l›m yeniliklerinde ilerleme kaydetmeyi sürdürmek istiyorsak, iflin ya da kuruluflun büyüklü¤üne ya da türüne bak›lmaks›z›n, Linux için yeni bir fikri mülkiyet yönetimi modeli oluflturulmal›d›r.” fiirket Linux‘ta yenilikleri teflvik edecek olan bir aç›k ve iflbirli¤i ortam› oluflturarak yaz›l›m sa¤lay›c›lar›na, müflterilere, geliflmekte olan pazarlara, yat›r›mc›lara ve baflka pek çok kifliye yarar getiren yeni küresel yeniliklerin gerçekleflmesini sa¤la- yacak. Patenti Open Invention Network’e ait olan ürünler, patent haklar›n› Linux iflletim sistemine ya da Linux’a iliflkin baz› uygulamalara karfl› uygulamayaca¤›n› bafltan kabul eden flirket, kurum ya da kifliler taraf›ndan ücretsiz olarak kullanabilecek. Open Invention Network, Linux iflletim sistemi için önemli patentlere eriflimi sa¤lamak ve bu eriflimi yönetmek için yeni bir sistem kurulmas›n›n ekonomiye çok önemli etkileri olaca¤›n› düflünüyor. Rosenthal konuyla ilgili olarak flunlar› söylüyor: "Open Invention Network olarak patentlerimizden gelir ya da kar elde etmekten çok, bu patentleri Linux iflletim sisteminin çevresinde olumlu, üretken bir ekosistem oluflturmak ve pazardakilere yenilik ve seçme hakk› tan›mak amac›yla kullanmaya odaklan›yoruz. Yaz›l›m gelifltiricilerin, fikri mülkiyet konusunda içleri rahat olarak, en iyi yapt›klar› fley olan, Linux’la ba¤lant›l› harika yaz›l›mlar gelifltirmelerine odaklanmalar›na yard›m etmek ve böylece, BT endüstrisindeki ve di¤er endüstrilerdeki yenilikleri teflvik etmek istiyoruz." IBM fikri mülkiyetten ve aç›k standartlardan sorumlu baflkan yard›mc›s› Jim Stallings de konuyla ilgili olarak flunlar› dile getiriyor: "Open Invention Network’ün oluflumu, flirketlerin art›k kendi kurumsal s›n›rlar›n›n ötesine odakland›¤›n› gösteren ve gitgide büyüyen bir hareketin iflaretini veriyor. fiirketler, yenilikleri h›zland›rmak ve ekonomik büyümeyi teflvik etmek için stratejik olarak fikri mülkiyetlerini paylafl›yor ve sektörlerinde daha genifl kapsaml› ortakl›klar kuruyor." Zend Core for IBM Zend Core for IBM, sorunsuz iflleyen, ek bir ifllem yap›lmas›na gerek olmayan, kolay kurulan ve desteklenen bir PHP gelifltirme ve üretim ortam›. Bu ürün, DB2 ve IBM Cloudscape veritaban› sunucusu ile tam olarak bütünleflir, ayr›ca XML ve Web Hizmetleri (Web Services) için yerel destek sa¤lar. Bunlara ek olarak, gitgide daha s›k kullan›lmaya bafllayan Hizmet Odakl› Mimarileri (Service Oriented Architectures - SOA) destekler. Veritabanlar›na dayal› uygulamalar için h›zl› bir gelifltirme ve uygulama temeli ve ayr›ca DB2 ile Cloudscape veritaban› aras›nda tutarl› bir API sa¤layarak kullan›m› kolay ve basit Cloudscape veritaban›ndan kritik önem tafl›yan DB2 ürününe bir büyütme yolu sunar. Zend Core for IBM, 12 Temmuz 2005 tarihinden iti- baren piyasaya sunulacak. Zend Core for IBM - Windows Beta – Yüklemeniz için Haz›r Ürünün öne ç›kan özellikleri: • PHP 5 • Kolay kurulum • Cloudscape sunucular› ve PHP ortam› için grafik Web tabanl› Yönetim Konsolu • Kurumsal veritaban› web uygulamalar›n› yaymak için IBM Cloudscape sunucusu ve DB2 UDB sürücülerinden oluflan paket • Kolay eriflilebilir belgeler Destek seçenekleri Zend’den edinilebilir. HABER LINUX 11 8-15 2/18/06 8:50 PM Page 6 OSDL’den Mobile Linux Initiative! Linux’un daha yayg›n olarak kullan›lmaya bafllanmas›n› h›zland›rmak için çal›flan küresel bir birlik olan OSDL (The Open Source Development Labs; Aç›k Kaynak Gelifltirme Laboratuvarlar›), Linux’un mobil ayg›tlar pazar›nda yayg›n olarak kullan›lmaya bafllanmas›n› h›zland›rmak amac›yla MLI (Mobile Linux Initiative) adl› yeni bir çal›flma grubunun oluflturuldu¤unu duyurdu. Araflt›rma flirketi Ovum’a göre, 2004 y›l›nda tüm dünyada sat›lan cep telefonu say›s› yüzde 31 artt›; 2009 y›l›nda ise kullan›lan cep telefonu say›s›n›n 2,8 milyar› aflmas› bekleniyor. Elde kullan›labilir ayg›tlar›n üreticileri daha yetenekli mobil ayg›tlar gelifltirmek, esnekli¤i art›rmak, pazarlama sürecini h›zland›rmak ve maliyetleri azaltmak amac›yla stratejik bir platform olarak Linux’u kullanmaya bafllad›lar. OSDL’nin CEO’su Stuart Cohen flöyle diyor: "Linux, yeni yeteneklere sahip ve daha geliflmifl olan elde kullan›labilir ayg›tlar sunmak için mobil ayg›t üreticilerine güçlü bir platform ve benzersiz birlikte çal›flabilme özelli¤i sa¤l›yor. OSDL Carrier Grade Linux çal›flma Yüksek Baflar›ml› Hesaplama etkinli¤i IBM Yüksek Baflar›ml› Hesaplama çözümlerinde uzun y›llard›r dünya lideri konumunda ve yeni gelifltirdi¤i Blue Gene/L projesi ile bu alanda yeni bir ça¤› bafllatt›. K›r›lmas› imkans›z bir hesaplama gücü de¤erlerine ulafl›yor. Türkiye’nin yüksek teknoloji gereksiniminlerinde ihtiyaç duydu¤u Yüksek Baflar›ml› Hesaplama çözümleri konusunda, IBM’in yaklafl›mlar›n› içeren, uzman yabanc› IBM konuflmac›lar›n›n da kat›laca¤› IBM Academic HPC etkinli¤ine IBM tüm ilgilenenleri davet ediyor. Nisan ay› bafl›nda gerçeklefltirilmesi hedeflenen etkinlik ile ilgili kesin tarihi ve yerler http://www. ibm.com.tr adresinden duyurulacak. 12 HABER LINUX grubunun Linux’un telekomünikasyon a¤› altyap›s›nda kullan›lmaya bafllanmas›n› h›zland›rd›¤› flekilde, MLI’nin de ayg›t üreticilerinin, a¤ iflletmenlerinin ve gelifltiricilerinin mobil ayg›tlar› ifllevsellikte ve verimlilikte bir sonraki düzeye tafl›malar›na yard›mc› olmak için özellikle Linux ve aç›k kaynak uygulamalar›na odaklanabilecekleri ideal forumu yarataca¤›na inan›yoruz." MLI kat›l›mc›lar› iflletim sistemindeki teknik zorluklar› aflmaya çal›flacak, Linux tabanl› mobil ayg›tlar için uygulamalar›n gelifltirilmesini h›zland›racak, gereksinimlerin tan›mland›¤› belgeler haz›rlayacak, ürünün kullan›ld›¤› durumlara iliflkin örnekler sa¤layacak ve bu giriflimi destekleyecek tamamlay›c› aç›k kaynak projeleri yürütecek. 8-15 2/18/06 8:50 PM Page 7 HABERLER World Community Grid, Linux Client’› sunar... World Community Grid proje ekibi, bu projeye katk›da bulunmak isteyenler için bir Linux istemcisinin kullan›ma haz›r oldu¤unu duyurdu. World Community Grid üyeleri, Linux istemcisine, Berkeley Open Infrastructure for Network Computing (BOINC) platformu üzerinden eriflebilirler. World Community Grid'in amac›, insanl›¤›n yarar›na olan projelere katk›da bulunmak amac›yla, herkesin kullan›m›na aç›k olan, dünyan›n en büyük genel bilgiifllem “grid”inin yarat›lmas›. Bu sayede, teknoloji, bu genel “grid”in olmad›¤› durumlarda, gerekli bilgisayar altyap›s›n›n yüksek maliyeti nedeniyle tamamlanamayacak olan insanl›¤›n yarar›na yap›lacak araflt›rmalarda kullan›lmak üzere, kamu yarar›na çal›flan ve kar amac› gütmeyen kurulufllar›n kullan›m›na sunuyor. World Community Grid üyeleri, boflta duran bilgisayarlar›n› “grid” kullan›m›na sunarlar. Boflta duran bilgisayar, World Community Grid'in sunucusundan, belirli bir projenin verilerini isteyecektir. Sonra, bu veriler üzerinde hesaplamalara bafllay›p, sonuçlar›n› sunucuya geri gönderecek ve sunucudan yeni bir ifl isteyecektir. Bilgisayar›n gerçeklefltirdi¤i her bir hesaplama, bilim adamlar›na, araflt›rmay› h›zland›ran önemli bilgiler sa¤layacakt›r. Linux istemcisinin kullan›laca¤› ilk projelerden biri, bilim adamlar›na çok fazla say›daki insan proteininin biçimlerini tahmin etmekte yard›mc› olacak verileri sa¤layacak olan ‹nsan Proteomunun Aç›l›m› (Human Proteome Folding) projesidir. Proteinler, birbirleri üstüne sar›larak toplanan uzun ve düzensiz zincirlerdir. Proteinlerin birbirleri üstüne sar›larak oluflturabildi¤i biçimlerin say›s› oldukça fazlad›r. Tek bir proteinin do¤ru ifllevini tan›mlamak için olas› tüm biçimlerin araflt›r›lmas›, gerçekten zor bir görevdir. Bilim adamlar›, her bir proteinin insan sa¤l›¤›n› nas›l etkiledi¤ini keflfederek, hastal›klar için yeni tedaviler gelifltirebilirler. Teker teker proteinlerin rolünü belirleyebilen çok büyük miktarlarda veri bulunmaktad›r, ancak bu verilerin yararl› olabilmesi için analiz edilmeleri gerekir. Bu analizin süper bilgisayarlarda tamamlanmas› y›llar sürebilir. fiimdi bu proje sayesinde World Community Grid, bu süreyi aylara indirmeyi umut ediyor. IBM, Linux'u kitlelere yay›yor IBM, yaz›l›mda ba¤›ms›zl›¤›n sembolü olan Linux'un daha genifl kitleler taraf›ndan tan›nmas› ve kullan›lmas› için verdi¤i destek do¤rultusunda, Türkiye'deki 3., Ankara'daki 2. Linux Merkezi'ni, 4 Ocak'ta hizmete açt›. IBM Türk'ün Ankara binas›nda hizmete giren merkezinden, Linux'la ilgili çal›flmalar yapmak ve aç›k standartlara dayal› yaz›l›m çözümleri gelifltirmek isteyen bütün kifli, kurum ve kurulufllar, ücretsiz olarak yararlanabilecek. Ankara Linux Yetkinlik Merkezi, hafta içi her gün 09:30- 12:00 ve 13:3017:00 saatleri aras›nda kullan›ma aç›k olacak. Merkezde, Linux e¤itimlerinin yan› s›ra IBM'in yaz›l›m gelifltiricilere sundu¤u, Linux, Java, Web Hizmetleri, XML gibi aç›k ve endüstri standartlar›na dayal› teknolojiler ile çözümleri kapsayan DeveloperWorks aktiviteleri yap›lacak. Seminerler, çal›fltaylar ve Linux sohbetleri gerçeklefltirilecek olan merkezde, IBM ve Portakal Teknoloji'nin iflbirli¤iyle e¤itimler düzenlenecek. Linux teknolojik araflt›rma ve gelifltirme seminerleri ise IBM, IBM DeveloperWorks, Labris Teknoloji ve Linux'a destek veren dernekler taraf›ndan ücretsiz olarak gerçeklefltirilecek. Linux Nedir? Linus Torvalds ad›nda bir Finlandiyal›n›n 1991 y›l›nda Helsinki Üniversitesi'nde ö¤renciyken, kiflisel bilgisayar›nda kullanmak üzere gelifltirmeye bafllad›¤› bir iflletim sistemidir. Torvalds, iflletim sisteminin tüm bölümlerine temel servisleri sa¤layan ve sistemin ana unsuru olan ilk "çekirdek"i (kernel) yazd›. Sonra çekirde¤in kodunu internete aktar›p, dünyan›n her taraf›ndan gelifltiricilere katk›lar›n› paylaflmalar› flart›yla ücretsiz olarak sundu. Yaz›l›m, tüm dünyadan birçok programc›n›n deste¤iyle h›zla geliflti ve halen ayn› destekle gelifliyor. Linux, aç›k kaynak kodu sayesinde kullanc› taraf›ndan gelifltirilmeye aç›k, özgür bir yaz›l›md›r. Linux, baflkas›n›n kullan›m›na kapal› olan lisansl› iflletim sistemleriyle karfl›laflt›r›ld›¤›nda, flirketlerin milyarlarca dolar tasarruf etmelerine imkan sa¤lar. Bellibafll› bütün endüstrilerde, milyonlarca kullan›c› taraf›ndan tercih edilen Linux, dünyan›n en h›zl› büyüyen iflletim sistemidir. Merkezin Teknik Özellikleri Merkezde, 8 kiflinin ayn› anda kullanabilece¤i bilgisayarl› s›n›f, 4 adet rack üzerinde kurulu 2’fler CPU’luk IBM xSerisi sunucular›, IBM BladeCenter ve 4 adet IBM Blade sunucusu bulunuyor. Blade suncularda 2 adet JS20 IBM Power ifllemcili, 2 adet HS20 Intel ifllemcili sunucular mevcut. Kullan›c›lar, IBM Power ifllemciler üzerinde çal›flma f›rsat› bularak, bu ifllemciyle Linux üzerinde çal›flan uygulamalar› deneme f›rsat› bulacak. HABER LINUX 13 8-15 2/18/06 8:50 PM Page 8 Bilgi Üniversitesi, Novell e¤itim ifl orta¤› ‹stanbul Bilgi Üniversitesi, Novell'in Türkiye'deki tek Yetkili Test Merkezi ve E¤itim Merkezi oluyor. Bu iflbirli¤iyle Novell'in tüm sertifika s›navlar› ve e¤itimleri ‹stanbul Bilgi Üniversitesi taraf›ndan verilecek. Novell'in dünya çap›nda uygulanmakta olan ve Linux tabanl› çözümlerini desteklemek üzere yüksek kaliteli teknik uzmanl›k sa¤layacak e¤itimler ve sertifika s›navlar› art›k ‹stanbul Bilgi Üniversitesi'nde gerçeklefltirilecek. ‹stanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü’nün dünya yaz›l›m sektörünün lider flirketlerinden Novell ile yapt›¤› iflbirli¤iyle “Bilgi”, Novell Certified Linux Engineer ve Novell Certified Linux Professional Practicum s›navlar›n› yapmaya yetkili tek Novell Practicum Center konumuna gelecek. Türkiye’de Linux'un kazand›¤› ivme sonucunda, Linux uzmanlar›na ihtiyaç da gittikçe art›yor. Bu ihtiyaçlar do¤rultusunda, Novell Certified Linux Engineer (CLE) ve Novell Certified Linux Professional (CLP) sertifika program›n› devreye sokan Novell, Linux alan›nda uzman ve tecrübeli elemanlara kariyerlerinde ilerlemelerine katk› sa¤layacak. Özellikle Linux alan›nda uzmanl›k elde etmek isteyenlerin tercih edece¤i sertifikasyonlar,Türkiye biliflim sektöründe ihtiyaç duyulan nitelikli elemanlar›n istih- dam›na destek olacak. ‹stanbul Bilgi Üniversitesi taraf›ndan verilecek e¤itimler sonucunda Internet üzerinden yap›lan sertifika s›navlar›n› geçenler, BT kariyerlerinde önemli bir ad›m atarak, pek çok biliflim flirketi taraf›ndan tercih edilir konuma gelmifl olacaklar. ‹stanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölüm Baflkan› Chris Stephenson “Yaklafl›k 3 y›ld›r devam etmekte olan Linux Sertifika programlar›m›z, Novell iflbirli¤i sayesinde yeni bir boyut kazan›yor. Özellikle uluslararas› alanda önemli bir yeri ve geçerlili¤i olan Novell E¤itimleri ve Sertifikalar› Türkiye Biliflim sektörüne ciddi bir hareket getirecek.” dedi. Novell EMEA Direktörü Martin Smith yap›lan iflbirli¤ine yönelik flunlar› söyledi: “Novell tüm dünyada oldu¤u gibi Türkiye'de de Linux yat›r›mlar›na devam ediyor. Linux konusunda Türkiye'de öncü kurumlardan biri olan ‹stanbul Bilgi Üniver- sitesi ile olan iflbirli¤imiz bunun somut bir göstergesidir. Novell olarak, bu iflbirli¤inin BT sektörünün geliflimine h›z kazand›raca¤›na inan›yoruz.” Novell Türkiye Ülke Müdürü Gamze Ayd›n iflbirli¤i hakk›nda flunlar› söyledi: “Türkiye'de Linux alan›nda do¤ru ve gerçek bilgiye dayand›r›lan Linux e¤itimleri ve sertifikasyon eksik olan bir konuydu. Ayn› zamanda kiflilerin kariyer planlamalar›nda sertifika sahibi olmak oldukça önemli. Sertifikalar, kiflinin gerçek anlamda bu ifli yapabilirli¤inin belgelenmesi anlam›na geliyor. ‹stanbul Bilgi Üniversitesi Türkiye'deki tek Novell Practicum Center ve Yetkili E¤itim Merkezi olarak, Novell sertifikalar›n›n yayg›nlaflmas›n› sa¤lanacak.” Bu sertifikalar fark yarat›yor! Linux alan›nda Novell Certified Linux Engineer 9, Novell Certified Linux Engineer ve Novell Certified Linux Professional olmak üzere 3 sertifika program› bulunmakta. Eylül ay›nda bafllayan Novell Certified Linux Engineer 9, geliflmifl SUSE LINUX Enterprise Server yönetim yetene¤i elde edilmesini sa¤l›yor. Novell Certified Linux Engineer ise, CLE Practicum s›nav›n› ve SUSE LINUX da¤›t›m›ndaki uzmanl›¤› onaylayan the SUSE Certified Linux Professional sertifikasyonunu kaps›yor. Bu program, kurumlar›n Linux stratejisini konuflland›r›rken ihtiyaç duyulan güvenli teknik bilgiyi art›rmak için tasarland›. 14 HABER LINUX Novell Certified Linux Professional, Linux yöneticisi olmak isteyenlere yönelik bir sertifikasyon program› olma özelli¤ine sahip. Novell CLP, a¤ ortam›na Linux sunucular› yükleme, grup ve kullan›c› yönetimi, SUSE LINUX dosya sistemi sorun giderme, Linux çekirde¤ini yönetme ve derleme, a¤ süreçleri ve servislerinde sorun giderme gibi yeteneklere sahip olundu¤unu gösteriyor. Öte yandan Novell CLP sertifikas› CertCities.com taraf›ndan “10 Hottest Certifications for 2005” aras›nda yer al›yor. Novell CLP, CertCities.com'un BT profesyonellerine yollam›fl oldu¤u okuyucu anketi sonucunda önümüzdeki 12 ay içinde sahip olmay› planlad›klar› ilk 10 sertifika aras›nda yer al›yor. Ayr›ca ‹stanbul Bilgi Üniversitesi'nde yap›lacak olan sertifikasyon s›navlar› aras›nda; Certified Novell Engineer, Master Certified Novell Engineer, Certified Novell Instructor ve Novell Authorized Instructor'da bulunuyor. E¤itimler hakk›nda detayl› bilgiye http://open.bilgi.edu.tr adresinden eriflilebilir. 8-15 2/18/06 8:50 PM Page 9 Özgür Yaz›l›m ve Aç›k Kaynak Günleri 2006 ‹stanbul Bilgi Üniversitesi taraf›ndan gerçeklefltirilen ve IBM Türk'ün her y›l oldu¤u gibi bu y›l da ana sponsorlu¤unu üstlendi¤i etkinlik 24-25 fiubat tarihlerinde gerçekleflecek. Özgür Yaz›l›m ve Aç›k Kaynak Günleri, 2003 y›l›ndan beri Türkiye'den ve dünyan›n dört bir yan›ndan konuklara ev sahipli¤i yaparak Türkiye'de Özgür Yaz›l›m, Linux konular›nda ciddi bir ilgi merkezi olmay› baflard›. Bu y›l "Gelecek:fiimdi" slogan›yla gerçekleflen etkinli¤e kat›lan konuklardan baz›lar› hakk›nda bilgiyi afla¤›da, etkinlik hakk›nda detayl› bilgiyi http://open.bilgi.edu.tr/ freedays adresinde bulabilirsiniz. ret edebilirsiniz. Pardus Geçti¤imiz y›l›n en çok konuflulan konular›ndan biri olan Ulusal Da¤›t›m Projesinin ilk ürünü Pardus bu y›l etkinli¤e "Pardus, Özgür Yaz›l›m ve ‹fl tOSSad projesi Avrupa genelinde da¤›n›k ve bölgesel yürütülen çal›flmalar aras›nda koordinasyonu sa¤layarak, bu alandaki büyük f›rsatlar›n yeterince de¤erlendirilememesine neden olan konulara odaklan›yor. Proje Avrupa Komisyonu taraf›ndan, Avrupa Birli¤i 6. Çerçeve Program› kapsam›nda, Bilgi Toplumu Teknolojileri temas›nca 2005 y›l›nda desteklenmeye uygun görüldü. Türkiye dahil 15 Avrupa ülkesinden aç›k kaynak kodlu yaz›l›mlar konusunda araflt›rma ve gelifltirme yapan 19 farkl› kuruluflun ortak olarak kat›ld›¤› "Koordinasyon Faaliyeti" tipindeki bu projenin koordinatörlü¤ü UEKA taraf›ndan yürütülüyor. Detayl› bilgi için http://tossad.org adresini ziya- Modelleri" ve "Pardus´un ‹ç Yap›s›" bafll›kl› iki sunumla kat›l›yor. Creative Commons Aralar›nda fikri mülkiyetler konusunda uzmanlar›n da bulundu¤u dünyaca tan›nm›fl biliminsan›, sanatç› ve entellektüellerin bulundu¤u bir grup taraf›ndan telif haklar› alan›nda esneklik ve paylafl›m› yayg›nlaflt›rmak amac›yla kurulmufl düflünce hareketine Creative Commons denilmektedir. Dragoslava Pefeva/Bulgaristan, Peter Steuer/Avusturya, Brian Restall/Malta etkinlik kapsam›nda Türkiye'de olacaklar. Ian Murdock Debian GNU/Linux Aç›k Kaynakl› Özgür Yaz›l›m projesinin kurucusu ve ana gelifltiricisi. ‹ki y›l önce de Özgür Yaz›l›m ve Aç›k Kaynak günleri için ülkemizde olan Murdock bu y›l Free Standarts / LSB konusunda bilgilerini aktaracak. Branden Robinson Debian GNU/L‹nux aktif proje lideri olan Robinson "Debian´da Demokrasiyi Gelifltirmek: Condorcet Seçim Yöntemi" sunumuyla Debian severlerin karfl›s›nda olacak. Manon van Leeuwen gnuLinEx proje yöneticilerinden olan Leeuwen, ‹spanya/Extremadura eyaletinde gerçeklefltirilen baflar› öyküsünü izleyenlere aktaracak. AIDS tedavisinde umut ›fl›¤› IBM, "World Community Grid" (‹nsani Yard›m Program›) adl› projesiyle, AIDS hastal›¤›n›n teflhis ve tedavisiyle ilgili araflt›rmalara destek verece¤ini aç›klad›. ‹nsanl›k yarar›na dünyan›n en büyük halka aç›k bilgi ifllem flebekesini oluflturmay› hedefleyen IBM, projeyi, herhangi bir zaman diliminde, dünyada bulunan tahmini 650 milyon kiflisel bilgisayar›n ifllem gücünün yaln›zca çok az›n›n kullan›ld›¤› gerçe¤inden hareketle oluflturdu. World Community Grid, www.worldcommunitygrid.org adresine ba¤lanarak ücretsiz olan yaz›l›m› indiren kiflilere, flirketlere, vak›flara, derneklere, üniversitelere ve kâr amac› gütmeyen kurulufllara, bilgisayarlar›n›n bofla geçen zaman›n› araflt›rmac›lar›n kullan›- m›na açma imkan› sunuyor. AIDS araflt›rmalar›na ayr›lan büyük bir sanal bilgisayar olacak World Community Grid, AIDS hastalar›n›n tedavisinde, ilaçlara direnç gösteren virüse karfl› yeni kimyasal stratejiler gelifltirmek konusunda önemli bir ifllem gücü sa¤layacak. Bu sayede, Scripps Araflt›rma Enstitüsü’nün bünyesinde faaliyet gösteren Olson Laboratuvar›, HIV bulaflan insanlarda AIDS bafllang›c›n› engellemek için daha etkili tedaviler bulmaya odaklanacak. World Community Grid, bil- gisayarlar›n ifllem gücünü h›zl›, kolay ve güvenli bir flekilde, AIDS'in tedavisini bulmak isteyen araflt›rmac›lar›n hizmetine sunuyor. Proje, 100 binden fazla üye taraf›ndan, dünyadaki 165 bin bilgisayar kullan›larak hayata geçiriliyor. Nas›l Kat›labilirsiniz Bilgisayar›n›z› kullanmad›¤›n›z zaman, at›l durumdaki bilgi ifllem gücünü ba¤›fllamak için, basit, güvenli ve ücretsiz bir program› yükleyerek World Community Grid(http://www.worldcommunitygrid.org/)'e kat›labilirsiniz. Program› yüklemek için World Community Grid'in web sitesine do¤rudan girebilirsiniz. HABER LINUX 15 16-17 2/18/06 7:55 PM Page 2 SAHNEDE Türkiye Bilimsel ve Teknolojik Araflt›rma Kurumu (TÜB‹TAK) Ulusal Elektronik ve Kriptoloji Araflt›rma Enstitüsü (UEKAE) bünyesinde yürütülen Uluda¤ Projesi kapsam›nda gelifltirilen Par- 16 HABER LINUX dus'un 1.0 sürümü 26 Aral›k 2005 tarihinde kamuoyuna duyuruldu. Gelifltirilmeye bafllad›¤› günden beri ciddi bir ilgi ile izlenen, ön sürümleri ile önemli bir etki b›rakan Pardus, 1.0 sürümü ile beklentileri bofla ç›kartmayaca¤›n› gösterdi. ‹lk ay içinde çeflitli sunucularda 25.000'in üzerinde indirilen bu ilk kararl› sürüm, Yap›land›rma Yöneticisi ÇOMAR (COnfiguration MAnageR), Paket Yö- netim Sistemi P‹S‹ (Packages Installed Successfully as Intended), Linux Kurulum Arac› YALI (Yet Another Linux Installer) gibi Ulusal Da¤›t›m alt projelerinin ilk sürümleri ile birlikte özgür yaz›l›m dünyas›n›n önemli projelerinden KDE, Firefox, OpenOffice.org ve daha onlarcas›n›n en güncel sürümlerini içeriyor. Türkçe ile uyumluluk konusunda varolan Linux da¤›t›mlar› aras›nda da flimdiden alternatifsiz bir hale gelen Pardus, yak›n bir gelecekte Türkiye'nin iflletim sistemi olmaya aday. uludag.org.tr adresinde, "Neden Pardus?" sorusuna verilen cevaplar Linux'u ve özellikle Pardus'u anlamak , anlatmak için birebir. 16-17 2/18/06 7:55 PM Page 3 HABERLER Neden Pardus? Özgür bir sistem. Lisans› sizi k›s›tlamak, üreticiyi sizden korumak için de¤il sizin haklar›n›z› korumak için tasarlanm›fl. Bilginin evrensenli¤ine dayan›yor. Virüs bulaflmaz, böylece siz de internetten gelen her dosyay› bilgisayar›n›za yükledi¤iniz onlarca yaz›l›mla kontrolden geçirmek, zaman ve enerji harcamak zorunda olmadan bilgisayar kullanman›n keyfini sürebilirsiniz. Ücretsiz olarak temin edebilir, kullanabilir ve arkadafllar›n›za da verebilirsiniz. H›rs›zl›k yapm›fl, suç ifllemifl olmazs›n›z, BSA kap›n›za dayanmaz. Kurulumu en fazla 30 dakika sürer ve ofis yaz›l›m›, internet gezgini, sohbet program›, resim iflleme program›, CD/DVD basma yaz›l›m›, müzik çal›c›, vb. tüm programlar sisteminize.kurulmufl olur. Tek seferde, tek bir CD ile... Özellefltirilebilir bir sistem. Hayal gücünüz ölçüsünde sistemi kendi be¤enilerinize göre de¤ifltirebilirsiniz. Yeni temalar yüklemek için ayr› yaz›l›mlar, ücretler gerekmez. Çok kullan›c›l› bir sistem. Ayn› bilgisayar› farkl› ayarlar ve seçimler ile birden çok kiflinin kullanmas› durumlar›nda herkesin tercihleri ve kiflisel dosyalar› güvenli biçimde ayr› ayr› saklan›r. Aç›k kaynak kodlu. Kendi ihtiyaçlar›n›za göre her yönüyle de¤ifltirme, dönüfltürme, ölçeklendirme flans›n›z var. Linux dünyas›n›n yenili¤ini keflfetmek çok iyi bir deneyim olabilir. Masaüstü bilgisayarlar›n›n yetenekleri konusunda yaflad›¤›n›z günün teknolojisini kullanmak istemez misiniz? Çok dil desteklidir, kurulu bir Pardus, ayr› ayr› CD'ler ile tekrar tekrar yükleme yapmadan iki dokunuflla Türkçe'den ‹ngilizce'ye dönüflür. Herhangi baflka bir dilin deste¤ini eklemek de son derece kolayd›r. E¤lenceli bir sistem, Size yolunuzu bulmada yard›mc› Kaptan Masaüstü, sisteminizde yüklü yaz›l›mlar› düzenleyen PiSi ve hayat›n›z› kolaylaflt›ran ÇOMAR'la mutlaka tan›flmal›s›n›z. Sistem Türkçe kullan›ld›¤›nda metin yazarken oldu¤u gibi e-posta ya da h›zl› mesaj (msn, icq vs.) yazerken de Zemberek sayesinde Türkçe imla denetimi gibi olanaklar›n ne kadar kullan›fll› oldu¤unu görmelisiniz... HABER LINUX 17 18-19 2/18/06 7:56 PM Page 2 Merhaba. Bundan böyle bu köflede sizlere baflta bash ve di¤er kabuklar olmak üzere, GNU/Linux dünyas›nda hayat›n›z› oldukça kolaylaflt›rabilecek küçük numaralar gösterece¤iz. Kolay kurulan, hatta daha bile kolay güncellenen GNU/Linux da¤›t›mlar›n›n ça¤›nda, shell (ya da kabuk) hala bir s›r gibi gizemini korumakta, özellikle de yeni bafllayanlar için. Evet yanl›fl anlamad›n›z, hani flu filmlerde siyah ekran üzerine yeflil parlayan harflerin durdu¤u komut sat›r›ndan bahsediyorum ve o meflhur devaml› yan›p sönen imleç, devaml› sizden bir fley bekleyen fakat ne bekledi¤ine dair en ufak bir ipucu bile vermeyen komut sat›r›ndan. Peki neden böyle? Yani madem kabuk bu kadar iyi de, niye pek sevilmiyor. Sebebi asl›nda çok basit, malum; t›rt›l›n ölüm dedi¤ine usta kelebek dermifl. 18 HABER LINUX Yukarda kabaca tan›m›n› yapt›¤›m›z ve birçoklar›n›z›n -tahminenkaç›nd›¤› komut sat›r›, Linux (ve di¤er Unix varyanlar› için) çok önemli, dahas› çok da güçlü bir araçt›r. Hem de en eski kullan›c› arayüzlerinden biri olmas›na ra¤men. Burada sizlere bash özelinde komut sat›r›n›n özelliklerinin basitçe tan›tacak, birbirlerine eklendiklerinde çok basit gözüken komutlar›n ne kadar etkin olabildiklerini gösterece¤iz. Umar›z bu yaz›dan sonra konsolunuza baflka bir gözle bakacaks›n›z. Basitten bafllayal›m isterseniz; fiu komutu girin; cat dosya.txt (tabi dosya.txt diye bir dosyan›n ayn› dizinde oldu¤unu düflünüyoruz, yoksa da lütfen birkaç sat›rl›k bir text dosyas› oluflturun bu isimle) Sözkonusu dosya bir ekrandan daha uzun ise, geçmifl olan sayfalara shift-pageup konbinasyonu ile ulaflabilirsiniz, veya: cat dosya.txt .txt|more komutunu verdi¤inizde, bu sayfalar›n sizi bir sonraki sayfaya geçmek üzere bekledi¤ini görürsünüz. Daha iyi bir komut; cat dosya.txt|less Burada | iflareti ile kulland›¤›m›z bu tekni¤e, piping denir. Yani bir komutun ç›kt›s›n› bir di¤er komuta girdi olarak yönlendirme. Cat komutu text dosyan›z›n içeri¤ini okur ve onu ascii karakterler olarak ekrana (standart ç›kt›birimine) basar ve less komutu da bu ç›kt›y› sayfalara böler. Bu arada akl›n›zda olsun less her zaman için more'dan daha iyi bir komuttur fakat her Unix sistemde bulamayabilirsiniz. Herne kadar bu basit bir teknik olsa da di¤er komutlarla biraraya geldi¤inde birçok ifl için kullan›labilir. Mesela ayn› döküman›n içinde kaç sat›r oldu¤unu saymak için cat dosya.txt | wc -l komutunu kullanabiliriz. fiimdi örne¤imizi biraz daha ge- 18-19 2/20/06 1:48 PM Page 3 olarak verir: Diyelim ki as›l ilgilendi¤imiz hangi domainlerden bize e-posta at›ld›¤›, kimin att›¤› de¤il, o zaman birazc›k daha de¤iflik bir komut sat›r› gerekmekte; Bu say›da son olarak bash'in programlama yap›lar›na bir göz at›p bitirelim. Programlama dediysek, çok basit olarak iflinizi görecek bir yap› gösterece¤iz sadece. Bu birçok programlama dilinde karfl›laflt›¤›n›z for...next döngüsünün bir benzeri. Diyelim ki bulundu¤unuz dizindeki her dosya ile ilgili bir fley yapman›z laz›m. Bunu bash'le küçük bir döngü haline getirmek çok kolay: cat maillist.txt|cut -d "@" -f for i in `ls ` ; do echo $i 2|sort|uniq done ayn@mydomain.cot Gördü¤ünüz gibi yeni bir oyuncumuz var sahnede 'cut' komutu. Cut basitçe herhangi bir sat›rdan baz› bölgeleri ay›rman›z› sa¤lar. Bunu genellikle belli bir karakterle ay›rarak yapars›n›z. Bizim örne¤imizde domain isimleri bütün epostalarda oldu¤u gibi @ karakterinden sonra gelir. Dolay›s›yla cut -d "@" bu ifli yapar. -f 2 ise, bu ayr›lm›fl sat›rdan ikinci bölümü almam›za imkan tan›r. Bunu illa da böyle yapmak zorunda de¤ildik, belli bir karakter pozisyonundan sonras›n› da almam›z mümkündü. E¤er ilk seferde örne¤i anlamak zor geldiyse önce flunu deneyin: tera@yourdomain.cot cat maillist.txt|cut -d "@" -f eddie@three.cot 2 Diyelim ki bu listeyi ekrana ç›kartt›k, ama as›l istedi¤imiz bir dosyaya yazd›rmak. Çok kolay anlafl›l›r fakat bir o kadar da güçlü bir kullan›m. Beraberce ne yapt›¤›na bakal›m. "for i in `ls` " komutu ile dizindeki bütün dosyalar›n isimlerini al›yoruz ve bunlar› döngü içinde birer birer $i de¤iflkenine yerlefltiriyoruz. Bundan sonra verece¤imiz komuta argüman olarak $i kullan›p istedi¤imiz bütün ifllemleri yapt›rabiliriz; "do komut $i" ile ve iflimiz bitti¤inde de döngüyü bitirmek için "done" komutunu veririz. Bu arada program yaz›yor olsak herbirini bir sat›rda yazmam›z gereken komutlar› tek bir sat›rda verebilmek için ; kulland›¤›m›za ve `` tek t›rnaklar›n yönüne dikkat etmeniz iyi olur. ` tek t›rna¤› shellde bir komutu çal›flt›rmak ve ç›kt›s›n› kullanmak için uygulan›r. Mesela bu komut ile dizindeki bütün *.tar.bz2 dosyalar›n›n içeriklerini görebilirsiniz: cat maillist.txt|cut -d "@" -f for i in `ls *.tar.bz2 `; do 2 > domainlist.txt tar -jtvf $i Yapt›¤›m›z, ç›kt›y› ekrana de¤il, domainlist.txt dosyas›na yönlendirmek oldu. > ve < komutlar› yönlendirme yaparlar (iflaret ettikleri yönde) Gördü¤ünüz gibi komut sat›r›nda sizin iflinizi kolaylaflt›rmak için birçok araç vard›r. Bu biraz legolarla bir fleyler infla etmeye benzer. Elinizin alt›ndaki parçalar› (komutlar›) ne kadar çok tan›rsan›z, onlar›n potansiyelinin ve onlar› kullan›rkenki kendi potansiyelinizin fark›nda olursunuz. Bu yaz›da size, basitçe komut sat›r›n› kullanmay›, pipe ve yönlendirme yöntemlerini, son olarak da basit bir döngüyle birçok dosya için ayn› ifllemi yapt›rmay› gösterdik. Gördü¤ünüz gibi otomatik hale getirilebilecek bir ifl yap›yorsan›z, birçok durumda GUI yerine, shell kullanman›z çok daha kolay ve h›zl› olacakt›r. Gelecek say›da yeni shell numaralar› ile birlikte olmak üzere, hoflçakal›n. ayn@mydomain.cot eddie@three.cot ronald@darktower.cot tera@yourdomain.cot cat maillist.txt|sort|uniq|wc l niflletelim. Diyelim ki flöyle bir e-posta listeniz var; ayn@mydomain.cot ronald@darktower.cot eddie@three.cot tera@yourdomain.cot ve bu listenin -örnek olmas› aç›s›ndan- çok da uzun oldu¤unu düflünün. H›zl› bir bak›flla görüyoruz ki örne¤imizin içinde tekrar eden sat›rlar var. Halbuki bizim istedi¤imiz bu listede tam olarak hangi e-postalar›n oldu¤u, yani tekrar edenleri bir kenara atmak istiyoruz. verece¤imiz komut zinciri: cat maillist.txt|sort|uniq Bu komut maillist.txt dosyas›n›n ç›kt›s›n› sort komutuna gönderir, bu komut sözkonusu sat›rlar› altalta alfabetik olarak dizer (bu sayede ayn› sat›rlar altalta gelir) ve ard›ndan uniq komutu da bu ardarda gelen sat›rlardan sadece bir tanesini al›r ve bize ç›kt› ; ; done HABER LINUX 19 20-26 2/18/06 7:56 PM Page 2 Ajax Üzerine Ayr›nt›l› Bir ‹nceleme 20 HABER LINUX 20-26 2/18/06 7:56 PM Page 3 Web sitesi oluflturma konusunda verimli bir yaklafl›m olan Ajax’› ve nas›l çal›flt›¤›n› anlamak Düzey: Girifl | Brett McLaughlin (brett@oreilly.com), Yazar ve Editör, O'Reilly ve Ortaklar› HTML, JavaScript teknolojisi, DHTML ve DOM’dan oluflan Ajax, eski ve hantal Web arabirimlerini etkileflimli Ajax uygulamalar›na dönüfltürmenizi sa¤layan önemli bir yaklafl›m. Ajax uzman› olan yazar, bu teknolojilerin birlikte çal›flarak Web gelifltirmesinde çok verimli sonuçlar elde edilmesinin kolay bir gerçekli¤e nas›l dönüfltürüldü¤ünü genel bilgilerden bafllay›p daha ayr›nt›l› bilgelere geçerek göstermekte. Ayr›ca, XMLHttpRequest nesnesi gibi Ajax’›n temel kavramlar›na da ›fl›k tutuyor. Befl y›l önce, XML bilginiz yoksa, kimsenin konuflmad›¤› çirkin ördek yavrusu gibi görülürdünüz. On sekiz ay önce, Ruby gündeme geldi ve Ruby konusunda bilgisi olmayan programc›lar›n, ifl arkadafllar›n›n ayaküstü sohbetlerine kat›lmas› bile zordu. Bugün, en son teknoloji furyas›na kap›lmak istiyorsan›z, ifle Ajax ile bafllaman›z gerekiyor. Bununla birlikte, Ajax yaln›zca gelip geçici bir ak›m de¤ildir; web sitesi gelifltirmek konusunda güçlü bir yaklafl›md›r ve yeni bir dili ö¤renmek kadar zor de¤il. Ajax’› derinlemesine incelemeye bafllamadan önce, Ajax’›n neler yapt›¤›n› anlamak için birkaç dakikam›z› ay›ral›m. Bugün bir uygulama yazarken, iki temel seçim olana¤›n›z var: • Masaüstü uygulamalar› • Web uygulamalar› Her iki tip uygulama da bilinen uygulamalar; masaüstü uygulamalar› genellikle bir CD’de gelir (ya da bazen bir Web sitesinden yüklenir) ve bilgisayar›n›za tam olarak kurulur. Güncellemeleri yüklemek için Internet’i kullanabilirler, ancak bu uygulamalar› çal›flt›ran kod masaüstünüzde yer al›r. Web uygulamalar›ysa, sizin de bildi¤iniz gibi, baflka bir yerdeki bir Web sunucusu üzerinde çal›fl›r ve uygulamaya Web taray›c›n›zla eriflirsiniz. Asl›nda, bu uygulamalar›n kodlar›n›n nerede çal›flt›¤›ndan daha önemli olan, uygulamalar›n nas›l iflledi¤i ve bunlarla nas›l etkileflim kurdu¤unuzdur. Masaüstü uygulamalar› genellikle oldukça h›zl›d›r (çünkü bilgisayar›n›zda çal›fl›rlar; Internet ba¤lant›s› beklemezsiniz), büyük kullan›c› arabirimleri (genellikle iflletim sisteminizle etkileflim halinde olurlar) içerirler ve inan›lmaz derecede dinamiktirler. T›klatma, iflaretleme, yazma, menüleri ve alt menüleri ç›karma ve gezinme yoluyla neredeyse hiç beklemeden çal›flabilirsiniz. Di¤er yandan, Web uygulamalar› genellikle saniyesi saniyesine günceldir ve asla masaüstünüze alamayaca¤›n›z hizmetler sa¤larlar (Amazon.com ve eBay’i düflünün). Ancak, Web’in gücünün yan›nda beklemek de vard›r; sunucunun yan›t vermesini, ekran›n yenilenmesini, iste¤in geri gelmesini ve yeni sayfa yaratmas›n› beklersiniz. Tabii bu anlat›m biraz fazla basitlefltirme oldu ancak ana fikri alm›fl oldu¤unuzu düflünüyorum. Sizin de tahmin edebilece¤iniz gibi, Ajax bir masaüstü uygulamas›n›n ifllevselli¤i ve etkileflimi ile her zaman güncellenen bir Web uygulamas› aras›ndaki mesafeyi kapatmaya çal›fl›r. Bir masaüstü uygulamas›nda bulabilece¤inize benzer dinamik kullan›c› arabirimleri ve hofl denetimler kullanabilirsiniz, ama bunlar size Web uygulamas›nda sunulur. Bu durumda daha ne bekliyorsunuz? Ajax’a göz atmaya bafllay›n; eski ve hantal Web arabirimlerinizi h›zl› yan›t veren Ajax uygulamalar›na dönüfltürün. Eski teknoloji, yeni numaralar Ajax birçok teknolojiyi içerir, temel olanlar› geçerek baz› farkl› teknolojileri daha ayr›nt›l› olarak incelemeniz gerekir (bu nedenle, bu dizideki ilk birkaç yaz›da bu teknolojilerden her birini ay›raca¤›m). Bu teknolojilerden birço¤u hakk›nda zaten yeterli bilginiz oldu¤unu san›yorum (daha da güzeli, bu ayr› teknolojilerin birço¤unu ö¤renmek kolayd›r); en az›ndan iflimiz Java ya da Ruby gibi tüm bir programlama dilini ö¤renmek kadar zor olmayacak. Ajax tan›m› Bu arada, Ajax, Asynchronous JavaScript ve XML (ve DHTML vb.) terimlerinin k›sa yaz›l›fl›d›r. Terim, Adaptive Path’ten (bkz. Kaynaklar) Jesse James Garrett taraf›ndan kullan›lm›flt›r ve Jesse’ye göre, bir k›saltmay› ifade etmez. Afla¤›da Ajax uygulamalar›nda bulunan temel teknolojiler verilmifltir: • HTML, Web formlar› oluflturmak ve uygulaman›z›n geri kalan›nda kullan›lacak alanlar› belirlemek için kullan›l›r. • JavaScript kodu, Ajax uygulamalar›n› çal›flt›ran esas koddur ve sunucu uygulamalar›yla iletiflimi kolaylaflt›r›r. • DHTML ya da Dynamic HTML formlar›n›z› dinamik olarak güncellemenizi sa¤lar. div, span, ve di¤er dinamik HABER LINUX 21 20-26 2/18/06 7:56 PM Page 4 Sonra, sunucu, verileri bunlarla ne yap›laca¤›na karar verecek olan JavaScript kodunuza geri gönderir (hala Web formunun yerine çal›fl›r). JavaScript kodu form alanlar›n› h›zl› bir flekilde güncelleyebilir, bu flekilde uygulaman›z›n h›zl› oldu¤u izlenimini verir (kullan›c›lar formlar› gönderilmeden ya da yenilenmeden yeni verileri al›rlar). Hatta JavaScript kodu, kullan›c›n›n müdahalesi olmadan, verileri alabilir, baz› hesaplamalar yapabilir ve baflka bir istek gönderebilir! Bu, XMLHttpRequest nesnesinin gücüdür. Kullan›c› fark›nda bile olmadan bu nesne, istedi¤i bir sunucuyla iletiflim kurabilir. Sonuç, arkas›nda yatan Internet teknolojisinin gücüyle, bir masaüstü uygulamas› gibi dinamik, h›zl› yan›t veren, yüksek düzeyde etkileflimli bir deneyimdir. JavaScript ekleme HTML ö¤elerini kullanarak HTML ö¤elerinizi biçimlendirirsiniz. • DOM, Document Object Model (Belge Nesne Modeli), hem HTML yap›s›, hem de (baz› durumalarda) sunucudan dönen XML yap›s›yla çal›flmak için kullan›l›r (JavaScript kodu arac›l›¤›yla). fiimdi bunlar› ay›ral›m ve her birinin neler yapt›¤›na daha yak›ndan bakal›m. Bu teknolojilerden her birini daha sonraki yaz›lar›mda derinlemesine ele alaca¤›m; flu anda bu bileflenleri ve teknolojileri tan›maya odaklanal›m. Bu kod hakk›nda ne kadar çok fley bilirseniz, bu teknolojilerle ilgili genel geçer bilgilerden her birini ustal›kla kullanmaya (ve Web uygulamas› gelifltirme yeteneklerinizi zenginlefltirmeye) geçifliniz daha kolay olacakt›r. XMLHttpRequest nesnesi Anlamak istedi¤iniz ilk nesne büyük olas›l›kla sizin için en yeni olan XMLHttpRequest adl› nesnedir. Bu bir JavaScript nesnesidir ve Liste 1’de gösterildi¤i kadar basit bir flekilde yarat›labilir. Liste 1. Yeni bir XMLHttpRequest nesnesi yaratma <script language="javascript" type="text/javascript"> var xmlHttp = new XMLHttpRequest(); </script> Bir sonraki yaz›mda, bu nesneyi daha ayr›nt›l› ele alaca¤›m, ama flimdilik bu nesnenin tüm sunucu 22 HABER LINUX iletifliminizi yürüten nesne oldu¤unu anlaman›z önemli. Di¤er konuya geçmeden önce, sunucuyla iletiflim kuran›n XMLHttpRequest nesnesi yoluyla JavaScript teknolojisi oldu¤unu düflünün. Bu normal uygulama ak›fl› de¤ildir ve Ajax’›n sihiri büyük ölçüde buradan gelir. Normal bir Web uygulamas›nda, kullan›c›lar form alanlar›n› doldurur ve bir Submit (Gönder) dü¤mesini t›klat›r. Sonra, formun tamam› sunucuya gönderilir, sunucu bir komut dosyas›n› ifllemeye geçer (genellikle PHP ya da Java ya da belki bir CGI ifllemi ya da benzeri) ve komut dosyas› tamamland›¤›nda, sunucu geriye yepyeni bir sayfa gönderir. Bu sayfa, baz› verilerle doldurulmufl yeni bir form içeren HTML olabilir, bir onay olabilir ya da belki, özgün forma girilen verilere göre seçilen baz› seçenekleri içeren bir sayfa olabilir. Tabii ki, sunucudaki komut dosyas› ya da program ifllem yaparken ve yeni bir form döndürürken, kullan›c›lar›n beklemesi gerekir. Bu s›rada ekran bofl kal›r ve sunucudan veri geri geldikçe yeniden dolar. ‹flte düflük etkileflimin ortaya ç›kt›¤› yer buras›d›r; kullan›c›lar an›nda geribildirim almaz ve kesinlikle bir masaüstü uygulamas›nda çal›fl›yorlarm›fl gibi hissetmezler. Ajax temelde JavaScript teknolojisini ve XMLHttpRequest nesnesini Web formunuz ile sunucu aras›na koyar. Kullan›c› formlar› doldurdu¤unda, veriler do¤rudan sunucuya de¤il birtak›m JavaScript koduna gönderilir. Sunucunun yerine, JavaScript kodu form verilerini al›r ve sunucuya bir istek gönderir. Bu s›rada, kullan›c› ekran›ndaki form yan›p sönmez, ekrandan gitmez ya da ekranda donup kalmaz. Di¤er bir deyiflle, JavaScript kodu iste¤i arka planda gönderir; hatta kullan›c› istek yap›ld›¤›n› bile fark etmez. Daha da güzeli, istek eflzamanl› olmadan gönderilir; yani, JavaScript kodunuz (ve kullan›c›) sunucunun yan›t vermesini beklemez. Bu nedenle, veri girmeyi, gezinmeyi ya da uygulamay› kullanmay› sürdürebilirler. XMLHttpRequest nesnesini nas›l kullanaca¤›n›z› ö¤rendikten sonra, JavaScript kodunuzun geri kalan› oldukça s›radan gelir. Asl›nda, JavaScript kodunu yaln›zca birkaç temel görev için kullan›rs›n›z: • Form verilerini alma: JavaScript kodu HTML formunuzdan veri almay› ve bunlar› sunucuya göndermeyi kolaylaflt›r›r. • Formdaki de¤erleri de¤ifltirme: Alan de¤erlerini belirlemek, görüntüleri h›zl› bir flekilde de¤ifltirmek gibi form güncelleme ifllemlerini gerçeklefltirmek de basittir. • HTML ve XML ayr›flt›rma: JavaScript kodunu DOM’u ifllemek (sonraki bölüme bak›n) ve HTML formunuzun ve sunucunun döndürdü¤ü XML verilerinin yap›s›yla çal›flmak için kullan›rs›n›z. ‹lk iki madde için, Liste 2’de gösterildi¤i gibi getElementById() yöntemini ö¤renmek isteyebilirsiniz. Liste 2. JavaScript koduyla alan değerlerini alma ve belirleme // Get the value of the "phone" field and stuff it in a variable called phone var phone = document. getElementById("phone").value; // Set some values on a form using an array called response document.getElementById("order"). value = response[0]; document.getElementById ("address").value = response[1]; Burada çok dikkate de¤er birfley yok ve bu bizim için iyi. San›r›m bu konunun çok karmafl›k bir taraf› olmad›¤›n› fark etmeye bafllad›n›z. XMLHttpRequest nesnesini iyice ö¤rendikten sonra, Ajax uygulaman›z›n geri kalan›n›n büyük bir bölümü, Liste 2’de gösterildi¤i gibi biraz ak›ll› HTML ile kar›fl›k basit JavaScript kodu olacakt›r. Sonra, zaman zaman biraz DOM ifli olur. Bu yüzden flimdi DOM’a geçelim. DOM ile bitirme Son olarak ayn› derecede önemli DOM’u, yani Belge Nesne Modelini (Document Object Model) ele alaca¤›z. Baz›lar›n›z için DOM konusunun 20-26 2/18/06 7:56 PM Page 5 aç›lmas› biraz ürkütücü olabilir, çünkü DOM, HTML tasar›mc›lar› taraf›ndan çok s›k kullan›lmaz ve JavaScript kodlay›c›lar› için, özellikle de gerçekten bir tak›m üst uç programlama iflleriyle u¤raflm›yorlarsa biraz de¤ifliktir. DOM’un en fazla kullan›ld›¤› alan yo¤un emek gerektiren Java ve C/C++ programlar›d›r; iflte tam da bu nedenle DOM’u ö¤renmenin zor oldu¤una inan›l›r. Neyse ki, DOM’u JavaScript teknolojisinde kullanmak kolayd›r. Bu noktada, normal olarak size DOM’un nas›l kullan›laca¤›n› gösterirdim ya da en az›ndan birkaç kod örne¤i verirdim, ancak bu bile yanl›fl yönlendirici olabilirdi. Görüyorsunuz, DOM konusunu fazla kurcalamadan Ajax konusunda yeterince bilgi sahibi olabilirsiniz, size de bu yolu gösterece¤im. DOM konusunu daha sonraki bir yaz›mda ele alaca¤›m, flimdilik, yaln›zca DOM’un iflin içinde oldu¤unu bilmeniz yeterli. XML’i JavaScript kodunuz ve sunucu aras›nda geri gönderip yeniden ald›¤›n›zda ve HTML kodunu gerçekten de¤ifltirdi¤inizde, DOM konusuna yeniden gireceksiniz. fiimdilik, DOM olmadan devam ederek Ajax konusunda yararl› fleyler ö¤renmek kolay olaca¤›ndan DOM’u d›flar›da b›rakal›m. ‹stek nesnesi alma Konuyla ilgili genel bir bak›fl sahibi oldu¤unuz için flimdi baz› özel konulara geçebilirsiniz. Ajax uygulamalar›n›n merkezinde XMLHttpRequest oldu¤undan ve bu kavram büyük olas›l›kla birço¤unuz için yeni oldu¤undan, konuya buradan bafllayaca¤›m. Liste 1’de gördü¤ünüz gibi, bu nesneyi yaratmak ve kullanmak oldukça kolay, de¤il mi? Bir dakika bekleyin. Birkaç sene öncesinde yaflanan can s›k›c› taray›c› savafllar›n› ve taray›c›lar›n hiçbirinin ayn› flekilde çal›flmad›¤›n› hat›rl›yor musunuz? ‹ster inan›n, ister inanmay›n ama bu savafllar daha küçük ölçekli de olsa hala sürüyor. Ve sürpriz: XMLHttpRequest bu kavgan›n kurbanlar›ndan biridir. Bu nedenle, bir XMLHttpRequest nesnesini çal›flt›rmak için birkaç farkl› fley yapman›z gerekiyor. Size bu ifllemleri ad›m ad›m gösterece¤im. Microsoft taray›c›lar›yla çal›flma Microsoft'un taray›c›s› olan Internet Explorer, XML ifllemlerinde MSXML ayr›flt›r›c›s›n› kullan›r (MSXML hakk›nda daha fazla bilgi için Kaynaklar bölümüne bakabilirsiniz). Bu nedenle, Internet Explorer üzerinde çal›flacak Ajax uygulamalar› yazarken, nesneyi belirli bir yolu izleyerek yaratman›z gerekir. Ancak, bu ifl bu denli kolay de¤ildir. Internet Explorer’da kurulu olan JavaScript teknolojisinin sürümüne ba¤l› olarak, MSXML’in etrafta dolaflan iki farkl› sürümü vard›r; bu nedenle, yazaca¤›n›z kodun her iki durum için de kullan›fll› olmas› gerekir. Microsoft taray›c›lar›nda XMLHttpRequest nesnesi yarat›rken kullanman›z gereken kodlar için Liste 3’e bak›n. xmlHttp = new ActiveXOb ject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXOb ject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } Tüm bunlar›n henüz tam olarak birfley ifade etmemesi normaldir. Bu dizi bitmeden önce JavaScript programlama, hata yönetimi, koflullu derleme ve baflka birçok konu hakk›nda derinlemesine bilgi sahibi olmufl olacaks›n›z. fiimdilik, afla¤›daki iki temel sat›r› ö¤renmeniz yeterlidir: xmlHttp = new ActiveXOb ject("Msxml2.XMLHTTP"); ve xmlHttp = new ActiveXObject("Micro soft.XMLHTTP");. Birkaç sözcükle toparlayacak olursak, bu kod nesneyi MSXML sürümlerinden birini kullanarak yaratmaya çal›fl›r; nesneyi bu flekilde yaratamazsa, di¤er sürümü kullanarak yarat›r. Güzel de¤il mi? Bu yöntemlerden hiçbiri ifle yaramazsa, xmlHttp de¤iflkeni false (yanl›fl) olarak belirlenerek kodunuza birfleyin çal›flmad›¤› bildirilir. Bu durumla karfl›lafl›rsan›z, büyük olas›l›kla Microsoft d›fl› bir taray›c›n›z vard›r ve ifli yapmak için farkl› bir kod kullanman›z gerekir. Mozilla ve Microsoft d›fl› taray›c›larla çal›flma Taray›c› olarak Internet Explorer’› tercih etmiyorsan›z ya da Microsoft d›fl› taray›c›lar için kod yaz›yorsan›z, farkl› bir kod gereklidir. Asl›nda, Liste 1’de gördü¤ünüz gerçekten basit olan kod sat›r› iflinizi görür: var xmlHttp = new XMLHttpRequest ob ject;. Daha basit olan bu sat›r, Mozilla, Firefox, Safari, Opera ve bir flekilde Ajax’› destekleyen Microsoft d›fl› birçok taray›c›da bir XMLHttpRequest nesnesi yarat›r. Özet ‹flin püf noktas› tüm taray›c›lar›n desteklenmesidir. Kim yaln›zca Internet Explorer’da ya da yaln›zca Windows d›fl› taray›c›larda çal›flan bir uygulama yazmak ister ki? Daha da kötüsü, uygulaman›z› iki kere yazmak ister misiniz? Tabii ki hay›r! ‹flte bu nedenle, kodunuz hem Internet Explorer, hem de Microsoft d›fl› taray›c›lar› destekler. Liste 4 bunu yapmak için gerekli olan kodu gösterir. Liste 4. XMLHttpRequest nesnesini birden çok tarayıcı için yaratma /* Create a new XMLHttpRequest object to talk to the Web ser ver */ var xmlHttp = false; /*@cc_on @*/ /*@if (@_jscript_versi on >= 5) try { xmlHttp = new Active XObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new Acti veXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } @end @*/ if (!xmlHttp && typeof XMLHttpRequest != 'un defined') { xmlHttp = new XMLHttpRequest(); } fiimdilik, aç›klamalar› ve @cc_on; gibi garip etiketleri göz ard› edin; bunlar yaln›zca XMLHttpRequest üzerine yazaca¤›m bir sonraki makalemde derinlemesine inceleyebilece¤iniz özel JavaScript derleyici komutlar›d›r. Bu kodun temeli üç ad›ma ayr›l›r: 1. Yarataca¤›n›z XMLHttpRequest nesnesine baflvuruda Liste 3. Microsoft tarayıcılarında XMLHttpRequest nesnesi yaratma var xmlHttp = false; try { HABER LINUX 23 20-26 2/18/06 7:56 PM Page 6 mel anahatt› izleyeceksiniz: 1. Web formunda gerek duydu¤unuz tüm verileri al›n. 2. Ba¤lan›lacak URL’yi oluflturun. 3. Sunucuyla bir ba¤lant› aç›n. 4. Sunucuya ifli tamamland›¤›nda çal›flt›rmas› için bir ifllev belirleyin. 5. ‹ste¤i gönderin. Liste 5 bu ifllemleri bu s›rayla gerçeklefltiren bir Ajax yöntemi örne¤ini gösterir: bulunan bir xmlHttp de¤iflkeni yarat›n. 2. Nesneyi Microsoft taray›c›lar›nda yaratmay› deneyin: • Nesneyi Msxml2.XMLHTTP nesnesini kullanarak yaratmay› deneyin. • Bu sonuç vermezse, nesneyi Microsoft.XMLHTTP nesnesini kullanarak yaratmay› deneyin. 3. xmlHttp hala oluflturulmad›ysa, nesneyi Microsoft d›fl› bir yöntemi kullanarak yarat›n. Bu ifllemin sonunda, kullan›c›lar›n›z hangi taray›c›y› kullan›yor olursa olsun, xmlHttp, geçerli bir XMLHttpRequest nesnesine baflvuruda bulunmal›d›r. Güvenlik hakk›nda Peki ya güvenlik? Günümüzde taray›c›lar kullan›c›lara güvenlik düzeylerini yükseltme, JavaScript teknolojisini devre d›fl› b›rakma ve taray›c›lar›ndaki istedikleri seçenekleri devre d›fl› b›rakma yetene¤ini sunuyor. Bu gibi durumlarda, büyük olas›l›kla kodunuz hiçbir koflulda çal›flmayacakt›r. Bu durumlar için, sorunlar› dikkatli bir flekilde ele alman›z gerekir; bu en az›ndan bafll› bafl›na bir yaz› konusu ve 24 HABER LINUX daha sonra ele alaca¤›m (uzun bir dizi olacak, de¤il mi? Ama endiflelenmeyin, tamamlamadan önce bunlar›n tümünü çok iyi ö¤reneceksiniz). fiimdilik, yazd›¤›n›z kod dayan›kl›, ama mükemmel de¤il; bu kadar› bile Ajax’a bafllang›ç için büyük bir ad›m. Daha ince ayr›nt›lara tekrar döneceksiniz. Ajax dünyas›nda ‹stek/Yan›t fiimdi Ajax’› kavrad›n›z ve XMLHttpRequest nesnesi ve bu nesnenin nas›l yarat›ld›¤› konusunda fikir sahibisiniz. Daha dikkatli okuduysan›z, sunucudaki Web uygulamalar›yla iletiflim kuran›n, do¤rudan ilgili uygulamaya sunulan HTML formu de¤il, JavaScript teknolojisi oldu¤unu fark etmiflsinizdir. Burada eksik kalan nokta nedir? XMLHttpRequest nesnesinin gerçekte nas›l kullan›ld›¤›. Bu kod yazd›¤›n›z her Ajax uygulamas›nda bir flekilde kullanaca¤›n›z çok önemli bir kod oldu¤undan Ajax’ta basit bir istek/yan›t modelinin nas›l oldu¤una h›zl›ca bakal›m. ‹stekte bulunma Yeni XMLHttpRequest nesneniz haz›r. Öncelikle, Web sayfan›z›n ça¤r› yapabilece¤i (bir kullan›c› metin yazarken ya da menüden bir seçene¤i belirlerken oldu¤u gibi) bir JavaScript yöntemi gerekir. Sonra, hemen hemen tüm Ajax uygulamalar›n›zda ayn› te- Liste 5. Ajax ile istekte bulunma function callServer() { // Get the city and state from the web form var city = document.getElement ById("city").value; var state = document.getElement ById("state").value; // Only go on if there are values for both fields if ((city == null) || (city == "")) return; if ((state == null) || (state == "")) return; // Build the URL to connect to var url = "/scripts/getZipCode.php?city=" + escape(city) + "&state=" + escape(state); // Open a connection to the server xmlHttp.open("GET", url, true); // Setup a function for the server to run when it's done xmlHttp.onreadystatechange = upda tePage; // Send the request xmlHttp.send(null); } Bu örne¤in büyük bir bölümü aç›klama gerektirmeyecek flekilde aç›kt›r. Kodun ilk bölümü temel JavaScript kodunu kullanarak birkaç form alan›n›n de¤erlerini ele al›yor. Ard›ndan, kod, ba¤lant› hedefi olarak bir PHP komut dosyas› oluflturuyor. Basit GET parametreleri kullan›larak komut dosyas›n›n URL’sinin nas›l belirlendi¤ine, ard›ndan (formdaki) city (ilçe) ve state (il) de¤erlerinin bu iste¤e nas›l eklendi¤ine dikkat edin. Bir sonraki ad›mda, bir ba¤lant› aç›l›r; buras›, XMLHttpRequest nesnesinin yeniden devreye girdi¤i ilk yerdir. Ba¤lant› yöntemi (GET) ve ba¤lan›lacak URL belirtilir. Son parametre, true olarak belirlendi¤inde, eflzamanl› olmayan bir ba¤lant› (böylece bunu Ajax yaparak) ister. False de¤erini kulland›ysan›z, istek yap›ld›¤›nda kod sunucuyu bekler ve yan›t alana kadar devam etmez. Bu de¤er true olarak belirlendi¤inde, sunucu arka planda bu iste¤i ifllerken kullan›c›lar›n›z formu kullanmaya (hatta baflka JavaScript yöntemlerini ça¤›rmaya) devam edebilirler. xmlHttp nesnesinin onreadystatechange özelli¤i (hat›rlarsan›z, sizin XMLHttpRequest 20-26 2/18/06 7:56 PM Page 7 nesnesi örne¤inizdi) sunucuya, çal›flmay› bitirdi¤inde (5 dakika ya da 5 saat içinde olabilir) ne yapaca¤›n› bildirmenizi sa¤lar. Kod sunucuyu beklemeyece¤inden, sunucuya yan›t verebilmeniz için sunucunun ne yapaca¤›n› bilmesini sa¤laman›z gerekir. Bu durumda, sunucu iste¤inizi ifllemeyi bitirdi¤inde updatePage() adl› belirli bir yöntem bafllat›l›r. Son olarak, bir null de¤eriyle send() komutu ça¤r›l›r. ‹stek URL’sine sunucuya gönderilecek verileri (ilçe ve il) ekledi¤iniz için, istekte herhangi birfley göndermeniz gerekmez. Bu ifllem iste¤inizi bafllat›r ve sunucu, yapmas›n› istedi¤iniz ifllemi yapabilir. Bu ifllem bir fikir sahibi olman›z› sa¤lamad›ysa, ne kadar düz ve basit oldu¤una bak›n! Ajax’›n eflzamanl› olmayan do¤as›n›n anlafl›lmas›ndan baflka, göreceli olarak basit bir ifllem. Karmafl›k http istek/yan›t kodu yerine size daha yararl› uygulamalara ve arabirimlere yo¤unlaflma özgürlü¤ü tan›mas›n› takdir edeceksiniz. Liste 5’teki kod göründü¤ü kadar kolayd›r. Veriler basit metinlerdir ve istek URL’sinin parças› olarak eklenebilirler. Daha karmafl›k olan POST yerine GET komutu iste¤i gönderir. Eklenecek XML ya da içerik bafll›klar› yok, iste¤in gövdesinde gönderilecek veri yok; di¤er bir deyiflle, bu Ajax Ütopyas›. Korkmay›n; bu dizinin ilerleyen bölümlerinde ifller daha karmafl›k bir hal alacak. POST isteklerini göndermeyi, istek üstbilgilerini ve içerik türlerini belirlemeyi, iletinizde XML’i kodlamay›, iste¤inize güvenlik eklemeyi ve burada s›ralamas› zaman alacak daha birçok ifllemi ö¤reneceksiniz. fiimdilik kafan›z› zor ifllemlerle yormay›n; temel ilkeleri kavramaya çal›fl›n, k›sa bir süre sonra tam donan›ml› bir Ajax araç deposu oluflturacaks›n›z. ‹ste¤in ifllenmesi Art›k sunucunun yan›t›yla çal›flman›z gerekiyor. Bu aflamada yaln›zca iki noktay› bilmeniz gerekir: • xmlHttp.readyState özelli¤i 4 oluncaya kadar hiçbir fley yapmay›n. • Sunucu yan›t›n› xmlHttp.responseText özelli¤inin içine ekler. Bu haz›r durumlardan ilki bir sonraki yaz›n›n ana konusu; bir HTTP iste¤inin aflamalar› hakk›nda bilmek istedi¤inizden daha fazlas›n› ö¤reneceksiniz. fiimdilik, yaln›zca belirli bir de¤eri (4) kontrol ederseniz, ifller düzgün gider (ve bir sonraki yaz›n›n konusunu dört gözle beklersiniz). Sunucunun yan›t›n› almak için xmlHttp.responseText özelli¤inin kullan›lmas› olan ikinci nokta kolayd›r. Liste 6’da, sunucunun Liste 5’te gönderilen de¤erlere dayanarak ça¤›rabilece¤i bir yöntem örneklenir. Yine, bu kod da çok zor ya da karmafl›k de¤ildir. Sunucunun do¤ru olan haz›r durumla kendini ça¤›rmas›n› bekler, ard›ndan sunucunun döndürdü¤ü de¤eri (bu örnekte, kullan›c›n›n girdi¤i ilçe ve ilin posta kodu) kullanarak baflka bir form alan›n›n de¤erini belirler. Sonuç olarak, zipCode alan›nda birden posta kodu görünür (ama kullan›c›n›n hiçbir zaman bir dü¤meyi t›klatmas› gerekmemifltir!). Bu daha önce söz etti¤im masaüstü uygulamas› hissidir. H›zl› yan›t verebilme, dinamik görünüfl ve daha baflka özelliklerin tümünü Ajax kodu sa¤l›yor. Gözlemci okuyucular zipCode alan›n›n normal bir metin alan› oldu¤unu fark etmifl olabilirler. Sunucu posta kodunu döndürdü¤ünde ve updatePage() yöntemi bu alan›n de¤erini ilçe/il posta koduyla belirledi¤inde, kullan›c›lar bu de¤eri baflka bir de¤erle de¤ifltirebilirler. Bunun iki nedeni vard›r: Örnekteki ö¤elerin basit olmas›n› sa¤lamak ve size bazen kullan›c›lar›n, bir sunucunun söyledi¤ini de¤ifltirebilmelerini istedi¤inizi göstermek. Her iki nedeni de dikkate al›n; çünkü bunlar iyi bir kullan›c› arabirimi tasar›m› için önemli özelliklerdir. Web formunu ekleme Peki, söz etmedi¤imiz neler kald›? Asl›nda, çok fazla fley kalmad›. Kullan›c›n›n bir forma girdi¤i bilgileri alan, sunucuya gönderen, iletiflim kuraca¤› baflka bir JavaScript yöntemi sa¤layan ve bir yan›t› iflleyen, hatta bu yan›t geri geldi¤inde bir alan›n de¤erini belirleyen bir JavaScript yöntemini ö¤rendiniz. Geriye kalan tek fley ilk JavaScript yöntemini ça¤›rmak ve tüm süreci bafllatmak. Tabii HTML formunuza bir dü¤me de ekleyebilirsiniz ama bu biraz demode olmaz m›, ne dersiniz? Liste 7’deki gibi JavaScript teknolojisinden yararlan›n. Liste 7. Bir Ajax işlemini başlatma <form> Liste 6. Sunucunun yanıtını işleme function updatePage() { if (xmlHttp.readyState == 4) { var response = xmlHttp.response Text; document.getElementById("zipCo de").value = response; } } HABER LINUX 25 20-26 2/18/06 7:56 PM Page 8 Bunun da di¤erleri gibi oldukça rutin bir kod oldu¤unu düflünüyorsan›z, hakl›s›n›z, öyle! Bir kullan›c› ilçe ve il alan›na yeni bir de¤er girdi¤inde, callServer() yöntemi devreye girer ve Ajax e¤lencesi bafllar. Birfleyleri kavramaya bafllad›n›z m›? Güzel; amac›m›za ulaflt›k! ¤›n›zda de¤il, bir alana veri girdi¤inizde, birleflik girifl kutusundan bir seçim yapt›¤›n›zda, hatta farenizi ekranda sürükledi¤inizde de yan›t veren bir Web formu hayal edin. Eflzamanl› olmayan teriminin tam olarak ne anlama geldi¤ini düflünün; çal›flan ve sunucunun, isteklerine yan›t vermesini beklemeyen bir JavaScript kodunu düflünün. Ne tür sorunlarla karfl›laflabilirsiniz? Hangi alanlarda dikkatli olman›z gerekir? Ve formlar›n›z›n tasar›m› bu yeni programlama yaklafl›m›ndan nas›l etkilenecek? Bu konular üzerinde kayda de¤er zaman harcarsan›z, kesip yap›flt›rabilece¤iniz ve gerçekte anlamad›¤›n›z bir uygulamaya geçirece¤iniz koda sahip olman›n ötesinde avantajlar elde edebilirsiniz. Bir sonraki makalede, bu fikirleri uygulamaya geçireceksiniz ve size, uygulamalar›n burada anlat›ld›¤› gibi çal›flmas›n› sa¤laman›z için gereksinim duyaca¤›n›z kodla ilgili ayr›nt›lar› verece¤im. O zamana kadar Ajax’›n olanaklar›n›n tad›n› ç›kar›n. Sonuç Kaynaklar Bu aflamada, büyük olas›l›kla ç›k›p ilk Ajax uygulaman›z› yazmaya haz›r olmayacaks›n›z; tabii en az›ndan Kaynaklar bölümünde gerçekten inceleme yapmaya istekli de¤ilseniz. Bununla birlikte, bu uygulamalar›n nas›l çal›flt›¤›yla ve XMLHttpRequest nesnesiyle ilgili temel bilgileri kavramaya bafllayabilirsiniz. Sonraki makalelerde, bu nesne, JavaScript ve sunucu aras›ndaki iletiflimi yönetme, HTML formlar›yla çal›flma, hatta DOM’la ilgili temel kavramlar konusunda derinlemesine bilgi sahibi olacaks›n›z. fiimdilik, yine de, Ajax uygulamalar›n›n ne kadar güçlü olabilece¤ini düflünmeye zaman ay›r›n. Size yaln›zca bir dü¤meyi t›klatt›- Bilgi • Adaptive Path kullan›c› arabirimi tasar›m› alan›ndaki lider flirketlerden biridir; bu flirketin sayfalar›n› dikkatle okuyarak Ajax hakk›nda birçok bilgi edinebilirsiniz. • Ajax teriminin nereden geldi¤ini merak ediyorsan›z, kaynak olarak Jesse James Garrett ve Ajax hakk›ndaki mükemmel makalelerine (bunun gibi) bak›n. • XMLHttpRequest nesnesiyle ilgili bu harika makaleyi inceleyip, XMLHttpRequest nesnesi üzerinde yo¤unlaflarak bu dizinin bir sonraki yaz›s› için haz›rl›k yapabilirsiniz. • Internet Explorer kullan›yorsan›z, Microsoft Developer Network's XML Developer Center olana¤›nda iflinize yarayacak birçok fley bulabilirsiniz. • Ajax for Java developers: Build dynamic Java applications (developerWorks, Ey- <p>City: <input type="text" name="city" id="city" size="25" onChange="callSer ver();" /></p> <p>State: <input type="text" name="state" id="state" size="25" onChange="callSer ver();" /></p> <p>Zip Code: <input type="text" name="zipCode" id="city" size="5" /></p> </form> 26 HABER LINUX lül 2005), sayfay› yeniden yükleme ç›kmaz›n› çözen dinamik Web uygulamas› yaratma alan›nda 盤›r açan bir yaklafl›m› anlat›r. • Ajax for Java developers: Java object serialization for Ajax (developerWorks, Ekim 2005) Ajax uygulamar›nda verilerin dizisellefltirilmesine yönelik befl yöntemi aç›klar. • Using Ajax with PHP and Sajax (developerWorks, Ekim 2005) Ajax ve PHP’yi kullanarak içeri¤i dinamik olarak güncelleyen zengin Web uygulamalar› gelifltirmekle ilgillenenlere yönelik e¤itici bir yay›nd›r. • Call SOAP Web services with AJAX, Part 1: Build the Web services client (developerWorks, Ekim 2005) Web taray›c›s› tabanl› bir SOAP Web hizmetleri istemcisinin Ajax tasar›m modeli kullan›larak nas›l uygulanaca¤›n› anlat›r. • XML Matters: Beyond the DOM (developerWorks, May›s 2005) Document Object Model’in (Belge Nesne Modeli) dinamik Web uygulamalar› oluflturma yöntemi olarak kullan›lmas›n›n ayr›nt›l› olarak aç›klar. • Build apps with Asynchronous JavaScript with XML, or AJAX (developerWorks, Kas›m 2005) Ajax kullan›larak gerçek zamanl› kimlik do¤rulama yapabilen Web uygulamalar›n›n nas›l gelifltirildi¤ini gösterir. • Ajax for Java developers: Ajax with Direct Web Remoting (developerWorks, Kas›m 2005) AJAX’›n a¤›r karmafl›k yükünün nas›l otomatiklefltirilece¤ini gösterir. • OSA Foundation AJAX/JavaScript kitapl›klar›nda araflt›rma yapan kat›l›mc› bir Web sitesine (wiki) sahiptir. • XUL Planet’taki object reference (nesne baflvurusu) bölümü XMLHttpRequest nesnesiyle (XML nesnelerinin yan› s›ra DOM, CSS, HTML, Web Service ve Windows ve Navigation nesneleri gibi di¤er türler dahil) ilgili ayr›nt›l› bilgileri içerir. • Baz› temel Ajax ilkeleri hakk›nda ayr›nt›l› bilgi edinmek için güzel bir stratejik teknik yaz›y› okuyabilirsiniz. • Flickr.com adresinde çarp›c› Ajax uygulamar›ndan birini çevrimiçi olarak görebilirsiniz. • Google’un GMail’i Ajax’›n devrim yaratan Web uygulamalar›ndan biridir. • Head Rush Ajax (O'Reilly Media, Inc., fiubat 2006) bu makalede ve dizide özetlenen fikirleri (ve daha birçok fleyi) alarak size yeni ve Head First ödüllü biçimde sunar. • JavaScript: The Definitive Guide, 4. Bas›m (O'Reilly Media, Inc., Kas›m 2001) JavaScript dili ve dinamik Web sayfalar›yla çal›flmak konular›nda zengin bir kaynakt›r. • developerWorks Web Architecture zone (Web mimarisi bölgesi) çeflitli Web tabanl› çözümleri ele alan makaleler üzerinde yo¤unlafl›r. Tart›flma • Tart›flma forumuna kat›l›n. • Ajax.NET Professional Ajax’› tüm yönleriyle ele alan harika bir Web günlü¤üdür. • developerWorks Web günlüklerine kat›larak developerWorks toplulu¤una girin. 27 2/18/06 9:33 PM Page 3 UZMAN GÖRÜfiÜ Aç›k kaynak güvenlik onay› Ortak Kriter güvenlik onay›n› ilk kez aç›k kaynak ürünü olarakLinux ald› Serkan fiahin IBM Bilgi Teknolojisi Mimar› serkan@tr.ibm.com Linux iflletim sistemi, çok h›zl› bir flekilde yükseliflini sürdürmektedir. Sunucu iflletim sistemi olarak yayg›nlaflmas›n› h›zla artt›ran Linux, özellikle Kamu Sektörünün Linux kullan›m› ile Masaüstü Bilgisayarlar›nda da, bir iflletim sistemi olarak baflar›l› çözümlerle kullan›lmaktad›r. Bu yaz›da sunucu ortam›nda yap›lan ve gereklili¤i konusunda bütün aç›k kaynak camias›n›n hem fikir oldu¤u sunucu ortam›nda bir iflletim sistemi olarak Linux’un Ortak Kriterler güvenlik sertifikas›na ulaflmas›n›n hikayesi konu edilmektedir. Kamu sektöründe sunucularda iflletim sistemi seçiminde oldukça baflar›l› olan Linux, bu seçim ve ilginin artmas› ile birlikte özellikle bu sektörün güvenlik konusundaki beklentilerinin artmas›n›n bir sonucu olarak güvenlik sertifikasyonu sürecine girmifltir. Dikkatli bir analiz sürecinden sonra Linux’un Ortak Kriter güvenlik sertifikasyonuna IBM daima sponsor olmufltur. Bu sponsorluk bafllad›¤›nda bilinen herhangi bir aç›k kaynak uygulamas› Ortak Kriter güvenlik sertifikas›n› henüz almam›flt›. Bu nedenle birçok kifli aç›k kaynak uygulamalar›n›n asla Ortak Kriter güvenlik onay›n› alamayaca¤›na inanmaktayd›. IBM ve atsec (@sec) Linux’un bu onay› alabilmesi için gerekli bütün çal›flmalara destek verdiler. Birçok kifli güvenlik onay›nda baflar›l› olabilmek için uzun y›llara ihtiyaç olaca¤›na inanmas›na ra¤men, IBM olarak bunu 4 ay gibi k›sa bir sürede elde ettik. Aç›k kaynak uygulama gelifltirmeleri bafllad›¤›ndan beri geleneksel uygulamalar ve aç›k kaynak uygulamalar› aras›nda, aç›k kaynak uygulamalar›n›n daha güvenli oldu¤u konusunda hararetli tart›flmalar yaflanmaktad›r. Bu tart›flmalar hala devam etmektedir. Aç›k kaynak yaz›l›mlar›, zarar vericiler (attackers) ile koruyuculara (defenders) ayn› avantajlar› vermektedir. Güvenlik aç›s›ndan bu tart›fl›lmaz bir üstünlüktür. Bu sayede koruyucular varsa güvenlik aç›klar›n› h›zla bulabilmekte ve giderebilmektedirler. Baflka bir avantajda bütün bu ifllemlerin yap›lmas›ndaki sürat olmaktad›r; Dünya üzerinde da¤›lm›fl bulunan yüzlerce gelifltirici uygulamalardaki varsa problemleri saatler baz›nda girebilmektedirler. Bu avantajlara ek olarak bizim ilk amac›m›z herhangi bir ek güvenlik fonsiyonu eklemeksizin Linux’un bafllang›ç kurulumunda (as-is) bu onaya kavuflabilmesini sa¤lamakt›. ‹lk de¤erlendirmenin ard›ndan ek güvenlik fonksiyonlar›n›n eklenmesine karar verildi. ‹lk de¤erlendirmede eklenmesi hedeflenen güvenlik fonksiyonlar›ndan baz›lar›na flu örnekleri verebiliriz: fiifre tabanl› kullan›c› kimli¤inin sa¤lanmas› ve gerçekli¤inin do¤rulanmas› s›ras›nda kuvvetli flifre seçimi için zorlama yap›lmas›n› sa¤layacak modüllerin eklenmesi (pluggable authentication module (PAM)), Dosya eriflimlerine esnek kontrol politikalar› sa¤lanmas›; Objelerin süreçler aras› iletiflimine iliflkin eriflim kontrolü mekanizmalar›n›n gelifltirilmesi, Root kullan›c›s› ile girifl yapmaya engellemeye çal›fl›lmas› gibi birçok fonksiyon eklenmifltir. Ayr›ca, Ortak Kriterlerin ihtiyaç duydu¤u dökümantasyon ve vulnerability analizleri ve testleri yap›lm›flt›r. Daha genifl bir kitle taraf›ndan test edilmesi ihtiyac›na karfl›l›k Linux Test Project (LTP) ad›yla bir tak›m kurulmufltur. Bu tak›m güvenlik fonksiyonlar› ile ilgili testleri internet üzerinden genifl bir kat›l›mla gerçeklefltirmektedirler. Ortak Kriterler, s›n›fland›rma konusunda, Evaluation Assurance Level (EAL) olarak adland›r›lan, güvence dereceleri kullanmaktad›r. IBM ve atsec ilk olarak EAL4 (EAL 7 en yüksek seviyedir) seviyesinde sertifikasyonu hedeflemifltir. Bu seviyedeki sertifikaya ulaflabilmek için EAL3 seviyesinden bafllang›ç yap›lm›fl ve birçok ticari Linux da¤›t›mlar› bu seviye ulaflt›. 6 Mart 2003’de bafllayan çal›flmalar 10 Temmuz 2003’de tamamlanm›flt›r. Bütün bu süre boyunca bütün tasar›m, dökümantasyon ve test süreçleri IBM ve SUSE taraf›ndan gerçeklefltirilmifl, atsec taraf›ndan 800 sayfadan fazla döküman üretilmifltir. Sonuç olarak hedeflenen ilk Ortak Kriter güvenlik sertifikasyonu EAL3 al›nm›flt›r. Kullan›lan Test planlar›na ve test dökümanlar›na http://ltp.sourceforge.net/EAL3.html adresinden ulaflmak mümkündür. 15 fiubat 2005 tarihinde IBM ve Novell SUSE Linux Enterprise Server 9’da EAL4+ sertifikasyonunu aç›klam›fllard›r. Bu sayede Linux kamu ve kamu kurumlar›n›n çözümlerine adepte edilebilecek seviyeye ve ihtiyaç kriterlerini sa¤layacak duruma gelmifltir. Art›k kamu güvenlik kriterleri için Linux her bak›mdan bütün ihtiyaçlar› karfl›layabilecek düzeydedir. Linux, aç›k kaynak uygulamalar›n›n Ortak Kriter güvenlik sertifikalar› aç›s›ndan sa¤lad›¤› bu baflar›, aç›k kaynak dünyas›na olan güveni katlanarak art›rm›flt›r. Bu konudaki çal›flmalar artarak devam etmekte, her geçen gün ileri seviyelere ç›k›lmaktad›r. HABER LINUX 27 28-30 2/18/06 7:59 PM Page 2 leri fliddetle tavsiye edilir. http://freshmeat.net/projects/wordpress/?branch_id=46172&release_id=218678 WordPress 2.0.1 Kolay kullan›m›, s›rad›fl› tasar›m› ile tüm dünyada oldu¤u gibi ülkemizde de yayg›n bir kullan›ma sahip WordPress'in bu sürümünün temel oda¤› hata düzeltmeleri. Zaten kullananlara güncellemeleri, benim de bir kiflisel sitem olsun diyenlere deneme- 28 HABER LINUX masaüstü ortam› sa¤lamay› hedefleyen "Java Desktop for X Window" denemeye de¤er bir sistem. http://freshmeat.net/projects/jd4x/?branch_id=41870&release_id=218671 Java Desktop for X Window 0.6 Wikepage Wiki 2006.1b Linux için tamamen Java dostu bir ‹lk olarak 2005 y›l›nda tan›flt›¤›m›z 28-30 2/18/06 7:59 PM Page 3 OPEN-XCHANGE 0.8.2-RC1 E-posta sunucular› alan›nda önemli bir alternatif olan OPEN-XCHANGE bu sürümüyle MySQL veritaban› ile uyumlu hale geliyor. http://freshmeat.net/projects/open-xchange/?branch_id=52793&release_id=218560 Blender 2.41 ve bir Türk taraf›ndan gelifltirilmekte olan Wikepage sadece 25Kb'lik kodu ile bir wiki ortam›n›n bütün niteliklerini sunuyor. Bu sürüm önemli hata düzltmeleri içeriyor. http://freshmeat.net/projects/wikepage/?branch_id=57894&release_id=218639 Linux 3 Boyutlu modelleme, animasyon deyin ilk akla gelen çözüm olan Blender'›n bu sürümü a¤›rl›kl› olarak oyun motoru üzerine gelifltirmeler içeriyor. http://freshmeat.net/projects/blender/?branch_id=33721&release_id=218475 Domain Name Portfolio 0.0.3 phpTodo - Web and RSS Todo Lists 0.6.1beta Siz de akl›na gelen her alan ad›n› al›p sonra bunlar› yönetmekte güçlük çekenlerden misiniz? Domain Name Portfolio sorunlar›n›z› çözmeye aday. http://freshmeat.net/projects/dnport/ ?branch_id=62813&release_id=218620 Yap›lacaklar listenizi merkezi bir yerde tutarak bilgilere heryerden RSS format›nda ulaflman›z› sa¤l›yor. http://freshmeat.net/projects/phptodo2/?branch_id=61248&release_id=218390 HABER LINUX 29 28-30 2/18/06 7:59 PM Page 4 ç›kt› ve kurtar›lmay› bekleyen dosyalar›n›z m› var? Super Grub Disk tam sizin için biçilmifl kaftan. http://freshmeat.net/projects/supergrub/?branch_id=62945&release_id=218835 Nmap 4.0 Port taray›c›lar içinde yaklafl›k dört Comix 2.7 Comix'i al›fl›lagelmifl resim göstericilerden farkl› k›lan çizgi romanlar için özel yeteneklerinin olmas›. zip, rar, tar (ve gzip veya bzip s›k›flt›r›lm›fl olanlar›) format›nda dosyalar›n içindeki resimleri de görüntüleyebilen Comix Python ile yaz›lm›fl bir uygulama. http://freshmeat.net/projects/comix/?branch_id=60306&release_id=218359 Link Checker 3.4 geçtikçe yay›lmakta. Wiki kullananlar›n birço¤u, çeflitli Wiki yaz›l›mlar› aras›ndan tercih yapmakta zorlan›yorlar. Bu konuda en önemli kriterlerden biri sözkonusu yaz›l›m›n herhangi bir güvenlik a盤›na sahip olmamas› ve belki de daha önemlisi bu tür aç›klar›n dikkatli olarak takip ediliyor olmas›. Gerek birçok kurum taraf›ndan yo¤un olarak kullan›lmas›, gerekse yukarda bahsetti¤imiz gibi güvenlik konusunda bir hassasiyetle konuya yaklafl›yor olmas› sebebiyle TWiki bu konuda sivrilen örneklerden. 4.0 sürümü ile birçok yenili¤i de bar›nd›ran Twiki’yi bir deneyin piflman olmayacaks›n›z. http://twiki.org Vectorlinux SOHO 5.1 Bir sitenin yöneticisi olarak devaml› güncelleme yap›yorsunuz. Sayfalar›n›zdaki içerik de¤ifliklikleri kadar, di¤er sayfalara verdi¤iniz ba¤lant›lar› da kontrol etmeniz gerekmekte. Belki de befl, on sayfa için sorun olmayacak bu çal›flma, sözkonusu sayfa say›s› otuzlu, k›rkl› rakamlara ulaflt›¤›nda çok can s›k›c› olabilir. ‹flte bu tür ihtiyaçlar› olanlar›n yard›m›na LinkChecker program› ulaflmakta. Sadece web linklerini de¤il, FTP, mailto:, news:, nntp:, telnet gibi linkleri de kontrol edebilen program HTML, SQL, CVS ç›kt› verebildi¤i gibi, komutsat›r› ya da web arayüzünden de çal›flt›r›labilmekte. http://linkchecker.sourceforge.net/ Cacti 0.8.6 Birço¤umuz router’lardan ve di¤er Uzun süreden beri kulland›¤›m›z ve be¤endi¤imiz VectorLinux’un yeni sürümü ç›kt›. Birçok araç gerece sahip kolayca kurulan ve özellikle de en son Linux sürümleri konusunda güçsüz kalabilen nispeten eski bilgisayarlar›n çok performansl› kullan›labilece¤i bir da¤›t›m VectorLinux. http://www.vectorlinux.com Super Grub Disk 0.9310 TWiki 4.0 Web 2.0’›n önde gelen araçlar›ndan biri kabul edilen Wiki ortam› gün 30 HABER LINUX senedir kendini kabul ettirmifl bir standart NMAP. 4.0 sürümü ise, yeni özellikleri, interaktif komutlar› ve s›f›rdan yaz›lm›fl k›lavuz sayfalar› ile flimdiden ses getirmeye bafllad›. http://freshmeat.net/projects/nmap/ Yeni bir Linux da¤›t›m›n› denerken diskinizin MBR’sini mi uçurdunuz? Ya da sisteminizde bir problem SNMP cihazlardan toplanan bilgiyi görsel olarak sunan MRTG grafiklerine aflinad›r. Cacti, bu konuda oldukça geliflmifl bir PHP arayüzü sunmakta. Bant geniflli¤inizin kullan›m›n› takip etmek için görsel bir araç ar›yorsan›z Cacti tam size göre. http://freshmeat.net/projects/cacti/ 32-34 2/18/06 8:00 PM Page 3 isini destekleyen ürünler buluyor” vard›. Oysa bugünkü resim bundan oldukça farkl›. Linux, art›k 8 yönlü SMP’ler (simetrik çoklu ifllemci) için çok iyi ve güvenilir bir iflletim sistemidir ve 16 yönlü sistemlerde bile çal›flabiliyor. Günümüz mikroifllemcilerinin gücü düflünüldü¤ünde, 8 yönlü bir SMP’nin, oldukça güçlü bir sistem oldu¤u söylenebilir. Linux, güvenilirlik ve güvenlik konular›nda inan›lmaz bir geliflim kaydetti; Linux’un çok iyi bir ticari sistem oldu¤unu söyleyebiliriz. Özellikle de genifl SMP’lerde AIX, i5/OS ve z/OS kadar olmasa da oldukça iyi çal›fl›yor. Linux için verilen destek de dünya çap›nda çok büyük geliflme kaydetti; örne¤in, Linux e¤itimi alan kiflilerin say›s› çok artt›. Linux’u destekleyen ba¤›ms›z yaz›l›m sat›c›lar›ndan (ISV’ler) ve kanal ortaklar›ndan oluflan ekosistem eskisine göre oldukça geniflledi. Yani, Linux bugün, 2000 y›l›n›n Ocak ay›nda ilk bafllad›¤›m›z günlere göre bir hayli yol katetti diyebiliriz. Müflterilerinizden Linux’un de¤eri, büyümesi ve gelece¤ine dair ne gibi duyumlar al›yorsunuz? Asl›nda, bu konu çok ilginç. ‹lk bafllad›¤›m›zda, müflterilerimizi, Linux’a dikkat etmeleri gerekti¤ine, çünkü Linux’un ileride büyük önem kazanaca¤›na ikna etmemiz gerekiyordu. 2005 y›l›nda ise, Linux’u hiç duymam›fl olman›z için, dünyan›n çok ücra bir ülkesinde, her fleyden uzak bir yerde yafl›yor olman›z laz›m. Bence müflteriler, Linux’u bilgi teknolojileri endüstrisinde stratejik bir güç olarak kabul ediyorlar. Özel gereksinimleri göz önünde bulunduruldu¤unda, Linux’un tam olarak nerede kullan›laca¤›n› bilemiyor olabilirler ama Linux hakk›nda söylenenler, ilk bafltakinden çok farkl›. Müflterilerimize zaman ay›rarak onlara sözgelimi Linux’un AIX’e karfl› üstünlüklerini ve hangisinin ne yönlerden daha iyi oldu¤unu anlatmaya çal›flt›k. Müflterilerimizle oturup Linux ile Windows’u karfl›laflt›rd›k ve hangisinin kullan›m›n›n nerede di¤erininkinden daha uygun olaca¤›n› aç›klamaya çal›flt›k. Linux art›k müflterilerin kendi altyap›lar›n›n normal gelifliminde al›fl›lm›fl bir ö¤e. Giderek daha çok müflterimiz Linux’u altyap›lar›n›n önemli yap› tafllar›ndan biri olarak görüyor. Sunfirmas›n›n Solaris’i aç›k kayna¤a kayd›rmas›, sizce Linux hareketini nas›l etkileyecek? Bu çok ilginç bir soru. Bana sorarsan›z, aç›k kaynakl› bir projenin en önemli unsuru, arkas›ndaki toplulu¤un kalitesidir. Biz IBM olarak Linux, Grid, Apache ya da son günlerde gündemde olan Apache tabanl› bir aç›k Web uygulamas› sunucusu kurmaya çal›flan Geronimo toplulu¤u gibi bir aç›k kaynak toplulu¤una kat›lmay› seçti¤imizde, karar›m›z› belirleyen fley, arkas›ndaki toplulu¤un kalitesidir. Bu iflte ne kadar iyiler? Çeflitlilik sa¤l›yorlar m›? Ne gibi kaynaklar› var? Topluluk ne kadar iyiyse, bu toplulu¤a kat›lma olas›l›¤›m›z o kadar artar. Bak›n bu, bir sa¤lay›c›n›n, kendi kaynak kodlar›n› d›flar›ya açmas›ndan çok farkl›d›r çünkü genelde, patentli bir ürünle as›l ilgilenen kifli- ler o ürünle çal›flan kiflilerdir. O zaman bile, ürün, flirket d›fl›ndaki kiflilerin üzerinde çal›flmas› için tasarlanmam›fl oluyor. Bu yüzden, bu kodlara bakmak güçlefliyor. K›sacas›, Solaris’in çevresinde Linux’un çevresindeki gibi bir toplulu¤un oluflmas›n›n zor oldu¤unu düflünüyorum. Büyük olas›l›kla bu Solaris ekosisteminin baz› k›s›mlar› için yararl› olacakt›r, bu yüzden bu Sun için büyük olas›l›kla olumlu bir ad›m, ama dürüst olmam gerekirse, baflka flirketlerde ve üniversitelerde çal›flan zeki kiflilerin gelip bu ürünü grid, Apache ve Linux örneklerinde oldu¤u gibi gelifltirmeye yard›m edeceklerini sanm›yorum. ‹flletim sisteminin “metalaflt›r›lmas›ndan” (commoditization) söz ettiniz. Bunun Linux, yaz›l›m gelifltirmecileri ve kullan›c›lar› aç›s›ndan etkileri nelerdir? ‹flletim sisteminin metalaflt›r›lmas›ndan çok, standart olan bileflenlerin az say›da oldu¤unu düflünüyorum; bu, insanlar›n akl›na bile gelmiyor — iflte asl›nda bafllang›ç noktas› budur. Bu standart bileflenlerden biri de a¤ hizmetleri için TCP/IP. ‹letiflim amaçl› bir ürünün ifle TCP/IP ile bafllamamas› düflünülemez bile. Web sunucusu kurmak isteyenlerin için ise, flimdiye dek en çok tercih edilen ürün Apache oldu, yani herkesin Web sunucusu tercihi Apache. Art›k, di¤er bütün koflullar›n eflit oldu¤unu varsayarsak, giderek daha çok kiflinin, özellikle de lisans ücretleri ve telif hakk› (royalty) ödeme lüksü olmayan yeni aç›lm›fl iflyerlerinin, yeni uygulamalar› için bafllang›ç iflletim sistemi olarak Linux’u tercih edece¤ini tahmin ediyoruz. Ayr›ca, Linux genifl bir topluluk taraf›ndan destekleniyor ve dünyan›n her yan›ndaki üni- HABER LINUX 33 32-34 2/18/06 8:00 PM Page 4 lar›n› nas›l sa¤l›yor? Bence, altyap›lar›nda Linux kullanan müflteriler kesinlikle belli bir özgürlü¤e kavufluyorlar. Örne¤in, müflteriler ço¤unlukla Linux’u seçiyor çünkü ürünü küçük ve da¤›n›k bir sistemde çal›flt›rman›n, sonra da büyük bir ana bilgisayar ya da pSeries ya da iSeries [sistemi] içindeki bir bölüme tafl›yabilmenin özgürlü¤üne kavuflmak istiyorlar. Linux ile bu istediklerini yapmak için kapsaml› bir plan haz›rlamalar›na gerek kalm›yor. Özgür olacaklar›n› biliyorlar. Bu özgürlük enerjilerini daha gerekli yerlere (müflterilerine, do¤ru ifl süreçlerine, daha çok verimlili¤e ve do¤ru ifl modeline) odaklamalar›na olanak tan›yor. versitelerde ders konusu oluyor. Dahas›, Linux’un maliyeti oldukça düflük. Destek d›fl›nda hiçbir fley için para ödemiyorsunuz. Bu nedenle, Linux, özellikle de pek çok yeni ürün, ifl ve sat›c› için az ya da çok do¤al karfl›lanan, kabul gören standard›n bir parças› oldu. Sonunda flöyle diyebilirsiniz: “Tamam, belki bu belirli ürün için AIX gereklidir, belki Windows, belki de z/OS ya da Solaris gerekir...” Ama konuflmaya hep Linux’tan bafllan›r. Bu anlamda, Linux gerçekten standart bir iflletim sistemi haline geldi. Bütün mikroifllemcilerde çal›flmas› ve küçük, tümleflik sistemlerden tutun da, büyük süper bilgisayarlardaki dü¤ümlere kadar her sistemde çal›flt›r›labilmesi, çok genifl bir alanda kullan›labilir oldu¤unu 34 HABER LINUX gösteriyor. Linux’un henüz gelifltirilmemifl mimarilerde bile çal›flaca¤›n› ekleyebilirim. Bundan ç›kar›lacak çok çeflitli sonuçlar var; Linux bu özellikleri sayesinde giderek kendisini destekleyen daha fazla ürün buluyor. Aydan aya, y›ldan y›la, giderek daha çok uygulama Linux üzerinde kullan›labilir oluyor ve gitgide daha fazla say›da iflletme Linux kullanmaya bafll›yor. Linux’a geçmeleri müflterilerin yeniliklere odaklanmalar›n› ve flirketlerin On Demand Business olma- Linux’un grid bilgiifllem üzerindeki etkileri neler? Linux’un grid bilgiifllem üzerindeki etkileri çok büyüktür. Her fleyden önce, grid bilgiifllemin öncüsü olan topluluklar›n ço¤u - araflt›rma dünyas›, üniversiteler, süper bilgiifllem dünyas› - zaten Linux’u benimsemifl olan topluluklar. Bu nedenle, grid’in Linux üzerinde oluflturulmas› yönünde do¤al bir e¤ilim var. Grid iletiflim kurallar›n›n güçlü yanlar›ndan biri bunlar›n her bir iflletim sisteminde çal›flmas› olsa da, bunlar›n Linux üzerinde çal›flmas› flart de¤ildir. Yine de, Linux gibi, grid iletiflim kurallar› da, aç›k bir toplulukta gelifltirildiler. Yine bu alanda da, dünyan›n her köflesinden ak›ll› insanlar›n toplanarak geliflim için iflbirli¤i yapt›klar›n› görüyoruz. Bu Linux toplulu¤unda göze çarpan son derece güçlü bir modeldir ve grid toplulu¤una da uygulanmaktad›r. Bence, zamanla, grid bilgiifllemini, özellikle de grid bilgiiflleminin baz› sanallaflt›rma gereksinimlerini daha iyi desteklemesi için Linux’ta neleri de¤ifltirmemiz gerekti¤ini ö¤renece¤iz. POWER “hypervisor” gibi özelliklerin Linux’a, hatta Linux’la ba¤lant›l› ürünlere dahil edildi¤ini görece¤iz. Di¤er bir deyiflle, hem iflle ilgili nedenlerden, hem de kültürel nedenlerden dolay›, kullan›c›lar bu ürünleri kullanma e¤ilimindedir. Caroline Joyce 36-43 2/18/06 9:26 PM Page 2 Linux Ö¤renelim: Bölüm 1 36 HABER LINUX 36-43 2/18/06 9:26 PM Page 3 Daniel Robbins taraf›ndan IBM developerWorks için haz›rlanan LPI 101 Sertifika s›nav›na haz›rl›k notlar› ‹stanbul Bilgi Üniversitesi Bilgisayar Bilimleri taraf›ndan dilimize çevirilip HaberLinux için uyarlanm›flt›r. Özgün belgelere http://www.ibm.com/developerworks/ adresinden ulaflabilirsiniz. Neden Linux ? Gerçekten 'Neden Linux ?' Bu soruya cevap vermeden önce bir miktar Linux'u yüzeysel bile olsa tan›mak gerekmektedir. Linux 1992 y›l›nda Linus Torvalds taraf›ndan bafllat›lan bir projedir. Temel olarak 1970'lerden beri süregelen Unix iflletim sisteminin evlerde yayg›n olan i386 (PC) tabanl› makinalarda çal›flmas›n› hedeflemifltir. Bu bafllang›c›n devam›nda proje birçok kifli taraf›ndan desteklenmifl ve flu anda binlerce yaz›l›mc›n›n bir flekilde ilgilendi¤i dev bir proje halini alm›flt›r. Linux diye bildi¤imiz da¤›t›mlar›n hepsi, Linux kerneli (çekirde¤i) ve onun etraf›ndaki GNU yaz›l›mlardan oluflan bir Unix sistemidir asl›nda. O zaman as›l sorumuz neden Unix olacakt›r? Unix temelde Windows ve Dos kullananlar›m›z›n komut sat›r› diye bildi¤i ortamdan ve X-Windows sisteminden oluflur. Bu ikisinin de geçmifli hem Dos'dan hem de Windows'dan çok daha eskilere dayan›r. Unix'in 1970'lerden beri temel ald›¤› en önemli özellik çok görevli (multi-task) ve çok kullan›c›l› (multi user) olmas›d›r. Bütünleflik bir iflletim sistemi olan Unix, bu iki özelli¤ini hem komut sat›r› ortam›nda hem de gui ortam› olan X-Windows'da korur. Dahas› X-Windows'da yapabilece¤iniz hemen herfleyi komut sat›r›ndan (konsoldan) gerçeklefltirebilirsiniz. Az önce bahsetti¤imiz gibi Unix'in temel özelli¤i çok görevli ve çok kullan›c›l› olmas›d›r. Bu sebeple Unix'de çok ciddi bir kullan›c› k›s›tlamas› vard›r. Kullan›c›lar, ancak izinleri olan harddisk alan›nda, izinleri olan komutlar›, kullanmalar›na izin verilen haf›za miktar›nda ve hatta CPU gücü ile yaparlar. Bir kullan›c›n›n bir program›n›n çak›lmas› bir baflka kullan›c›y› ve makinan›n genel iflletimini engellemez. Otuz y›ld›r gelifltirilen bu özellikler Unix'i di¤er iflletim sistemlerinden ay›rmakta ve dünyan›n en çok tercih edilen sunucu platformu yapmaktad›r. ‹flte bu noktada Unix'le tan›fl›kl›¤› biraz daha ilerlemifl baz›lar› 'iyi de kullanmas› kesinlikle daha zor, bir çok ifli konsoldan yap›yorsunuz, Windows gibi guiden herfleyi halletmek varken, 2006 senesinde ben niye konsolu kullanay›m' diyebilir. Burada bir konuya aç›kl›k getirmek laz›m. Konsol, dinazorluktan, ya da eski kafal›l›ktan hala kullan›lan bir fley de¤ildir. Konsol kullan›lmaktad›r, zira bir sistem yöneticisinin ifllemleri en h›zl› ve en kolay yoldan yapmas›n›n yolu konsoldur. Konsoldan bir iki sat›r ile halletti¤iniz bir emri guiden yapmak genelde çok daha uzun zaman›n›z› al›r. Belki daha da önemlisi, konsol 'ne yapmas› gerekti¤ini bilenler ' içindir, fluraya buraya klikleyeyim de nas›l olsa hallederim bu ifli diyerek sistemi kurcalayanlar için de¤il. Bir baflka önemli nokta da Unix'in gücünü biraraya gelmifl binlerce küçük programdan al›yor olmas›d›r. Bu kurs süresince size bu programlar› ihtiyac›m›z do¤rultusunda nas›l birbiri ile ilintileyece¤imizi, nas›l istedi¤imizi gibi sonuçlar alaca¤›m›z› gösterece¤iz. K›sa bir örnek ls komutu olabilir. Dos ortam›ndaki dir komutunun karfl›l›¤› olan ls komutu size basitçe bir dizinin içeri¤ini gösterir. Diyelim ki bu dizin uzun ve içeri¤ini sayfa sayfa görmek istiyoruz. Bu noktada herhangibir text dosyas›n› bize sayfa sayfa gösteren more komutu ile ls komutunu birlefltiririz. En basitinden ls -al|more dedi¤inizde ls komutunun ç›kt›s› takip edebilece¤iniz gibi sayfa sayfa karfl›n›za gelir. Mesela ls komutu bir dizindeki dosyalar› gösterirken, ls|wc -l komutu ls komutunun ç›kt›s›n› wc (wordcount) komutuna gönderek o dizinde kaç dosya oldu¤unu gösterir. Görüyorsunuz iki alakas›z komutla ls komutuna yeni fonksionlar kazand›rd›k. Dahas› bir dizinde kaç dosya oldu¤unu bilgisayara sayd›rd›k. Kolayl›kla bir baflka komutu da bu sisteme ekleyip, her dosyay› bizim için teker teker printera yollamas›n› sa¤layabilirdik. Veya baflka bir fley. Birkaç kelimelik bu tür komutlarla yapabilece¤iniz fleylerin ne kadar derine gidebildi¤ini görseniz flaflars›n›z. Dahas› bir shell ortam› gibi yap›flt›r›c› bir sahte-programlama dili ile birlefltirildi¤inde bu komutlar gerçekten uygulama düzeyinde ifllerin alt›ndan kalkabilirler. Linux kullanmay› ö¤renmenizin sebeplerinden biri iflte bu. Gerekti¤i gibi bilgisayar›n›z› kontrol edebilmeniz, ona istedi¤iniz ifllemleri yapt›rabilmeniz. Kendinizi ona de¤il onu kendinize uydurabilmeniz. HABER LINUX 37 36-43 2/18/06 9:26 PM Page 4 Burada, / eleman› mutlak yol (absolute path) olarak kullan›lm›fl. Gidilecek olan dizinin, dosya sistemi a¤ac›nda, kökten itibaren ifade edilifline mutlak yol denir. Mutlak Yollar Birkaç mutlak yol örne¤i: /dev /usr /usr/bin /usr/local/bin Gördü¤ünüz gibi bütün mutlak yol ifadelerinin ortak noktas› / ile bafllamalar›. Örne¤in /usr/local/bin yolunu yazarak, cd komutuna önce / dizinine gitmesini, oradan usr dizinine, daha sonra da usr dizininin alt›nda local ve onunda alt›nda bin dizinine gitmesi söyleniyor. Mutlak yol ifadeleri, her zaman / den bafllayarak kullan›l›r. Bu e¤itim neleri içeriyor? Bu e¤itimde sizlere bash (Linux'daki standart kabuk (shell))'i tan›flt›racak, ls, cp, mv gibi standart Linux komutlar›n›n tüm potansiyelini nas›l kullanabilece¤inizi gösterecek, Linux'un izin ve sahiplik modellerini ve daha birçok kavram› anlataca¤›z. bash'e girifl Kabuk E¤er daha önce bir Linux sistemi kulland›ysan›z sisteme girdi¤inizde afla¤›dakine benzer bir komut sat›r› ile karfl›laflaca¤›n›z› bilirsiniz: $ Bu komut sat›r› çok farkl› görünebilir. Sisteminizin hostname bilgisini, içinde bulundu¤unuz dizini veya her iki bilgiyi birden yans›t›yor olabilir. Ancak nas›l görünürse görünsün kesin olan bir fley vard›r: Bunu görüntüleyen programa "kabuk" (shell) denir ve çok büyük ihtimalle sisteminizde sizi karfl›layan bash kabu¤udur. bash mi kullan›yorsunuz? bash kullan›p kullanmad›¤›n›z› flu flekilde kontrol edebilirsiniz: $ echo $SHELL /bin/bash E¤er üstteki ifade bir hata verirse veya yukar›daki örne¤e benzemeyen bir sonuç verdiyse, bash'ten farkl› bir kabuk kullan›yor olabilirsiniz. Bu durumda bile bu e¤itimin büyük bir bölümü hala geçerli olacakt›r, fakat bash'a geçifl yapman›z bu e¤itim sürecinde sizin için önemli bir avantaj olacak- 38 HABER LINUX t›r. (chsh komutunu kullanarak kabu¤u de¤ifltirmek için gerekli bilgiyi bu e¤itim serisinin 2. Bölümüne bak›n.) bash hakk›nda "Bourne-again shell" ifadesi için bir tür k›saltma olan Bash, pek çok Linux sistemde öntan›ml› kabuk olarak karfl›n›za ç›kar. Kabu¤un görevi verdi¤iniz komutlara uyarak Linux sisteminizle etkileflime geçmenizi sa¤lamakt›r. Komut vermeyi bitirince kabu¤a exit ya da logout komutu ile kendini sonland›rmas›n› söyleyebilirsiniz, hemen ard›ndan karfl›n›za login ekran› gelir. Bu arada, kabuk ile çal›fl›rken control-D tufl kombinasyonuna basarak da bash kabu¤unu sonland›rabilirsiniz. "cd" kullan›m› Sizin de fark›na varm›fl olabilece¤iniz gibi bash komut sat›r› dünyan›n en heyecan verici fleyi say›lmaz. ‹sterseniz flimdi de biraz dosya sistemi içinde gezinmek için bash kullanal›m. Komut sat›r›nda iken afla¤›daki komutu verin ($ karakterini yazmadan): $ cd / Bu komut ile bash kabu¤una / içinde çal›flmak istedi¤imizi söylemifl olduk. Bu ayn› zamanda kök (root) dizin olarak da bilinir; dosya sistemindeki tüm dizinler bir a¤ac› olufltururlar ve / de bu a¤ac›n en tepesinde ya da bu a¤ac›n kökü kabul edilir. cd komutu o anda çal›flmakta oldu¤unuz dizini belirler. cd komutunun bir ad›da "halihaz›rda çal›fl›lan dizin (current working directory)" dir. Yollar bash kabu¤unun halihaz›rda çal›flt›¤› dizini görmek için yaz›labilecek komut: $ pwd / Göreli yollar Di¤er yol türü göreli yoldur. Bash, cd ve di¤er komutlar bu tür yollar› daima içinde bulundu¤unuz dizine göre yorumlar. Göreli yollar kesinlikle / ile bafllamaz. Yani e¤er /usr dizini içinde isek: $ cd /usr /usr/local/bin dizinine gitmek için: $ cd local/bin $ pwd /usr/local/bin yazabiliriz. ".." kullan›m› Göreli yollar›n içinde bir ya da daha çok .. dizini bulunabilir. ".." dizini özel bir dizindir ve bulundu¤unuz dizinin üstündeki dizini gösterir. Yukar›daki örnekten devam edecek olursak: $ pwd /usr/local/bin $ cd .. $ pwd /usr/local Gördü¤ünüz gibi flimdi içinde bulundu¤umuz dizin /usr/local dizinidir. Bu flekilde içinde bulundu¤umuz dizine göre "geriye" do¤ru gidebiliriz baflka bir deyiflle "yukar›" do¤ru ç›kabiliriz. ".." kullan›m›, devam› Ek olarak, içinde bulundu¤umuz dizinin de yer ald›¤› yani bir üst dizini temsil eden ".." dizinini de kullanabiliriz. Örne¤in: $ pwd /usr/local $ cd ../share $ pwd /usr/share Linux Komutlar›n›n Kullan›m› "ls" Yukar›daki örnekte, cd komutuna cevap olarak gelen / eleman›na yol (path) denir ve cd komutuna gitmek istedi¤imiz yeri söyler. tanımı fiimdi ls komutuna h›zl›ca gözataca¤›z. Muhtemelen ls komutunu önceden biliyorsunuz 36-43 2/18/06 9:26 PM Page 5 ve sadece onu yazman›n halihaz›rda bulundu¤unuz dizinin içeri¤ini listeleyece¤ini biliyorsunuz: $ cd /usr $ ls bin doc etc games include info lib local man sbin share src X11R6 -a seçene¤ini belirterek bir dizindeki dosyalar›n tümünü, gizli dosyalar -. ile bafllayanlar- da dahil olmak üzere görebilirsiniz. Afla¤›daki örnekte de görebilece¤iniz gibi, ls -a . ve .. özel dizin linklerini de gösterir: $ ls -a . .. bin doc etc games include info lib local man sbin share src X11R6 Uzun dizin listeleri ls komut sat›r›nda bir ya da birden fazla dosya ya da dizin belirtebilirsiniz. E¤er bir dosya belirtirseniz, ls sadece o dosyay› gösterecektir. E¤er bir dizin belirtirseniz, ls bu dizinin içeri¤ini gösterecektir. -l seçene¤i, dosya haklar›n›, sahibi olan kifli ve gruplar›, de¤iflikli¤e u¤rad›¤› zaman› ve boyut bilgilerini gösterir. Dizinlere bakmak Bazen bir dizinin içine de¤il de kendisine bakmak istersiniz. Bu gibi durumlar için -d seçene¤ini kullanabilirsiniz, bu sayede ls dizinlerin içine de¤il kendilerine bakar. $ ls -dl /usr /usr/bin /usr/X11R6/bin ../share drwxr-xr-x 194 root root 24576 2003-03-23 20:30 ../share lrwxrwxrwx 1 root root 12 2003-03-23 21:05 /usr -> /HABER LINUX/usr drwxr-xr-x 2 root root 303104 2003-03-23 21:10 /usr/bin drwxr-xr-x 2 root root 20480 2003-03-22 18:36 /usr/X11R6/bin mkdir Yeni dizinler yaratmak için kullan›lan mkdir komutuna h›zl› bir göz atal›m. Afla¤›daki örnek /tmp alt›nda 3 yeni dizin yarat›r, tic, tac ve toe. $ cd /tmp $ mkdir tic tac toe dizin tafl›mak için kullan›lan cp ve mv komutlar›na gözataca¤›z. Buna bafllamadan önce /tmp de bir dosya oluflturmak için touch komutunu kullanaca¤›z: $ cd /tmp $ touch benikopyala touch komutu varolan bir dosyan›n "mtime" de¤erini günceller (ls -l ç›kt›s›ndaki 6. sütunu hat›rlay›n). touch komutuna parametre olarak verilen dosya mevcut de¤ilse bofl bir yeni dosya yarat›lacakt›r. Yukar›daki komutun sonucunda s›f›r boyutlu bir /tmp/benikopyala oluflturmufl oluyorsunuz. cat ve cp Terminalde dosyan›n içeri¤ini görüntülemek için cat komutunu kullan›n: $ cat benikopyala ilkdosya $ mkdir de/ne/me mkdir: `de/ne/me' dizini oluflturulam›yor: Böyle bir dosya ya da dizin yok $ mkdir de $ mkdir de/ne $ mkdir de/ne/me touch fiimdi kopyalama, yeniden adland›rma, dosya ve rmdir Dizinleri kald›rmak için iki seçene¤iniz var. Dizinin alt›ndaki bütün nesneleri yokedebilir ve sonra rmdir kullanarak dizinin kendisini kald›rabilirsiniz: $ mkdir benimdir $ touch benimdir/dosya1 $ rm benimdir/dosya1 $ rmdir benimdir rm ve dizinler fiimdi cp komutunun en basit fleklini kullanarak benikopyala dosyas›n›n benikopyaladi isimli bir kopyas›n› ç›karabiliriz: $ cp benikopyala benikopyaladi Detayl› olarak incelersek görürüz ki bu ikisi gerçekten de birbirinden ayr› dosyalard›r, inode numaralar› farkl›d›r: $ ls -i benikopyala benikopyaladi 8919 benikopyaladi 8901 beni kopyala mv fiimdi "copiedme" dosyas›n› "movedme" olarak isimlendirmek için mv komutunu kullanal›m. Bu sefer inode numaras› ayn› kalmakla birlikte bu inode numaras›na sahip olan dosya ismi de¤iflmifl olacak. $ mv benikopyaladi benitasidi $ ls -i benitasidi 8919 benitasidi Tafl›nan (move) bir dosyan›n inode numaras›, söz konusu dosya kaynak dosya ile ayn› dosya sisteminde bulundu¤u sürece ayn› kal›r. Bu e¤itimin 3. bölümünde dosya sistemlerini daha detayl› olarak inceleyece¤iz. Dosyalar› silmek rm Varsay›lan olarak, mkdir komutu üst dizinleri sizin için yaratmaz; yarat›lmas› istenilen dizinin tüm yolunda sondan bir önceki dizin'e kadar bütün dizinlerin var olmas› gereklidir. Bunun anlam› /de/ne/me dizinlerini yaratmak istiyorsan›z, üç ayr› mkdir komutu çal›flt›rmal›s›n›z: $ rm dosya1 dosya2 $ ls -l dosya1 dosya2 ls: dosya2: Böyle bir dosya ya da dizin yok -rw-r--r-1 haber linux haberlinux 0 2003-03-25 16:53 dos ya1 Art›k cp, mv ve ln komutlar›n›n nas›l kullan›ld›¤›n› biliyoruz, flimdi nesneleri dosya sistemi üzerinde kald›rmay› ö¤renemenin zaman› gelmifltir. Normalde bu ifllem rm komutuyla yap›lmaktad›r. Dosyay› kald›rmak için basitçe bunlar› komut sat›r›nda belirlemek gerekmektedir. $ cd /tmp $ touch dosya1 dosya2 $ ls -l dosya $ ls -l dosya1 dosya2 -rw-r--r-1 haberlinux haberli nux 0 2003-03-25 16:53 dos ya1 -rw-r--r-1 haberlinux haberli nux 0 2003-03-25 16:53 dos ya2 Veya rm komutunun özyineli seçeneklerini kullan›p rm'e belirtti¤iniz dizini içerdi¤i nesnelerle birlikte kald›rmas›n› söyleyebilirsiniz: $ rm -rf benimdir Genel olarak bir dizin a¤ac›n› kald›rmak için tercih edilen rm -rf 'dir. rm -f kullan›rken dikkatli olun, çünkü bunun gücü iyi veya kötü niyetli kullan›labilir. :) joker karakterler (wildcards) Günlük linux kullan›m›nda çok defa bir operasyonu tek seferde birden fazla nesne için çal›flt›rmak isteyebilece¤iniz (rm gibi) durumlarla karfl›laflabilirsiniz. Böyle durumlarda, afla¤›daki gibi bütün dosyalar› komut sat›r›na yazmak çok gereksizdir: $ rm dosya1 dosya2 dos ya3 dosya4 dosya5 dos ya6 dosya7 dosya8 Bu problemi çözmek için, Linux'un kendi içinde yer alan joker karakter deste¤inin getirdi¤i avantajdan yararlanabilirsiniz. Ayn› zamanda "globbing" olarak da adland›r›lan (tarihsel nedenlerden dolay›) bu destek, joker karakter modelini kullanarak tek seferde birden fazla dosyay› belirlemenize olanak sa¤lar. Bash ve di¤er Linux komutlar› joker karakter modeline bakarak ve dosya üzerinde bu modele uyan dosyalar› bularak komutu yorumlar. Bu durumda diyelim ki bulundu¤umuz dizinde file1, file2, ... , file8 isimli dosyalar varsa bu dosyalar› afla¤›daki HABER LINUX 39 36-43 2/18/06 9:26 PM Page 6 flekilde yok edebilirsiniz: $ rm dosya[1-8] $ which ls /usr/bin/ls Ya da daha basitçe ismi file ile bafllayan bütün dosyalar› yok etmek istedi¤inizde afla¤›daki gibi yazabilirsiniz: $ rm dosya* "which -a" Düzenli ‹fadeler Son olarak -a seçene¤ine dikkat etmelisiniz. Bu seçenek kullan›ld›¤›nda which komutu PATH de¤iflkeninde tan›ml› tüm dizinlerde arad›¤›n›z program›n olup olmad›¤›n› gösterir: $ which -a ls /bin/ls Düzenli ifade nedir? Düzenli ifadeler ("regex" veya "regexp" de denir) yaz› kal›plar›n› ifade etmek için kullan›lan özel bir biçimdir. Linux sistemlerinde, arama ve de¤ifltirme ifllerinde oldu¤u kadar yaz› kal›plar›n›n bulunmas›nda da düzenli ifadeler kullan›l›r. Basit bir dizi parças› Düzenli ifadelerin en basit türüne bakal›m, basit dizi parças›. Bunun için grep komutunu kullanaca¤›z. Bu komut bir dosyan›n içeri¤ini taray›p belli bir düzenli ifade kal›b›na uyan k›s›mlar› bulur. grep, düzenli ifade kal›b›na uyan her sat›r› basar ve buna uymayan sat›rlar› da görmezden gelir: $ grep bash /etc/passwd root:x:0:0:root:/home/ro ot:/bin/bash haberlinux:x:1000:1000:Ha berlinux User:/home/haber linux:/bin/bash Yukar›da, grep program›na ilk parametre olarak bir düzenli ifade geçildi¤ini ve ikinci parametre olarak bir dosya ismi verildi¤ini görebilirsiniz. Grep /etc/passwd dosyas›ndaki her sat›r› okur bash olarak verilmifl basit karakter dizi parças›n›n o sat›rda mevcut olup olmad›¤›na, baflka bir deyiflle o sat›r›n kendisine verilen düzenli ifade kal›b› ile eflleflip eflleflmedi¤ine bakar. E¤er bir eflleflme söz konusu olursa ilgili sat›r› basar, olmazsa bir sonraki sat›ra geçer Dosyalar› bulmak "which" Arad›¤›n›z program›n PATH ile verilen dizinlerden birinde olup olmad›¤›n› which komutu ile bulabilirsiniz. Örne¤in, afla¤›daki komut ile Linux sistemimizin sa¤duyuya sahip olup olmad›¤›n› sorgulayabiliriz: $ which sagduyu Afla¤›daki örnekte ise ls komutunun nerede bulundu¤unu görebiliriz: 40 HABER LINUX whereis E¤er bir program›n yerini ö¤renmek d›fl›nda onunla ilgil daha çok bilgiye eriflmek istiyorsan›< whereis komutunu denemelisiniz: $ whereis ls ls: /bin/ls /usr/sha re/man/man1/ls.1.gz Buradan görürüz ki ls program› iki dizinde bulunmaktad›r, /bin ve/usr/bin. Buna ek olarak /usr/share/man dizininde de ls ile ilgili bir man sayfas› oldu¤u bilgisini ediniriz. man ls yazd›¤›n›zda karfl›n›za gelen sayfa yukar›da belirtilen sayfad›r. whereis ayn› zamanda kaynak arama, alternatif arama yollar› tan›mlama ve s›rad›fl› girdileri arama gibi özelliklere de sahiptir. Detayl› bilgi için lütfen whereis man sayfas›n› inceleyin. find find alet çantan›zdaki araçlardan biridir. find komutu ile art›k sadece program dosyalar› ile s›n›rl› de¤ilsinizdir, her türlü dosyay› çok çeflitli kriterlere göre arayabilirsiniz. Örne¤in /usr/share/doc dizini ve alt dizinlerinde README dosyas›n› bulmak için flu komutu vermeniz yeterlidir: $ find /usr/share/doc -name READ ME /usr/share/doc/aalib1/README /usr/share/doc/adduser/examp les/README /usr/share/doc/afio/README /usr/sbin/lsof /usr/sbin/lsusb updatedb kullan›m› Pekçok Linux sistemi periyodik olarak veritaban›n› güncelleyen bir proses çal›flt›r›r. E¤er sisteminiz yukar›daki komuta afla¤›daki gibi bir hata ile cevap verirse o zaman bir veritaban› oluflturmak için uptadedb komutunu çal›flt›rman›z gerekir: $ locate bin/ls locate: /var/spool/locate/locatedb: No such file or directory $ su Password: # updatedb updatedb komutunun iflini tamamlamas› uzun bir süre alabilir. E¤er gürültücü bir harddiskiniz varsa tüm dosya sistemi indekslenirken bafl›n›z epey a¤r›yabilir :) locate slocate fiimdiye dek which, whereis ve find komutlar›n› ele ald›k. find çal›fl›rken biraz vakit geçti¤ini fark etmiflsinizdir çünkü üzerinde her dizine tek tek girip bakmak zorundadur. locate komutu ise bir veritaban›n› kullanarak iflleri biraz h›zland›rabilir. Bu komut yol isminin herhangi bir k›sm› ile eflleflme yapabilir sadece dosya ismine bakmak zorunda de¤ildir. Örne¤in: $ locate bin/ls /bin/ls /bin/lspci /sbin/lsmod /sbin/lspci /sbin/lspnp /usr/bin/lsattr /usr/bin/lsdev /usr/bin/lsof /usr/bin/lspgpot /usr/bin/lss16toppm Pek çok Linux da¤›t›m›nda locate komutu yerine art›k slocate komutu kullan›lmaktad›r. Genellikle locate isimli bir sembolik ba¤lant› oldu¤u için hangisini kullanay›m diye tereddüt etmenize gerek yoktur. slocate "secure locate" yani "güvenli locate" anlam›na gelmektedir. Bu komut kulland›¤› veritaban›nda dosya ve dizin izinlerini de depolar ve böylece normal kullan›c›lar eriflim izninine sahip olmad›klar› dizine bakamazlar. slocate komutunun kullan›m flekli locate komutunda oldu¤u gibidir ancak ç›kt› bilgisi komutu çal›flt›ran kullan›c›ya göre de¤iflebilir. Proses Kontrolü xeyes´› bafllatmak Proses kontrolünü ö¤renmek için önce bir proses bafllatal›m: $ xeyes -center red 36-43 2/18/06 9:26 PM Page 7 1 ? 2 ? ventd] 3 ? tirqd_CPU0] 4 ? 5 ? [bdflush] 6 ? ted] S SW 0:04 init 0:00 [ke SWN 0:00 [ksof SW SW 0:01 [kswapd] 0:00 SW 0:00 [kupda Yönlendirme Bu komutun ç›kt›s› olan listenin ancak küçük bir k›sm›n› yukar› yazd›k çünkü genellikle bu liste çok daha uzun olur. Bu liste size makinan›n o anda ne yapt›¤›n›n bir foto¤raf›n› verir ancak göz at›lacak pek çok veri vard›r içinde. E¤er ax seçeneklerini kullanmadan ps komutunu çal›flt›racak olsayd›n›z sadece size ait ve belli bir terminalin kontrolü alt›ndaki prosesleri görürdünüz. ps x size tüm prosesleri gösterir, belli bir terminal taraf›ndan kontrol edilmeyenler dahil. E¤er ps a fleklinde kullanm›fl olsayd›n›z o zaman da belli terminallere ba¤l› ve herkese ait prosesleri görürdünüz. xeyes penceresinin birden aç›ld›¤›n› ve k›rm›z› gözlerin fareyi takip etti¤ini göreceksiniz. Bu arada bir fley daha fark edeceksiniz: Komut sat›r›na dönmedi¤inizi. Prosesi durdurmak Komut sat›r›na geri dönebilmek için Control-C tufl kombinasyonuna basmal›s›n›z (genellikle Ctrl-C veya ^C fleklinde gösterilir): ^C $ bash komut sat›r›na geri döndünüz ancak xeyes penceresi de kayboldu. Asl›nda ifli yapan proses tamamen sonland›r›lm›fl, öldürülmüfl durumda. Control-C ile prosesi öldürmek yerine Control-Z ile durdurabilirdik: $ xeyes -center red ^Z [1]+ Stopped xeyes -center red $ fiimdi gene bash komut sat›r›na döndünüz ama bu sefer xeyes penceresi durrmas› gereken yerde duruyor. Ancak fare ile oynarsan›z göreceksiniz ki gözler sizi takip etmiyor art›k, donup kalm›fl durumdalar. E¤er xeyes penceresi üzerine baflka bir pencereyi sürükleyip sonra çekerseniz göreceksiniz gözler yeniden çizilmiyor bile. Proses hiçbir fley yapm›yor flu anda yani "Durmufl" (Stopped) halde. ps komutu ile prosesleri listelemek Yukar›da kulland›¤›m›z jobs komutu içinde bulundu¤umuz mevcut bash oturumunda bafllat›lan prosesleri listeliyordu. Sisteminizdeki tüm prosesleri görmek için kullanman›z gereken komut ise ps komutudur ve bu komua a ve x seçeneklerini vermeniz gereklidir. $ ps ax PID TTY STAT TIME COMMAND Yaz› iflleme "top" kullan›m› E¤er kendinizi sürekli ps komutunu çal›flt›r›r ve neler olup bitti¤ini anlamaya çal›fl›r durumda bulursan›z ihtiyac›n›z olan esas komut top komutudur. top komutu sürekli güncellenen bir proses listesi basman›n yan› s›ra özet bilgi vermeyi de ihmal etmez: $ top 11:34:16 up 1:13, 0 users, load average: 0.43, 0.21, 0.12 47 processes: 45 sleeping, 2 run ning, 0 zombie, 0 stopped CPU states: 3.0% user, 1.8% sy tem, 0.0% nice, 95.2% idle Mem: 255680K total, 249136K used, 6544K free, 10624K buf fers Swap: 393552K total, 43852K used, 349700K free, 37780K cac hed PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 309 root 14 0 204M 132M 6644 S 2.5 52.9 2:23 XFree86 5050 haberlinux 11 0 11316 10M 9356 R 0.7 4.2 0:01 kdeinit 3849 haberlinux 10 0 38532 36M 13612 S 0.5 14.7 0:45 kword 5282 haberlinux 13 0 1016 1016 808 R 0.5 0.3 0:00 top 1 root 8 0 52 48 28 S 0.0 0.0 0:04 init 2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd 3 root 19 19 0 0 0 SWN 0.0 0.0 0:00 ksof tirqd_CPU0 4 root 9 0 0 0 0 SW 0.0 0.0 0:01 kswapd 5 root 9 0 0 0 0 SW 0.0 0.0 0:00 bdflush Bir komutun ç›kt›s›n› bir dosyaya yönlendirmek için > operatörünü kullan›r›z, flöyle ki: $ echo "dosya" > kopya si Ç›kt›y› yönlendirmeye ek olarak, oldukça güçlü bir kabuk özelli¤i olan pipe (boru)lar› da kullanabiliriz. Ba¤lant›lar› kullanarak bir komutun ç›kt›s›n› di¤erine girdi olarak vermemiz mümkün. fiu örne¤e bir bak›n $ echo "merhaba dunya li" | wc 1 2 16 | karakteri soldaki komutun ç›kt›s›n›n sa¤daki komuta girdi olarak verilmesini sa¤lamaktad›r. Yukardaki örnekte echo komutu merhaba dunyali cumlesini sonunda bir sat›r sonu ile birlikte basar. Normalde bu ç›kt›n›n terminalde gözükmesi laz›m fakat yapt›¤›m›z ba¤lant› onu wc komutuna yönlendirdi ve böylece sat›r, kelime ve karakter (boflluk ve sat›r sonu dahil) say›lar›n› ö¤rendik. Bir boru örne¤i ‹flte bir baflka örnek: $ ls -s | sort -n Bu durumda, ls -s normalde mevcut dizinin listesini her dosyan›n boyu dosya isminden önce gelecek flekilde terminal ekran›na basacakken biz bu ç›kt›y› borudan geçirip sort n'ye yönlendirdi¤imiz için karfl›m›za ç›kt›n›n say›sal olarak s›ralanm›fl flekli gelmektedir. Ev (home) dizininizdeki büyük dosyalar› bir bak›flta tespit etmek için gerçekten güzel bir yöntem! Afla¤›daki önekler biraz daha kar›fl›kt›r ancak boru mekanizmas› ile ne kadar güçlü ve becerikli ifllemler gerçeklefltirilebildi¤ini göstermeleri bak›m›ndan faydal›d›r. fiimdiye dek görmedi¤iniz baz› komutlarla karfl›laflabilirsiniz, bunun sizi yavafllatmas›na lütfen izin vermeyin. Bunun yerine boru mekanizmas›n› yani bir ç›kt›n›n bir sonraki prog- HABER LINUX 41 36-43 2/18/06 9:26 PM Page 8 rama girdi olarak nas›l geçildi¤ini anlamaya odaklan›n. Böylece bunlardan günlük Linux kullan›m›n›zda bolca faydalanabilirsiniz. echo echo:echo kendisine verilen argümanlar› terminale basar. -e seçe¤ini kullan›rsan›z "escape dizisi" olarak tabir etti¤imiz özel karakter kombinasyonlar›n›n da düzgün olarak yorumlanmas›n› sa¤lars›n›z, misal: echo -e "foo\nfoo" komutu ekrana önce foo basar, bir sat›r afla¤› iner baflka bir deyiflle yenisat›r karakteri basar ve sonra yine bir kez foo basar. -n seçene¤ini kullan›rsan›z ç›kt›ya en sonra otomatik olarak eklenen yenisat›r karakterinin bas›lmas›n› engelleyebilirsiniz. cat, sort ve uniq cat: cat komutu bir dosyan›n içeri¤ini terminal ekran›na basar. Bir boru hatt›na ilk girdiyi vermek için faydal› bir komuttur, misal cat foo.txt | vesaire | vesaire. sort: sort komutu komut sat›r›nda kendisine belirtilen dosyan›n içeri¤ini alfabetik olarak s›ralay›p basar. Elbette sort komutu da boru üzerinden kendisine aktar›lan girdiyi kabul edecek flekilde tasarlanm›flt›r. man sort ile bu komutun ne kadar farkl› s›ralama iflleri için pratik flekilde kullan›labilece¤ini görebilirsiniz. uniq: uniq s›ralanm›fl bir dosyay› ya da boru hatt› üzerinden kendisine yollanan veriyi al›r ve bunun içindeki birbirinin ayn›s› olan sat›rlar› ay›klar. Sistem ve a¤ dökümantasyonu Linux sistem döküman tipleri Temel olarak bir Linux sisteminde üç çeflit döküman kayna¤› vard›r: k›lavuz sayfalar› (manual pages), bilgi sayfalar› (info pages) ve /usr/share/doc içinde bulunan uygulamalar ile gelen dökümanlar. Bu bölümde, d›flardan yard›m almadan önce bu üç kayna¤› nas›l inceleyece¤imizi ve onlardan nas›l yararlanabilece¤imizi görece¤iz. K›lavuz sayfalar› K›lavuz dosyalar›, ya da "man sayfalar›" UNIX ve Linux referans dökümanlar›n›n temellerini oluflturur. ‹deali herhangi bir komut, konfigürasyon dosyas› veya kütüphane dosyas› hakk›nda man sayfas›na bakarak bilgi edinebilmenizdir. Pratikte ise Linux özgür bir yaz›- 42 HABER LINUX l›md›r ve baz› man sayfalar› daha yaz›lmam›fl veya çok önceden yaz›lm›fl olup güncelli¤ini yitirmifl olabilir. Yine de man dosyalar› yard›ma ihtiyac›n›z oldu¤unda ilk bak›lmas› gereken adreslerdir. Bir man sayfas›na ulaflmak için basitçe man ve istedi¤iniz bafll›¤› yaz›n. Ekrana ç›kan dökümandan ç›kmak için q'a basman›z gerekir. Mesela ls komutu hakk›nda bilgi almak için: $man ls yazman›z gerekir. GNU bilgisi K›lavuz sayfalar›n›n bir eksi¤i, yard›ml› metinleri (hypertext) desteklememeleridir. Bu durumda, bir dosyadan di¤erine kolayl›kla atlamak mümkün olmuyor. Bunu farkeden GNU uzmanlar›, yeni bir dokümantasyon yöntemi gelifltirdiler: "info" (bilgi) sayfalar›. Birçok GNU program› art›k info sayfalar› biçiminde kapsaml› bir dokümantasyonla geliyor. info sayfalar›n› okumaya "info" komutuyla bafllayabilirsiniz: $ info diff info sayfalar› hakk›nda daha fazla bilgi elde etmek isterseniz, info sayfasini okuman›z› öneririm. fiu ana kadar bahsetti¤imiz temel kullan›m yöntemleriyle, bu ifli basitçe yapabilirsiniz: $ info info Linux dökümantasyon projesi Sistemde bulunan dokümanlara ek olarak, internet üzerinde de Linux konusunda çok iyi kaynaklara ulaflabilirsiniz. Linux Dokümantasyon Projesi'de, bir grup gönüllünün, bütünleflmifl ve özgür bir Linux dokümantasyon seti oluflturmak için çal›flmaya karar vermesiyle bafllam›fl. Bu projenin varolufl amac›, Linux dokümantasyonunun parçalar›n›, kullan›m› ve arama yap›lmas› kolay, ortak bir platformda birlefltirmektir. Linux Dökümantasyonu Projesine http://www.tldp.org/ adresinden ulaflabilirsiniz. LDP'ye genel bak›fl LDP afla¤›daki bafll›klar› içeriyor: * Rehberler - genifl kapsaml› kitaplar, örne¤in The Linux Programmer's Guide * HOWTO kaynaklar› - konuya özel, derinlemesine kaynaklar, örne¤in DSL HOWTO * SSS (S›kça Sorulan Sorular) - en s›k sorulan sorular ve cevaplar›, örne¤in Brief Linux FAQ * K›lavuz sayfalar - komutlara özel yard›m sayfalar› (Linux sisteminizde man komutuyla ulaflt›¤›n›z dosyalar›n ayn›lar›d›r). Hangi bölümde araflt›rma yapman›z gerekti¤ini bilmiyorsan›z, arama kutular›n› kullanabilirsiniz. Böylece konu bafll›¤›na göre arama yaparak bilgiye ulafl›rs›n›z. LDP bunlara ek olarak Linux Gazette ve LinuxFocus gibi ba¤lant› ve kaynak listesi de sunuyor. Ayr›ca ilgili mail listelerine ve haber arflivlerine de LDP üzerinden ulaflabilirsiniz. Linux izin modeli Bir kullan›c›, bir grup Bu bölümde, Linux'un izin ve sahiplik modelini inceleyece¤iz. Daha önce gördü¤ümüz üzere, her dosyan›n sahibi olan bir kullan›c› ve bir grup vard›r. Linux'un izin modellerinin özünde bu vard›r. Dosyalar›n sahibi olan kullan›c› ve gruplar›, ls -l komutuyla listeleyebilirsiniz: $ ls -l /bin/bash -rwxr-xr-x 1 root root 579816 2002-09-12 00:51 /bin/bash Bu örnekte, /bin/bash çal›flt›r›labilir dosyas›n›n sahibinin root kullan›c›s› ve wheel grubu oldu¤unu görüyoruz. Linux izin modeli, herbir dosya için belirlenen üç ayr› izin katman›ndan oluflur. Bu üç katman, dosya sahibinin izinleri, grubun izinleri ve tüm di¤er kullan›c›lar›n izinleridir. "ls -l" incelemesi ls -l komutumuzun ç›kt›s›n› inceleyelim. $ ls -l /bin/bash -rwxr-xr-x 1 root root 579816 2002-09-12 00:51 /bin/bash ‹lk -rwxr-xr-x bölümü, dosya izinlerinin sembolik gösterimidir. Bafltaki tire (-) karakteri dosyan›n tipini belirtir. Bu örnekteki dosya normal bir dosyad›r. Di¤er dosya çeflitleri ve onlar› ifade eden karakterler flöyledir: 'd' dizin 'l' sembolik bağlantı 'c' character special device 'b' block special device 'p' fifo 's' socket Üç adet üçlü grup $ ls -l /bin/bash -rwxr-xr-x 1 root root 579816 2002-09-12 00:51 /bin/bash Dosya tipini belirten karakteri takip eden üç adet üçlü harf grubu görüyoruz. ‹lk üçlü grup dosyan›n sahibinin haklar›n›, ikinci grup dosyan›n sahibi olan grubun haklar›n›, son üçlü grupta di¤er tüm kullan›c›lar için geçerli olan haklar› simgeler. "rwx" "r-x" "r-x" Burada, r harfi, dosyan›n içeri¤inin okunmas›na izin verildi¤i anlam›na gelir. w harfi dosyaya yaz› yaz›labilece¤ini (bu ayn› zamanda modife etme ve silme ifllemlerini de kapsar), x harfi de dosyan›n çal›flt›r›labilece¤ini gösterir. Tüm bunlar› biraraya getirdi¤imizde görüyoruz ki, örne¤imiz olan dosyay› herkes okuyabilir ve çal›flt›rabilir ama sadece sahibi (root) dosyan›n modifiye edilmesi ko- 36-43 2/18/06 9:26 PM Page 9 nusunda hak sahibidir. Dolay›s›yla, tüm kullan›c›lar bu dosyay› kopyalama hakk›na sahipken, sadece root'un güncelleme ya da silme hakk› vard›r. Kullan›c› ve grup haklar›n› de¤ifltirmek Bir dosyan›n ya da baflka bir dosya sistemi nesnesinin sahip oldu¤u kullan›c› ya da grubu de¤ifltirmek için s›ras›yla chown ve chgrp komutlar›n› kullanabilirsiniz. Bu komutlarda herbirisi bir isim ve bunu takip eden bir ya da daha fazla dosya ismi ile kullan›l›r. # chown root /etc/passwd # chgrp users /etc/passwd Ayr›ca isterseniz chown komutunun alternatif bir kullan›m› ile tek seferde dosya sahibini ve sahip oldu¤u grubu de¤ifltirebilirsiniz. # chown root.users /etc/passwd dosyas›nda tutuldu¤unu gördük.Linux sisteminde bu dosyayla ortak çal›flan bir dosya daha vard›r: /etc/shadow dosyas›. Bu dosya /etc/passwd dosyas› gibi herkes taraf›ndan okunabilir bir dosya de¤ildir. Bu dosyan›n içeri¤i, sadece root taraf›ndan görüntülenebilen, flifrekenmifl parola bilgilerinden ibarettir. Bu dosyadan al›nm›fl bir sat›r› inceleyelim: haberlinux:$1$inZ2aQ4f$Us10Oa1moVCgbwXsx.a.E .:12167:0:99999:7::: Yine herbir sat›r ayr› bir kullan›c› hesab›yla ilgili bilgileri içeriyor ve herbir bölüm : ile ayr›lm›fl durumda. ‹lk k›s›m bu parola bilgisinin hangi kullan›c›ya ait oldu¤unu belirtir. ‹kinci k›s›mda ise kullan›c›n›n, parolas› flifrelenmifl bir halde bulunur. Di¤er alanlar ise kullan›c›n›n flifresini de¤ifltirmeye zorlanmas› ile ilgili baz› de¤erleri içerir. superuser olmad›¤›n›z sürece chown komutunu kullanmamal›s›n›z ancak dosyan›n ait oldu¤u grubu sahip oldu¤unuz gruplardan birisi olarak belirlemek amac›yla chgrp komutunu normal kullan›c› durumunda da kullanabilirsiniz. /etc/group dosyas› Linux hesap yönetimi /etc/group dosyas›ndaki sat›rlar›n anlamlar›n› inceleyelim. ‹lk k›s›m grubun ad›n› bar›nd›r›yor. ikinci alanda ise bir parola görüntüsü olarak x karakteri bulunur. Üçüncü k›s›mda, bu gruba ait olan grup numaras›n› verir. Bu örnekte bofl olarak gözüken dördüncü bölümde de bu gruba üye olan kullan›c›lar›n isimleri vard›r. /etc/passwd dosyas› ile ilgili olarak verdi¤imiz örnekte, grup numaras› olarak 1000 vard›. Bu, haberlinux kullan›c›s›n›n, haberlinux grubunun bir üyesi oldu¤u anlam›na geliyor. Ama /etc/group dosyas›nda, haberlinux grubunun bilgilerinin aras›nda üye olarak haberlinux kullan›c›s›n›n belirtilmedi¤ine dikkat edin. /etc/passwd dosyas› Bu bölümde Linux'un hesap yönetimi mekanizmas›n› inceleyece¤iz. Sistemdeki tüm kullan›c›lar›n bilgilerinin bulundu¤u /etc/passwd dosyas›yla bafllayal›m. "less /etc/passwd" yazarak, kendi sisteminizdeki dosyay› görüntüleyebilirsiniz. Bu dosyadaki herbir sat›r, bir kullan›c› hesab›n› belirtir. /etc/passwd dosyas›ndan bir örnek sat›r ele alal›m: haberlinux:x:1000:1000:Haberlinux User:/home/haberlinux:/bin/bash Gördü¤ünüz gibi, bu sat›rda çok fazla bilgi yokmufl gibi duruyor. Asl›nda /etc/passwd dosyas›ndaki her sat›r : ile ayr›lm›fl birkaç parçadan oluflur. ‹lk k›s›m kullan›c› ad›n› belirtir (haberlinux), ikinci bölümde bir x harfi görüyoruz. Eski Linux sistemlerinde, bu k›s›mda flifrelenmifl bir halde parolalar bulunurdu ve bu parolalar kullan›c› giriflinde onaylama için kullan›l›rd›. Ama yeni Linux sistemlerinin neredeyse tamam›nda, flifreler baflka bir dosyada tutuluyor. Üçüncü alandaki (1000) ifadesi, kullan›c›n›n numaras›n›, dördüncü alandaki (1000) ifadesi de, bu kullan›c›n›n ba¤l› oldu¤u grubu belirtir. Biraz sonra (1000) numaral› grubun nerede tan›t›ld›¤›n› da görece¤iz. Beflinci bölüm, bu hesab›n düzyaz› olarak bir aç›klamas›n› içerir, bu örnekte, aç›klama kullan›c›n›n tam ad› olarak verilmifl. Alt›nc› bölümde, kullan›c›n›n home dizininin yeri belirtilir. Son olarak, yedinci k›s›mda o kullan›c› için standart olarak aç›lacak olan kabu¤u ifade eder. Bu kabuk kullan›c› bilgisayara girdi¤inde otomatik olarak aç›lan kabuktur. fiimdi de, /etc/group dosyas›na gözatal›m. Linux sistemindeki tüm grup bilgileri bu dosyada tutulur. Örnek bir sat›ra bakal›m: haberlinux:x:1000: Sistemde yeni kullan›c› yaratma fiimdi kendi kullan›c› ve grubunuzu yaratma iflleminin nas›l yap›laca¤›na bakal›m. Bunu ö¤renmenin en iyi yolu, sistemde elle yeni bir kullanc› ya- ratmakt›r. Sisteme yeni bir kullan›c› eklemek için $ adduser komutunu kullanabilirsiniz. Ancak bu komutun do¤ru parametrelerle çal›flt›r›lmas› gerekir. fiimdi sisteme deneme kullan›c›s›n› eklemek için girilen afla¤›daki komutu inceleyelim: $ adduser --system -home /home/deneme -shell /bin/bash --uid 750 deneme /etc/passwd dosyas›nda, kullan›c›larla ilgili bilgileri hat›rlayal›m. Kullan›c›n›n userid'si, home dizini ve sisteme girdi¤inde aç›lacak olan kabuk bu komut çal›flt›r›l›rken parametre olarak girilmifltir. Ayr›ca grup bilgileri de adduser komutu ile ayarlanabilir. Bu komutla ilgili daha fazla bilgi için: $ man adduser k›lavuz sayfas›n› inceleyebilirsiniz. Parola belirleme Tekrar komut sat›r›na dönmüfl durumdas›n›z. fiimdi, yeni kullan›c›m›z için bir parola belirleme zaman›: # passwd deneme Enter new UNIX pass word: (denemekullanici icin bir parola girin) Retype new UNIX pass word: (denemekullanici icin belirlediginiz pa rolayı tekrar girin) /etc/shadow dosyas› Kullan›c› hesaplar›na ait bilgilerin /etc/passwd HABER LINUX 43 44-46 2/18/06 8:33 PM Page 2 fiekil 1 Bir web sunucunuz var diyelim. Veya e-posta sunucunuz. Zaman zaman gerçeklefltirilmesi gereken sistem güncellemeleri ve bak›mlar için günün hangi saatlerinde ne kadar trafik kulland›¤›n›z› bilmek istiyorsunuz ve bu ifl için MRTG’den daha becerikli bir araca ihtiyaç duyuyorsunuz. Cacti tam da bu ifl için gelifltirilmifl bir yaz›l›m Basitçe, a¤›n›zda bulunan makina ve servisleri gözlemlemek için kullanabilece¤iniz, web üzerinden eriflilebilen bir yaz›l›m. Belli aral›klarla servislerden veri alan bu yaz›l›m, ald›klar›n› daha rahat yorumlayabilmeniz için size grafi¤e dökerek gösterir. 44 HABER LINUX 44-46 2/18/06 8:33 PM Page 3 fiekil 2 Detaylara inmeden önce, akl›n›zda daha net bir fikir oluflturabilmesi için ne tür verileri kullanabilece¤ini örneklendireyim: • Bir cihaz›n üzerinden akan a¤ trafi¤i • Sistemin CPU kullan›m geçmifli • Web uygulaman›z› kullanan ziyaretçi say›s› Cacti, bu verilerden [fiekil 4] görebilece¤inize benzer grafikler oluflturur ve bu grafikleri [fiekil 3] görece¤iniz flekilde size toplu olarak sunar. Cacti için bir PHP kurulumuna ve grafiklerin haz›rlanmas›nda kullan›lacak RRDTool'a ihtiyac›m›z olacak. Bir k›sm›n›z belki MRTG ad› verilen yaz›l›m› ya da onun ç›kt›lar›n› an›ms›yor olabilir. Ekran görüntüleri http://www.stat.ee.ethz.ch/mrtg/ adresinde [fiekil 1] bulunan bu yaz›l›m›n grafik altyap›s› program›n yazar› taraf›ndan bir miktar daha gelifltirildikten sonra RRDTool ad› alt›nda sunulmaya baflland›. RRDTool'u http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ adre- sinde bulabilirsiniz. Cacti'yi http://www.cacti.net/ adresindeki sitesinden edinebilir, kurmak için detayl› bilgiyi sitesindeki paketindeki dokümanlarda bulabilirsiniz. Temel kurulumu gerek bu yöntem ile, gerekse benim gibi Debian GNU/Linux kullanan flansl› kiflilerdenseniz "aptitude install cacti" yazarak yapabilirsiniz. Kurulumu tamamlamak için http://localhost/cacti/ adresinde ç›kacak yönergeleri izleyin. Kurulumu tamamlad›ktan sonra Cacti ile gözlemleyece¤iniz sistemlere s›radaki 2 bölümde anlat›ld›¤› gibi SNMP sunucusu kurabilir, e¤er bir router ya da benzeri bir cihaz gözlemlemek istiyorsan›z, cihaz›n›z›n SNMP ile nas›l sorgulayabilece¤inizi el kitab›ndan ö¤renebilirsiniz. SNMP, a¤ cihazlar›n›n gözlemlemesinde ve yönetiminde kullan›lan bir protokoldür. • Debian GNU/Linux için SNMP sunucusu kurulumu ve ayarlar› S›k› Debian GNU/Linux kullan›c›lar›n›n tahmin edece¤i gibi "aptitude install snmpd" yazarak temel kurulumu tamamlay›n. Standart kurulumda SNMP sunucumuz bize pek fazla veri sa¤lam›yor olacak. fiu 2 ad›m› gerçeklefltirelim: 1. Standart kurulumla gelen veri k›s›t›n› açmak 2. Sisteme ba¤l› disklerin boyutlar›n› SNMP üzerinden sorgulanabilir hale getirmek Birinci madde için /etc/snmpd.conf dosyas›n› aç›n ve "paranoid" kelimesini arat›n. Bulunan sat›r›n bafl›na "#" ekleyip devred›fl› b›rak›n ve alt›ndaki sat›r›n bafl›ndaki "#"i kald›r›p afla¤›daki gibi yap›n. HABER LINUX 45 44-46 2/18/06 8:33 PM Page 4 fiekil 3 • • • • • #com2sec paranoid default public com2sec readonly default pub- licxyz ‹kinci madde için ise ayn› dosyada "disk" kelimesini arat›n ve sisteminize ba¤l› olan, Cacti ile gözlemlemek istedi¤iniz her ayr› bölümün ba¤l› oldu¤u dizinleri ekleyin. Dizinlerin sonuna "/" iflareti KOYMAYIN. Benim dosyamda flunlar yaz›yor: # Check the / partition and make sure it contains at least 10 megs. #disk / 10000 disk / disk /home • Windows için SNMP sunucusu kurulumu ve ayarlar› ‹zleyebilece¤iniz sistemlerin aras›nda Windows sunucular ya da istemciler bulunabilir. Bunun için Windows XP'de SNMP sunucusu kurulumuna bakal›m. Bahsetti¤im ad›mlar "Home Edition" ad› verilen, düflük seviye Windows versiyonunda geçerli olup daha üst seviye "Professional" adl› sürümünde de bu özellikler ayn› flekilde bulunuyor. Windows 2003 veya Windows 2000'de ise bu ad›mlar farkl›l›k gösterebilir. "Denetim Masas›"nda bulunan "Program Ekle veya Kald›r"da "Windows Bileflenlerini Ekle/Kald›r"a girin. Alt tarafta bulunan "Yönetim ve ‹zleme Araçlar›" alt›ndaki ilk kutucu¤u seçip kurulumu tamamlay›n. Bu kurulum sonras›nda "Denetim Masa- 46 HABER LINUX s›"/"Yönetimsel Araçlar"/"Servisler" yolunu izledi¤inizde, servis listesinde "SNMP Hizmeti" seçene¤ini bulacaks›n›z. Bu aflamada, Debian kurulumunda da yapt›¤›m›z gibi topluluk ad›n› de¤ifltirmemiz gerekiyor. Servise çift t›klad›¤›n›zda gelecek arabirimdeki "Güvenlik" sekmesini kullanarak "publicxyz" ad›nda, "Salt Okunur" bir topluluk yarat›n. Ayr›ca "Herhangi bir ana bilgisayardan SNMP paketlerini kabul et" demeniz veya ilgili kutucu¤a Cacti çal›flan makinan›n IP adresini yazman›z gerekiyor. • Temel Cacti kullan›m› ‹zleyecek cihazlar›m›z›n haz›r oldu¤unu düflünerek ilk grafiklerimizi çizelim. http://localhost/cacti/ adresinden "admin" kullan›c› ad›, "admin" parolas› ile girin ve parolan›z› de¤ifltirin. Cacti ekran›nda 2 bölüm bulunuyor. "console" ve "graph" k›s›mlar›ndan ilki yönetici ekran› iken, di¤er k›s›m herkesin eriflebilece¤i flekilde (halka aç›k) duruyor. http://localhost/cacti/graph_view.php adresinden herkes grafiklerinizi görebilecektir. • graphs and data sources"› seçip "yes" diyerek ilgili herfleyi kald›r›n Sa¤ üstten "Add"e bas›n "Description"a sistem ad›n›, mesela localhost yaz›n "Hostname"e IP adresini (127.0.0.0) yaz›n "Host Template"ten "ucd/net SNMP Host"u seçin "SNMP Community"ye snmpd.conf'ta belirtti¤iniz kelimeyi yaz›n (yukarida publicxyz olarak belirledik). Bu aflamada karfl›n›zda [fiekil 2] gibi bir ekran olmal› "create"e bas›n. Karfl›n›za sistem bilgisi gelecektir. "Create Graphs for this host"a bas›n. Karfl›n›za gözlemleyebilece¤iniz verilerin bir listesi gelecektir. Bunlar›n hepsini seçin ve "create" e bas›n. Alt bölümde, e¤er yukar›da belirtti¤im "disk" ayar›n› yapt› iseniz sisteme ba¤l› bölümler de gözükecektir Son olarak bu grafikleri bir yerde gösterebilmek için gerekli ayarlar› yapal›m: • Soldan "Graph Trees"e bas›n • "Default Tree"ye t›klay›n • Sa¤ üstten "add"e bas›n • "Tree Item Type" olarak "Host" seçin • Gelecek sayfada "Host" localhost olarak gözükecektir • "create"e bas›n. Art›k "graphs"a t›klad›¤›n›zda localhost ile ilgili grafikleri görebileceksiniz Bu ad›mlar›n benzerlerini Windows cihaz›n›z için de tekrarlayabilirsiniz. Yapman›z gereken sadece "Host Template"i Windows olarak seçmek. Bu basit ad›mlar Cacti'yi kurcalaman›za bafllamak için yeterli olacakt›r. Cacti ile istedi¤iniz veri türlerini tek bir grafik üzerinde toplamak, bir script ç›kt›s›n›n grafi¤ini snmpd'den ba¤›ms›z olarak izlemek gibi nispeten ileri seviye ifller de yapabilirsiniz. Hemen yaz›l›m› kurdu¤unuz sistemi ekleyelim: fiekil 4 • Sol taraftan "Devices"› seçin • Verolan localhost'un sa¤›ndaki kutuyu doldurun ve "go"ya bas›n. • "Delete all associated 47 2/18/06 9:57 PM Page 3 IBM 2006 y›l›na da h›zl› girdi! IBM, sosyal sorumluluk kapsam›nda oluflturdu¤u Linux Merkezleri zincirine bir yeni halkay› da Ankara'da ekledi ›BM, 2006'da yenilikçilik, araflt›rma ve gelifltirme konusunda 60. y›l›n› kutluyor. Türkiye'de 2004 y›l› Ocak ay›ndan itibaren yenilikçilik, araflt›rma ve gelifltirme konusunda çal›flmalar yapmaya bafllayan IBM, yola, geliflmekte olan ülkeler için çok önemli oldu¤unu düflündü¤ü bir noktadan ç›kt›: Aç›k Kaynak Kodu. IBM, buradan hareketle, Linux iflletim sistemi ve aç›k kaynak kodlu yaz›l›mlarla, yenilikçilik, araflt›rma-gelifltirme, iflletim sistemi kurulum ve kullan›m yetkinli¤ini art›rmak üzere, Linux Yetkinlik Merkezi kavram› üzerinde çal›flmalar yapt›. ‹lki 2004 y›l› bafl›nda aç›lan Linux Yetkinlik Merkezi'nin say›s› bugün üçe ulaflt›. ‹lki ‹stanbul IBM merkez binas›nda IBM'in ‹stanbul'daki ana binas›nda 22 Ocak 2004 tarihinde kurulan Linux ve Serbest Yaz›l›m Merkezi, Linux iflletim sistemi kurulum ve kullan›m yetkinli¤ini artt›rmay› amaçl›yor. Ö¤renciler, gelifltiriciler, çözüm ortaklar›, özel flirketler ile kamu yarar› amaçl› çal›flan sivil toplum örgütlerinin serbestçe çal›flmalar yapabildi¤i bu merkez, Linux iflletim sistemi konusunda çal›flmalar›n yap›ld›¤› ve çözümlerin gelifltirildi¤i bir ortam sunuyor. ‹lgililerin aç›k kaynak kodlu yaz›l›mlar› deneyebilece¤i veya aç›k kaynak kodlu yaz›l›mlar gelifltirebilecekleri serbest bir merkez olma özelli¤i tafl›yor. ‹stanbul'daki bu merkezde bugüne kadar binden fazla kifliye e¤itim ortam› sunulmufl bulunuyor. Çeflitli üniversiteler ve sivil toplum örgütleri ile e¤itim, ö¤retim, çal›fltay ve seminerler gerçeklefltirmifl durumda. Merkezin bir di¤er önemli özelli¤i ise; birçok üniversite ö¤rencisine çal›flma ortam› sa¤lam›fl ve projeler gelifltirilmesinde yard›mc› olmufl olmas›. Çeflitli alanlarda faaliyet gösteren özel flirketlerin Li- nux ve aç›k kaynak kodlu yaz›l›mlarla buluflmas› yine bu merkez arac›l›¤›yla sa¤lanm›fl. Test ve deneme çal›flmalar›n›n da yap›ld›¤› merkez, gelifltirilmifl baz› yaz›l›m ürünlerinin yeni platformlarda çal›flabilmesine olanak tan›yan çal›flmalara da ev sahipli¤i yap›yor. MEB ve IBM'den Linux odakl› iflbirli¤i! Linux iflletim sistemi, aç›k kaynak kodlu yaz›l›mlar ve aç›k standartlar, dünyada özellikle kamu sektörü taraf›ndan benimsenmekte. Ürünlerin üretilme felsefesi ve yaz›l›m›n aç›k kaynak kodlu olmas›n›n getirdi¤i yararlar yüzünden kamu taraf›ndan kamu ç›kar›n› koruyacak en do¤ru flekilde konumland›r›l›p, kullan›ma sunulmakta. Böylece ülkeler vatandafllar›na ulaflt›rmak istedikleri edevlet ile ilgili birçok hizmeti çok kolayl›kla ve güvenli bir flekilde sa¤l›yorlar. IBM Türkiye'de kamu kurum ve kurulufllar›n›n aç›k kaynak kodu ve Linux iflletim sistemi ile buluflmas›n› özellikle de kullan›c›lar›n kurulum ve kullan›m yetkinli¤inin artt›r›lmas›n› çok önemsiyor. E¤itim sektöründe kamu yarar›na projelerin bafllamas›n› sa¤lamak ve aç›k kaynak kodlu iflletim sistemi ve yaz›l›mlar›n e¤itim-ö¤retim sürecine maksimum katk›s›n› oluflturmak için MEB E¤itim Teknolojileri Genel Müdürlü¤ü ile birlikte bir ilke imza atm›fl ve bu merkezi, kamu personelinin kullan›ma açm›fl bulunuyor.. Bir “Linux Yetkinlik Merkezi” daha! Yeni y›l ile birlikte Ankara'da 4 Ocak 2006 tarihinde ikinci bir Linux merkezini açan IBM, Ankara'daki IBM binas›nda kurumlar›n, ö¤rencilerin ve gelifltiricilerin Linux ve aç›k kaynak kodlu yaz›l›mlarla çeflitli çal›flmalar yapabilece¤i bir merkezi daha Ankara'ya kazand›rm›fl oldu. IBM, Linux yetkinli¤i ve aç›k kaynak kodlu yaz›l›mlar›n yetkinli¤inin sa¤lanmas› konular›nda e¤itim faaliyetlerinin yan› s›ra, gelifltiricilere yönelik aktiviteler ile çeflitli seminerler ve çal›fltaylar› gerçeklefltirmek üzere çal›flmalar yapmay› sürdürüyor. HABER LINUX 47 48-51 2/18/06 8:29 PM Page 2 Linus Torvalds taraf›ndan 1991 y›l›nda gelifltirilmifl olan linux, bafllang›çta intel ifllemcili IBM PC tabanl› bilgisayarlarda çal›flacak flekilde tasarlanm›flt›. Linux aç›k kaynak kodlu olamas›n›n avantaj›n› kullanarak günümüzde hemen her donan›m üzerinde, çal›flmakta olan bir iflletim sistemi haline geldi. Bununla birlikte aç›k kaynak kodlu ve- 48 HABER LINUX ya özgür yaz›l›mlar›nda gelifltirilmesinde ve yayg›nlaflmas›nda büyük katk› sa¤lam›flt›r. Son y›llarda h›zl› internet eriflim imkanlar›n›n bütün dünyada h›zla yayg›nlaflmas› ile kiflisel bilgisayar kullan›m›nda çok h›zl› bir art›fl söz konusu. Bu ayn› zamanda son kullan›c› bilgisayarlar›nda iflletim sistemi seviyesinde özellikle a¤ ba¤lant›s›ndan kaynaklanan bir çok problemi beraberinde getiriyor. Virüs ataklar›ndan dolay› çok ciddi maddi zararlar yaflamaktad›r. Bu art›fla paralel olarak son kullan›c› pazar›nda özellikle IBM’in sundu¤u çözümlerle beraber geçen bir kaç y›l içerisinde linux-tabanl› kiflisel bilgisayar kavram› oluflmaya bafllad›. Bu alanda mevcut kiflisel bilgisayar iflletim sisteminden, linux-tabanl› bir iflletim sistemine geçifl mümkün mü- 48-51 2/18/06 8:29 PM Page 3 Bu kriterlerden baz›lar›n› biraz daha açarak inceleyelim. Güvenlik Seviyesinin Art›r›lmas› dür sorusunu bütün uç kullan›c›lar ve de kurumlar kendilerince sorgulamaya bafllad›. Bu sorgulamada genelde hedeflenen kriterler flunlar: • Masaüstü istemcinin güvenlik seviyesinin art›r›lmas› • Yönetilebilirlik • Toplam sahip olma maliyetlerinde düflüfl sa¤lanmas› • Tek yaz›l›m üretici ba¤›ml›l›¤›n›n azalt›lmas› • Donan›m kullan›labilme ömrünün art›r›lmas› • Kullan›m alan›n›n geniflletilmesi (sunucuda, masaüstünde ayn› iflletim sistemi) • Aç›k Kaynak Felsefesi Burada kullan›c›n›n aktiv olarak en çok kulland›¤› özelliklerin üzerinde durulmufltur. • Taray›c› güvenli¤i: Linux istemcilerinde kullan›lan web taray›c›lar› ço¤unlukla aç›k kaynak yaz›l›mlar›d›r. En çok kullan›lanlar› ise Mozilla, Opera, Konqueror ve Firefoks’tur. Linux’ta web taray›c›lar› kurulumlar› iflletim sisteminin bir parças› de¤ildir. Bunlar ba¤›ms›z yaz›l›mlard›r. ‹flletim sisteminin kalbi olan Çekirdek alan›nda (Kernel space) de¤il kullan›c› al›n›nda çal›flmaktad›r. Bu nedenle taray›c›lar› kullanarak iflletim sisteminin güvenli¤ini atlamak çok zordur. Taray›c›larda olabilecek güvenlik aç›klar› hemen iflletim sistemine etki etmez, bunlar standart yaz›l›m-hatas› düzeltme sürecidir, bu süreç çok kullan›lan bu tip taray›c›larda genellikle saatler seviyesinde olan k›sa zaman dilimi içerisinde gerçekleflir. • Mesajlaflma istemcisi güvenli¤i: Taray›c›larda söz konusu olan bütün güvenlik özellikleri mesajlaflma istemci programlar› içinde geçerlidir. • Kullan›c› güvenli¤i: Kullan›c› güvenli¤i Unix iflletim sistemi içerisinde çok önemlidir, unix iflletim sistemi benzeri olan linux, bu güvenlik imkanlar›n›n ayn›s›n› kullanmaktad›r. Linux çok kullan›c›l› bir iflletim sistemidir ve kullan›c›lar güvenlik aç›s›ndan farkl› rollerle tan›mlanabilirler, sadece bir kullan›c› hesab› (root) bütün yönetim ifllemlerini gerçeklefltirebilir. • Yaz›l›m hatas› ay›klama süresi: ‹flletim sisteminin kaynak kodunun aç›k olmas›, mevcut güvenlik aç›klar›n›n k›sa bir süre içerisinde tespit edilmesine ve çözülmesine olanak tan›maktad›r. Önceki yaflanan bir çok olayda bu sonuç onaylanm›flt›r. Aç›k kaynak organizasyonlar› gelifltirmeyi yaparlar, yaz›l›mdaki hatalar› ay›klarlar, test ederler ve kullan›ma açarlar. • Güvenlik duvar› deste¤i: Linux çekirde¤i (kernel) güvenlik duvar› hizmeti çekirdek içerisine HABER LINUX 49 48-51 2/18/06 8:30 PM Page 4 setti¤imiz kriterlerin yan› s›ra pilot geçifller yard›m› ile gerçek ortam›n denenmesi iyi bir yöntemdir. Bunun için baz› planlamalar›n ve çal›flmalar›n önceden yap›lmas› gerekebilmektedir. IBM uzun y›llar boyunca edindi¤i deneyimlerle özellikle bu tip geçifllerle ilgili methodolojiler gelifltirmifltir. Bu deneyimler göstermifltir ki, kullan›c›lar›n iflletim sisteminden neler (fiekil 1) inflaa edilmifltir. 2.4 versiyon çekirdekte güvenlik duvar› iptables olarak adland›r›lmaktad›r. Iptables konfigurasyonunun yönetici kullan›c›s› taraf›ndan uygulanmas› ile a¤ güvenli¤i politikalar› Linux istemcide aktiv hale gelir. Iptables güvenlik duvar› linux’u solucan virüslere karfl› korur, son kullan›c›lar› izin verilmeyen protokolleri kullanmas›n› engeller, bilinen istismarlardan korur. Yönetilebilirlik Ço¤unlukla linux’un bir iflletim sistemi olarak seçilmesinde en önemli etkenlerden biridir. Baz› bafll›klar›n detayl› olarak aç›klanmas› bu konunun öneminin kavranmas› aç›s›dan faydal› olacakt›r. • ‹flletim sisteminin modüler yap›da olmas›: Linux çekirde¤i modüler bir yap›da tasarlanm›flt›r. Bunun anlam›, çekirdek bütün modülleri içeren tekbir binary de¤ildir. Merkezi küçük ve baz› temel modülleri içeren bir tek binary çekirdek vard›r ve ihtiyaç duyuldu¤unda baflka modüller bu çekirde¤e yüklenebilir. Çekirdek kadar uygulama çerçeveleri de modülerdir. Perl, Python ve PHP gibi script çal›flt›ran uygulamalar veya editör programlar› (gedit, vi) çekirdek içerisinde de¤ildirler ve kolayl›kla de¤ifltirilebilirler. Bu modüler yap› sayesinde güncellemelerde veya yamalarda da iflletim sistemini yeniden bafllatmak zorunda kal›nmaz. 50 HABER LINUX • Güncelleme/Yama mekanizmas›: Güncellemeler ve yamalar yeniden bafllatmay› gerektirmeyecek bir mekanizma ile yüklenmektedirler. Bu ifllemler online yap›labilabilmekle birlikte, yeni güncellemeler ve yamalar düzenli tarifelerle otomatik olarak da yap›labilmektedir. • Uzaktan eriflim ve destek: Linux iflletim sistemi çok kuvvetli uzaktan yönetim ve ba¤lant› araçlar›na sahiptir. TCP/IP üzerinden sisteme ulafl›l›r ve bütün yönetim yap›labilir. Buaraçlar›n en popüler olanlar› Webmin, Big Brother/Big Sister ve Nagios’tur. Toplam Sahip Olma Maliyetleri Linux birçok alternatife sahiptir. Aç›k kaynak ile özgür yaz›l›m dünyas›ndaki uygulamalar, istenilen çözümlere farkl› yöntemlerle sahip olma özgürlü¤ü sa¤lamaktad›r. Bu özellik sahip olmak için farkl› maliyetlerin oluflmas›n› sa¤lar ve bu maliyetleri özgürce seçebilme imkan› tan›r. Anl›k getirilerden çok, uzun vadede yap›lan yat›r›mlar›n kazançlar› olarak özetlenebilir. Seçim Yapmak Kriterler seçim yapmak için her zaman yeterli olmayabilir. Bah- 48-51 2/18/06 8:30 PM Page 5 Fonksiyon ‹nternette gezinme e-posta An›nda mesajlaflma/chat Çizim Ofis Dosya yönetimi Arfliv Gösterici Multimedya oynat›c›s› Linux/Aç›k Kaynak Uygulamas› Mozilla.org/FireFox Mozilla.org/Thunderbird/Ximian Evolution GAIM/Kopete GIMP OpenOffice.org (Writer, Spreadsheet, Impress) Konqueror (KDE), Nautilus (Gnome) Karchiver,ark (KDE), FileRoller (Gnome) Konqueror, KView(KDE), Nautilus (Gnome), Adobe® Acrobat® Reader® for Linux xmms, xine, RealPlayer (Tablo 1) beklediklerini iyi bir flekilde anlamalar› ve ortaya koymalar› gerekmektedir. ‹htiyaçlar do¤ru belirlendi¤inde Linux iflletim sistemine geçifl çok baflar›l› bir flekilde gerçeklefltirilebilir. Örne¤in IBM’in kurumsal müflterilerinde yapt›¤› geçifllerde kulland›¤› segmentasyon bizlere kendi geçifl hedeflerimiz ile ilgili bilgi verebilir. Rol-tabanl› istemci segmentasyonu en çok kullan›lan kurumsal müflteri geçifl çal›flmas› olmufltur. Rol-tabanl› segmantasyon befl ana bafll›kta toplanabilir, bunlar • Sabit fonsiyonlu: Kullan›lan uygulamalar s›n›rland›r›lm›fl, eposta ve mesajlaflma kullanmayan, sadece taray›c› ile internet üzerinde ifllem yapan kesimdir. Örnek Kiosklar veya POS sistemleri. • Teknik ifl istasyonu: Kulland›klar› uygulamalar s›n›rl›d›r, basit ofis ve mesajlaflma ürünleri ihtiyaçlar› bulunmaktad›r. Taray›c› ile internet veya intranet üzerinde ifllemler yaparlar. Dosya veya yaz›c› sistemlerini kullan›lar. Örnek CAD/CAM ifl istasyonlar›. • Ticari ‹fl istasyonu: ‹fl süreçlerine göre uygulama kullan›larlar, teknik ifl istasyonundaki di¤er ifllemlerin tamam›n› kullanabilirler. Örnek Yard›m Masas› ifl istasyonu, seyahat flirketleri ifl istasyonlar›. • Temel Ofis: ‹fl süreçlerine göre uygulama kullan›larlar, temel ofis uygulamalar› kullan›lar, ticari ifl istasyonundaki di¤er ifllemlerin tamam›n› kullanabilirler. Örnek: ‹dari ifller ifl istasyonlar›. • Geliflmifl Ofis: ‹fl süreçlerine göre uygulama kullan›rlar, geliflmifl ofis ürünleri, geliflmifl e-posta ve mesajlaflma ile geliflmifl taray›c› özellikleri kullanabilirler. Örnek Proje Yöneticisi, mühendis, sat›fl uzman› gibi kiflilerin ifl istasyonlar›. Buradan yola ç›karak bir son kullan›c›n›n kiflisel bilgisayar›nda yapmay› hedefledi¤i ifllemler için bir segmentasyon yap›labilir. Örne¤in internette gezi ve mesajlaflma yapmak, ofis ürünleri kullanmak ve basit çizimler yapmak isteyen birisi kendisi için bir kurulum tasar›m› ve geçifl yapabilir. Burada geçifl tablosu olarak adland›raca¤›m›z basit bir tablo iflimizi görecektir. (Tablo 1) Örnek olarak Ximian Evolution program›n›n MS Exchange 2000 uygulamas›na ba¤lanmas›. (fiekil 1) Linux di¤er iflletim sistemlerin aksine masaüstü ortam›nda birden fazla seçim imkan› sunar. KDE desktop ve GNOME desktop en çok kullan›lan masaüstü ortamlar›d›r. Böylece masaüstü ortam›nda da seçim yapma flans›n›z olmaktad›r. Geçifl Öncesi Geçifl sürecinden önce linux ile deneme yapman›n en kolay yolu canli linux cd’lerini kullanmakt›r. Bu cd’ler yard›m› ile linux bilgisayar›n›za yüklenmeden cd üzerinden çal›flarak açabilir, gerekli test ve denemeleri burada yapabilir ve seçiminizi yapabilirsiniz. HABER LINUX 51 52-56 2/18/06 8:39 PM Page 2 Linux için dokunmatik ekran kurun 52 HABER LINUX 52-56 2/18/06 8:39 PM Page 3 Bir PSOne LCD'nin dokunmaya duyarl› ekran girifliyle kurulmas› ve yap›land›r›lmas› Düzey: Bafllang›ç | Greg Lindley (lindleyg@us.ibm.com), Sistem Destek Mühendisi, IBM| Geçmiflte, kullan›m› kolay arabirimlerin eksikli¤i Linux'un son kullan›c›lar için uygun bir ticari ürün olmas›n›n önünde bir engel oluflturmufltur. Ancak bu durum sunulan GUI'lerle de¤iflti. Tüketicilere yönelik kullan›m› kolay Linux tabanl› bir ürün yaratmak için gerekli bir sonraki ad›m nedir? Kullan›c› odakl› bir dokunmaya duyarl› LCD ekran eklemeyi düflünün. Dokunmaya duyarl› ekran cephesi, arka uçtaki Linux uygulamalar›n› özel dijital ortam merkezleri (evde ya da otomobillerde), DVR'ler ve PVR'ler, hatta ev robotlar›n›n kontrol arabirimleri gibi ayg›tlar için çok kullan›fll› yapabilir. Potansiyel kullan›c›lar›n s›n›r› yaln›zca hayal güçleridir. Bu yaz›da, Linux için bir Sony PSOne'dan al›nan bir LCD'nin kurulmas›, bir yap›land›rma sat›r› yarat›lmas› ve dokunmaya duyarl› ekran kurulmas›na iliflkin genel bilgiler edinebilirsiniz. KDE, GNOME/Nautilus, OpenWindows, WINE, vb. gibi birçok GUI, kullan›c›lar›n Linux uygulamalar›n›n gücüne eriflmesini kolaylaflt›r›yor. Linux'u tüketici ayg›t› arenas›na daha sa¤lam yerlefltirmek için bu birleflime hangi bilefleni ekleyebiliriz? Bir dokunmaya duyarl› ekran. Dokunmaya duyarl› ekranla, bir Linux ayg›t›, dijital video kaydedici, TiVo benzeri kiflisel video kaydedici, ortam merkezi, ak›ll› ev sistemi, hatta bir tost makinesinin kontrol arabirimi gibi birçok ayg›t›n denetleyicisi olarak kullan›labilir. Olas›l›klar s›n›rs›zd›r. Dokunmaya duyarl› ekranlar önceden paketlenmifl ya da ayr› olarak paketlenmifl çeflitli çözümler olarak sunulur. Bu ekranlar neredeyse CRT'ler kadar uzun zamand›r piyasadalar ve flimdi de LCD olarak boy gösteriyorlar. Baz› durumlarda, dokunmaya duyarl› ekran zaten görüntü birimiyle bütünlefltirilmifl oluyor. Baz› durumlardaysa (bu yaz›da ele al›naca¤› gibi), boyut ve ifllev bak›m›ndan uyumlu olmas› gereken ayr› birimler olarak bulunuyorlar. Bu yaz›da LCD (görüntü ekran›), yap›land›rma sat›r› (modeline; sunucuya monitörü nas›l çal›flt›raca¤›n› söyleyen bir sat›r) ve dokunmaya duyarl› ekran›n (girifl için) kurulmas› ve yap›land›r›lmas› için gerekli haz›rl›k ad›mlar›na iliflkin genel bilgiler veril- mifltir. Ayr›ca, bir dokunmaya duyarl› ekran› bütünlefltirmeye bafllad›¤›n›zda akl›n›za gelebilecek baflka sorulara iliflkin kaynaklar da sa¤lan›r. LCD'nin kurulmas› Dokunmaya duyarl› ekran yaln›zca girifl içindir; bu nedenle, görüntü sa¤layabilmek için arkas›nda baflka bir fley olmal›d›r. Kullan›c› arabirimini görüntülemesinin yan›nda, görüntü afla¤›daki iki flekilde yap›labilen ayar ifllemi için de kullan›labilir: • Kolay olan yol çeflitli sat›c›lardan birinden bir LCD almak ve bunu bir kiflisel bilgisayar sistemine ba¤lamakt›r. Yaln›zca, ba¤lant›lar›n ister do¤rudan, ister bir ba¤daflt›r›c› arac›l›¤›yla video kart›n›zla birlikte çal›flt›¤›ndan emin olun. • Daha zor olan ve bu yaz›da aç›klanan yol, oldukça ucuz bir fiyata bir PSOne LCD edinmektir. Bu yolu izlerseniz, baz› lehim ve kablo kesme iflleri yapman›z gerekecek ancak bu de¤ifltirme için sa¤lanan yönergelerden birini izlerseniz bu iflleri fazla zorluk çekmeden yapabilirsiniz. Bu yolu izleyip bir PSOne LCD kullan›rsan›z, CSYNC (composite sync) sinyali olan bir video kart› gerekir (birçok ATI ve Matrox kart›nda vard›r). CSYNC sinyali olmayan kartlarda bu sinyali üretmek için bir devre oluflturabilirsiniz, ancak bu sinyali üreten bir kart sat›n almak çok daha kolayd›r. Güç ba¤lant›s›n›n yap›lmas› LCD, görüntü birimini çal›flt›rmak ve ›fl›kland›rmak için güç gerektirir. LCD kuruluflunda oldu¤u gibi, bir zor, bir de kolay yol vard›r: • Kolay yolu, ihtiyaçlar›n›za göre, duvardaki bir prize ya da araba ba¤daflt›r›c›s›na tak›labilecek bir LCD almakt›r. Kiflisel bilgisayar için de duvardaki prizden güç al›naca¤›ndan duvardaki bir prize tak›lmas› basittir. • Zor (ve benim tercihim) olan yol ise eBay'dan bir araba güç ba¤daflt›r›c›s› almakt›r. Bu ba¤daflt›r›c›, s›radan bir bilgisayar kasas›nda güç kayna¤›yla sa¤lanan voltaj de¤eri olan 12 volt'u kullan›r. ‹fllevsel olarak ayn› olduklar›ndan ben "Hooking up a Neon Light" (Neon Ifl›¤› Ba¤lanmas›) adl› k›lavuzu izledim. De¤ifliklikleri yapt›ktan sonra, do¤rudan kiflisel bilgisayar›n güç kayna¤›na tak›l›r. Yine, baz› HABER LINUX 53 52-56 2/18/06 8:39 PM Page 4 Liste 1. xorg.conf yap›land›rma dosyas› # Xorg configuration created by system-config-display Section "ServerLayout" Identifier "Single head configuration" Screen 0 "Screen0" Absolute 0 0 # Screen 1 "Screen1" Absolute 640 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "TKPANEL" "SendCoreEvents" Option "AllowMouseOpenFail" "true" EndSection Section "Files" RgbPath FontPath EndSection "/usr/X11R6/lib/X11/rgb" "unix/:7100" Section "Module" Load "dbe" Load "extmod" Load "fbdevhw" Load "glx" Load "record" Load "freetype" Load "type1" Load "dri" Load "v4l" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "pc105" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/input/mice" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "yes" EndSection Section "InputDevice" Identifier "TKPANEL" Driver "touchkit" Option "Device" "/dev/tkdat0" Option "DebugLevel" "0" EndSection Section "Monitor" Identifier VendorName ModelName HorizSync Option Modeline 493 524 interlace EndSection "Monitor0" "Monitor Vendor" "LCD Panel 640x480i" 15.720 "dpms" "640x480" 13.582 640 704 768 864 480 486 -hsync -vsync Section "Device" Identifier "Videocard0" Driver "radeon" devam› yan sayfada 54 HABER LINUX kablo kesme ve lehimleme iflleri yapman›z gerekir, ancak sonunda ek bir duvar prizi kullanmaktan kurtulursunuz. fiimdi yap›land›rma sat›r› konusuna geçelim. An›msatma: Yap›land›rma Sat›r› (Modeline) nedir? Yap›land›rma sat›r›, bir yap›land›rma dosyas›nda yer al›r ve sunucuya, ba¤l› bir bilgisayar monitörü ve bunu belirli bir görüntü çözünürlü¤ünde nas›l çal›flt›raca¤› hakk›nda bilgi verir. (Önceden XFree86 içinde XF86Config olarak geçiyordu.) Art›k, yap›land›rma sat›r› birçok Linux/UNIX® sürümünde kullan›lm›yor çünkü sunucu yap›land›rmay› afla¤›daki di¤er etkenlere göre bafllang›ç s›ras›nda hesapl›yor: • Sunucu yap›land›rma dosyas›ndaki genel ve kullan›m› kolay ayarlar • Bir EDID sorgusu ile edinilen gereken monitör yetenekleri EDID (Extended Display Identification Data; Geniflletilmifl Görüntü Tan›t›m Verileri), bir VESA standart veri biçimidir ve monitor ve yeteneklerine iliflkin temel bilgileri içerir. Örne¤in, sat›c› bilgileri, maksimum görüntü büyüklü¤ü, renk özellikleri, fabrikada ayarlanan zamanlamalar, frekans aral›¤› s›n›rlar› ve monitörün ad›na ve seri numaras›na iliflkin karakter dizeleri gibi. Bilgiler görüntü biriminde saklan›r ve monitör ve PC grafik ba¤daflt›r›c›s› aras›nda bulunan bir Görüntü Veri Kanal› (DDC) arac›l›¤›yla sistemle iletiflim kurmak için kullan›l›r. En son EDID sürümü CRT görüntü birimlerinde, LCD görüntü birimlerinde ve EDID hemen hemen tüm görüntü parametrelerinin genel tan›mlamalar›n› sa¤lad›¤›ndan gelecekte ortaya ç›kacak görüntü birimi türlerinde kullan›labilir. Tek bir yap›land›rma sat›r›, belirtilen çözünürlü¤e iliflkin bir etiketle bafllayan 10 parametre içerir. ‹kinci parametre piksel s›kl›¤›n›n h›z›n› megahertz cinsinden belirtir. Bunu dört rakamdan oluflun iki grup izler. ‹lk grup x-çözünürlü¤ünü (genifllik) ve ilgili parametreleri; ikinci grup y-çözünürlü¤ünü (yükseklik) belirtir. Seçenekler için, yatay ve dikey zaman uyumluluflt›rmay› denetlemede kullan›lan baflka parametreler eklenebilir; ayr›ca, birbirine geçmeli (interlaced) ve çifte tarama (doublescan) modlar› için de seçenekler vard›r. O zaman neden yap›land›rma sat›r› için endifle duyal›m? Eski, yayg›n olmayan ya da ince ayarlar› yetersiz olan görüntü donan›mlar›nda, yap›land›rma sat›rlar›n› elle ayarlamak tek uygun seçim olabilir. Uygun yap›land›rma sat›r› belirlenmesi LCD'yi takmak için kolay yöntemi izlediyseniz, Linux iflletim sistemi önyüklendi¤inde ekran›n›z otomatik olarak tan›nabilir; bu durumda, dokunmaya duyarl› ekran› kurmaya bafllayabilirsiniz. Daha zor olan yöntemi izlediyseniz ya da LCD'niz otomatik olarak tan›nmad›ysa, özel bir yap›land›rma sat›r› oluflturman›z gerekebilir. Google'da sorgu gerçeklefltirerek, üreticilerin 52-56 2/18/06 8:39 PM Page 5 Tablo 1. Linux yap›land›rma sat›rlar› Kart Matrox Mystique Matrox Millenium G200 Matrox Millenium G200 ATI 7000 ATI 7000 ATI 9600XT ATI 9700 EPIA 800 NTSC/PAL NTSC NTSC PAL NTSC PAL NTSC PAL NTSC Yap›land›rma Sat›r› "640x480" 12.954 640 680 744 816 480 496 504 528 interlace +hsync +vsync "640x480" 13.193 640 688 752 832 480 492 500 524 interlace -hsync -vsync "720x576" 14.875 720 736 800 896 576 602 606 668 interlace +hsync +vsync "640x480" 12.175 640 664 720 784 480 486 493 524 interlace +hsync +vsync "720x576" 14.950 720 763 859 920 576 580 584 588 interlace +hsync +vsync "640x480" 13.582 640 704 768 864 480 486 493 524 interlace -hsync -vsync "720x576" 14.881 720 781 829 960 576 606 610 646 interlace +hsync +vsync "640x480" 13.678 640 672 736 800 480 486 494 524 interlace composite Liste 1. xorg.conf yap›land›rma dosyas› VendorName "Videocard vendor" BoardName "ATI Radeon 9600" Option "ForceMinDotClock" "13M" EndSection Liste 1’in devam› Çekirdek önyükleme seçenekleri Bu seçeneklerin eklenece¤i ikinci yer önyükleme ifllemi s›ras›ndad›r; böylece çekirdek, bilgileri do¤ru görüntüleyebilir. Hangi seçeneklerin sa¤lanaca¤›n› belirlemek için en iyi yer Framebuffer Howto adl› yay›n›n 15. Bölümünü kullanmakt›r. Liste 1'deki xorg.conf yap›land›rma dosyas›n› ve Framebuffer Howto adl› yay›n›n 18. Bölümünü kullanarak afla¤›daki (do¤ru) video önyükleme parametresini bulun: Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Viewport 0 0 Depth 16 Modes "640x480" EndSubSection EndSection Section "DRI" Group Mode EndSection ayg›t sürücüsü kulland›¤›m dokunmaya duyarl› tak›m›n kurulufl k›lavuzundan al›nm›flt›r. Bunlar, sizin kulland›¤›n›z dokunmaya duyarl› ekran›n üreticisine ba¤l› olarak farkl› olabilir. Liste 2. Çekirdek önyükleme seçenekleri kernel /vmlinuz-2.6.11-1.27_FC3 ro root=/dev/VGROOT/LVROOT rhgb quiet vga=0x301 video=radeonfb:xres:640,yres:480,depth:16,left:96 ,right:64,hslen:64,upper:31, 0 0666 lower:6,vslen:7,pixclock:13582 belirtimlerini denetleyerek ya da uygun yap›land›rma dosyas›nda bulunan çeflitli sat›rlar› deneyerek birçok yap›land›rma sat›r› toplanabilir. PSOne LCD kuruyorsan›z, uygun bir yap›land›rma sat›r› elde etmenin en kolay yolu Windows tabanl› bir kiflisel bilgisayar ve PowerStrip arac› (birçok video kart› için geliflmifl, birden çok görüntü birimli, programlanabilir donan›m deste¤i sa¤lar) kullanmakt›r. LCD'nin yerel çözünürlü¤ünü biliyorsan›z, bu de¤erle bafllamal›s›n›z. PSOne LCD için 640x480i (Arcade) de¤eriyle bafllamal›s›n›z. Burada, Sabit bir resim elde edene kadar tarama h›z›n› (PowerStrip arac›n›n de¤ifltirmenize izin verdi¤i bir ayard›r) ayarlaman›z gerekebilir. Tablo 1'de PSOne LCD'ye iliflkin çeflitli video kartlar›na uygun yap›land›rma sat›rlar› listelenmifltir. Bunlar› Internet'te arama yaparak buldum. Bu video kartlar›n› tümüne eriflemedi¤im için önerebilece¤im tek kart kendi kulland›¤›m ATI 9600XT. Bu listede hata oldu¤unu görürseniz ya da listeye eklemede bulunmak isterseniz lütfen bana e-posta gönderin (lindleyg@us.ibm.com). Yap›land›rma sat›r›n›n yerlefltirilmesi Do¤ru yap›land›rma sat›rlar›n› belirledikten sonra, bu bilgilerin aktar›lmas› gereken iki yer vard›r. ‹lk yer xorg.conf yap›land›rma dosyas›, ikincisi de önyükleme parametreleridir. fiimdi her ikisine de göz atal›m. xorg.conf yapılandırma dosyası Liste 1, xorg.conf yap›land›rma dosyas›na örnektir. Baflka bir Monitor/Ekran tan›t›c›s› ekleyerek bunu kolayl›kla çift bafll› bir görüntü (dualhead display) ayar›na çevirebilirsiniz. Ayr›ca, ForceMinDotClock seçene¤ine dikkat edin. ATI 9600XT minimum nokta s›kl›¤›n› 20M olarak bildirir, ancak asl›nda daha düflük olabilir. Bu seçenek nokta s›kl›¤›n› yap›land›rma sat›r› içinde daha düflük bir de¤ere ayarlaman›z› sa¤lar. PSOne LCD'nin görüntü birimini çal›flt›rmas› için daha düflük bir nokta s›kl›¤› (12M15M aral›¤›nda) gereklidir. Kulland›¤›n›z LCD'ye göre bu ayar› eklemeniz gerekebilir ya da gerekmeyebilir. Bu listede dokunmaya duyarl› tak›m için gerekli bilgiler de yer al›r. Ayg›t ve Bu video seçene¤ini uygun önyükleme yap›land›rma dosyas›na (GRUB için menu.lst ya da LILO için lilo.conf) eklemeniz gerekir. Video seçene¤i rhgb (Red Hat Graphical Boot) bafllamadan iflleme dahil olmaz. vga=0x301, grafikleri 640x480 olarak ayarlar (Howto yay›n›nda Bölüm 5.3'e bak›n). PSOne ekran› için gerekenleri sa¤lamaz ancak rhgb öncesinde gelen metnin daha iyi görüntülenmesini sa¤lar. Dokunmaya duyarl› ekran›n kurulmas› Yapman›z gereken ilk fley uygun dokunmaya duyarl› ekran yaz›l›m› kurmakt›r. Benim kulland›¤›m dokunmaya duyarl› ekrana iliflkin yaz›l›m› eGalax'tan yükleyebilirsiniz. FC3 da¤›l›m›n› kulland›¤›m için FC3 görüntüsünü yükledim. Yapmak zorunda kald›¤›m tek de¤ifliklik, oluflturma ifllemini X sunucusunun x86_64 "include" dosyalar›na göstermek oldu. Bunun için touchkit_drv.o dosyas›na iliflkin "makefile" içine -I/usr/X11R6/lib64/Server/include dizesini koydum. Kurulufl 32 bitlik sistem için belirlenmifltir, bu nedenle, bu ifllemi yaln›zca 64 bitlik sistem kullanmak zorundaysan›z yapman›z gerekir. Liste 3 xorg.conf yap›land›rma dosyas›ndaki 2 sat›r› gösterir. ‹lk sat›r X sunucusuna tüm temel olaylar› TKPANEL ayg›t›na ve fareye göndermesini söyler (böylece her ikisi de ayn› anda kullan›labilir). HABER LINUX 55 52-56 2/18/06 8:39 PM Page 6 Dokunmaya duyarl› ekran nedir? Dokunmaya duyarl› ekranlar bir görüntü biriminin bir girifl ayg›t› olarak kullan›lmas›n› sa¤layarak görüntü birimindeki içerik üzerinde ifllem yapmak için kullan›lan birincil girifl ayg›t› olan klavye ya da fareyi ortadan kald›r›r. Dokunmaya duyarl› ekran panelleri genellikle afla¤›dakilerden biridir: • Bas›nca duyarl› (dirençli) • Elektri¤e duyarl› (kapasite) • Sese duyarl› (SAW, yüzey ses dalgas›) • Ifl›¤a duyarl› (k›z›l ötesi) ‹lk olarak POS (sat›fl noktas›), ATM, PDA ve di¤er bilgi ayg›t› görüntü birimlerinde kullan›lan dokunmaya duyarl› ekranlar›n kullan›m›, a¤›r sanayide kontrol yüzeyleri olarak h›zl› bir flekilde yayg›nlaflmaktad›r çünkü bu ekranlar montaj hatt› koflullar› gibi h›zl› de¤iflen koflullara uyum sa¤lamaktad›r. Bir bak›ma bu yayg›nlaflma nedeniyle, SoC (System on a Chip; Yonga üzerindeki Sistem) ve görüntü birimi üreticileri dokunmaya duyarl› ekran yeteneklerini kendi ürünleriyle bütünlefltirmeye bafllam›fllard›r; önceden bu gereksinim yedek parça üreticileri taraf›ndan karfl›lan›yordu. fiekil 3. ‹kinci sat›r fare olmad›¤›nda X görüntü biriminin getirilmesinin sürdürülmesini söyler. Bu flekilde, dokunmaya duyarl› ekran sisteme ba¤l› bir fare olmadan kullan›labilir. Liste 3. xorg.conf dosyas›ndaki iki önemli sat›r InputDevice "TKPANEL" "SendCoreEvents" Option "AllowMouseOpenFail" "true" fiekil 1. touchcfg yap›land›rma yard›mc› program› fiekil 2. rhgb ekran› 56 HABER LINUX Dokunmaya duyarl› ekran›, touchcfg yap›land›rma yard›mc› program›yla (ya da sizin dokunmaya duyarl› ekran›n›z için uygun baflka bir yard›mc› programla) yap›land›rman›z gerekir. fiekil 1 touchcfg yard›mc› program›n›n ekran görüntüsüdür. Bu yard›mc› program› kullanarak, dokunmaya duyarl› ekrana görüntü biriminizin kenarlar›n›n yerlerini belirten ayarlamalar› yapabilirsiniz. Daha fazla noktal› bir ayar (4pt yerine 25pt), ekran konumlar›n›n daha iyi yak›nlaflt›r›lmas›n› sa¤lar. Ayr›ca, bu yard›mc› program basit bir çizim testi gerçeklefltirmenizi ve çift t›klatma h›z› ve alan› belirlemenizi de sa¤lar. Di¤er dokunmaya duyarl› ekranlara iliflkin yap›land›rma programlar›nda daha fazla ya da daha az özellik olabilir. Bu ifllem tamamland›¤›nda, kurulufl bitmifl olur. Makine yeniden önyüklendi¤inde, dokunmaya duyarl› ekran s›radan bir fare gibi çal›flacakt›r. Metnin üzerine parma¤›n›z› koyarak metin ya da simge seçebilirsiniz. Sa¤ fare t›klatmas› için parma¤›n›z› afla¤› bast›r›n. fiekil 2 ve 3'te LCD için baz› önyükleme ekranlar› gösterilmifltir. Yazar hakk›nda Greg Lindley IBM'deki VMware ESX ürün destek ekibinin lideridir ve VMware ürünü için iki y›ld›r destek vermektedir. Ayr›ca, befl y›ldan uzun bir süredir Linux deste¤i, on befl y›ldan uzun süredir de UNIX deste¤i vermektedir. Greg Lindley'e lindleyg@us.ibm.com adresinden eriflebilirsiniz. 58-59 2/18/06 9:08 PM Page 2 GNU/Linux iflletim sisteminin belki de en güzel özelliklerinden biri yedek alma konusunda sistematik olarak sa¤lad›¤› kolayl›klard›r. En basit haliyle /home/kullanici dizininin yede¤ini ald›¤›n›z takdirde, herhangi bir Unix sisteminde bu dizini gerekli yere koyarak e-postalar›n›z baflta olmak üzere uygulama ayarlar›n›za bile ulaflabilirsiniz. Fakat dosya baz›nda al›nan yedekler her zaman iflinizi görmeyebilir. Baz› durumlarda iflletim sistemi de dahil olmak üzere bütün partisyonun (disk bölümü) hatta bütün diskin imaj›n› alman›z gerekebilir. Zira sistemde bir problem ç›kt›¤›, harddiski kaybetti¤iniz acil durumlarda 58 HABER LINUX iflletim sistemini yükleyip ard›ndan uygulamalar› teker teker yüklemek ve ayarlamak sizin için çok da önemli olan zaman kay›plar›na yol açabilir. Bu gibi durumlarda izlenebilecek iki temel yol vard›r. Bunlardan birincisi uygun bir zamanda sistemi Knoppix veya benzeri bir live-cd ile aç›p bütün dosya sistemini tar.gz'leyip bir yerlere kald›rmak ve yeri geldi¤inde (disk uçtu¤unda) yine Knoppix ile aç›p gerekli partisyon yap›s›n› oluflturup dosyalar› yerine koymak. Ya da bütün bu ifllemi partimage gibi bir programla partisyon baz›nda gerçeklefltirmek. Aç›kças› bu her zaman yedekleme amaçl› yap›lan bir ifllem de¤ildir. Baz› durumlarda da birbirinin ayn›s› olan onlarca makinaya ayn› kurulumu tekrar tekrar yapmamak için böyle bir uygulamaya gidebilirsiniz. Partimage program› her iki durum için de bize oldukça büyük kolayl›klar sa¤lar. Herfleyden önce bu ifl için içinde partimage olan bir livecd oluflturmak zorunda de¤ilsiniz, çünkü baflta Knoppix ve türevleri (FeatherLinux, Damn Small Linux vs.) olmak üzere belli bafll› birçok livecdnin içinde partimage zaten bulunmakta. Bir baflka avantaj ise burada anlataca¤›m›z yöntemle sadece klasik Linux dosya sistemi olan ext2 sistemleri de¤il, ext3, reiserfs, fat32, hpfs, jfs, xfs, ufs gibi popüler Unix formatlar›n›n yan›s›ra HFS (MacOS) ve NTFS'i de desteklemektedir. Knoppix'den boot edebilmemiz sayesinde iflletim sisteminden de ba¤›ms›z oldu¤umuzu düflünürsek hemen her türlü partisyonu partimage ile klonlamam›z mümkün olabilmektedir. http://www.partimage.org adresinden indirebilece¤iniz program hemen 58-59 2/18/06 9:08 PM Page 3 her da¤›t›m›n program listesinde de yeralmakta. Bu ifllemlerin nas›l yap›ld›¤›n› görmek için bir örnek durum yaratal›m. Diyelim ki art›k b›kt›n›z Windows'un problemlerinden ve makinan›za Linux yükleyip denemek istiyorsunuz. Fakat yapaca¤›n›z denemeler s›ras›nda bir harf hatas› yüzünden (hda yerine hdb mesela :) öbür iflletim sisteminizin uçmas›n› da istemiyorsunuz. Bu sebeple NTFS partisyonunuzun imaj›n› al›p bunu network üzerinde bir yerlere kopyalamak istiyorsunuz. Bunun için Knoppix cdsini bilgisayar›n›za tak›p ordan boot ediyoruz. Aç›l›flta knoppix 2 demeniz yeterli, yapaca¤›m›z ifllemler için grafik ortama hiç gerek yok. Knoppix'i boot ettik ve flu anda komut sat›r›nday›z. fiimdi ihtiyac›m›z network üstünden yaz›labilir bir depolama alan›na ihtiyac›m›z var. Kopyalayaca¤›m›z partisyonun NTFS oldu¤unu düflünürsek, Windows komflulu¤unda bulundu¤umuzu varsaymak çok da ters olmayacakt›r. mount -t smbfs -o username=kullani ci,password=sifre //192.168.1.190/E$ /root/mnt/k Burada yapt›¤›m›z imaj›m›z› koyaca¤›m›z smbfs (samba filesystem) üzerinden 192.168.1.190 makinas›ndaki E sürücüsünü /root/mnt/k alt›na mount etmek. Partimage'› çal›flt›rd›¤›m›zda karfl›m›za ilk flekildeki gibi bir ekran gelecek. Burada imaj›n› almak istedi¤imiz partisyonu seçmemiz gerek. Denemeler s›ras›nda türkçe ayarlar›yla çal›flt›r›ld›¤›nda ok tufllar›n›n çal›flmad›¤›na flahit oldum. Bu sebeple tavsiyem knoppix'i lang=tr olmadan açman›z. Burada gerekli partisyonu seçtikten sonra yazaca¤›m›z imaj dosyas›n›n ismini belirleyip ard›ndan imaj m› yazaca¤›z ya da imajdan diske mi yazaca¤›z onu seçmemiz gerekiyor. Partimage sistem olarak network üstünden sunucu/istemci mant›¤› ile de çal›flabilmekte. Yine knoppix ile boot edip bir makinay› partimage server yap›p di¤er makinalar›n ondan imaj almas›n› sa¤layabiliyoruz. Hatta bu ifli ssl ile flifrelenmifl olarak yapmak bile mümkün. Burada gerekli ayarlar›m›z› yapt›ktan sonra <F5> Next ile bir sonraki ekrana geçiyoruz. Burada imaj› olufltururken kullanaca¤›m›z s›k›flt›rma algoritmas›n› seçiyoruz. Benim tavsiyem gzip ya da s›k›flt›rma kullanmamak. E¤er multimedya dosyalar› ve zip dosyalar› a¤›rl›kl›ysa imaj› al›nacak partisyon, gzip kullanmak ifllemi uzatabilir, öte yandan bzip ancak yer çok önemli oldu¤u durumlarda (mesela cdroma s›¤d›rmak gerekirse) kullan›lmal›. Kaydetti¤imiz imaj› istersek parçalara bölebiliriz. Bunun cdlere s›¤d›rmak ya da maksimum dosya boyutu 2Gb olan vfat partisyonlara parça parça kaydetmek için kullanabiliriz. Bütün detaylar› partimage halledecektir. Son olarak da ifllem bitti¤inde ne yapaca¤›m›z› seçiyoruz. Bir kez daha Next yapt›¤›m›zda ise kaydetti¤imiz partisyonla ilgili bir aç›klama yazacaksak onu yaz›yoruz. Ve partisyon kaydetme ifllemine bafll›yoruz. fiimdi partisyonun boyutuna, seçti¤iniz s›k›flt›rma algoritmas›na göre bir müddet beklemeniz gerekiyor. Benim örne¤imde 15Gb'l›k bir ntfs partisyonun imaj› 45 dakikada a¤ üstünden di¤er makinaya nakledildi. NTFS konusunda dikkat edilmesi gereken bir husus bu deste¤in flu an için deneysel oldu¤u. Bu sizi çok korkutmas›n zira bu deneysellik tehlikeli de¤il. En kötü ihtimalle ilk aflamada partisyonun imaj›n› oluflturam›yorsunuz. E¤er imaj oluflturulduysa geri yaz›lmas› konusunda bir problem ç›km›yor. Bu yapt›¤›m›z ifllemi hiç gui kullanmadan komut sat›r›ndan yapmak da mümkün. partimage -z1 -o -d save /dev/hda4 /root/mnt/k/dosya Geri açmak için yapaca¤›m›z ise daha bile basit; imaj› açaca¤›m›z makinada knoppix boot edip partimage restore /dev/hda4 /ro ot/mnt/k/dosya Tabi e¤er bir win2000 partisyonun imaj›ndan geri dönüyorsan›z, windows install cdsi ile aç›p bootloader›n makinadaki partisyonlara göre ayarlanmas›n› sa¤laman›z gerek. E¤er linuxtan aç›yorsan›z ise sözkonusu partisyonu mount edip, chroot ile içindeki lilo komutunu çal›flt›rman›z gerekmekte.(Baflka bir partisyon/makinadan ald›¤›n›z bir imaj› baflka bir partisyon/makinaya restore etti¤inizde /etc/lilo dosyas› içinde boot partisyonunu de¤ifltirmeniz ve /etc/fstab dosyas›ndan da partisyon listesiyle oynaman›z gerekebilir.) Normalde backuptan dönüyorsan›z yapman›z gereken: mount /dev/hda4 /mnt/yeni chroot /mnt/yeni /sbin/lilo Bir baflka say›da görüflmek üzere. K›v›lc›m Hindistan HABER LINUX 59 60-61 2/18/06 8:45 PM Page 2 Acil Servis Uzun süredir Linux'u merak ediyorum. Ama etrafta o kadar çok Linux da¤›t›m› var ki aç›kcas› flüphe içindeyim. Neden bu kadar çok çeflitli da¤›t›m oldu¤unu da merak ediyorum aç›kcas›. Sizce yeni bafllayan birisi olarak hangi Linux da¤›t›m›n› seçmeliyim sizce? San›r›z son zamanlarda en çok karfl› karfl›ya kald›¤›m›z soru bu. Bu kadar çok alternatif olmas› sizin gibi bir çok insanda da kafa kar›fl›kl›¤›na sebep olabiliyor. Linux da¤›t›mlar›n›n neden bu kadar çok oldu¤unun cevab› basit; özgür yaz›l›m projelerinden oluflan GNU/Linux da¤›t›mlar› size çok genifl bir serbestlik tan›yor. Bu sayede isterseniz, bir da¤›t›m› örnek al›p 60 HABER LINUX daha sonra onda be¤enmedi¤iniz yönleri de¤ifltirerek kendi da¤›t›m›n›z› oluflturman›z mümkün. Bu sebeple de insanlar gerek kendi ülkelerine hitap etmek amaçl›, gerekse benzer ihtiyaçlara sahip kiflilere hitap etmek için da¤›t›mlar yap›yorlar. ‹steyen de bunlar içinde kendine daha uygun olan› kullan›yor. Size bu konuda bir tavsiyede bulunmak gerekirse önerimiz Ubuntu olacakt›r. Yeni bafllayanlardan, tecrübeli kullan›c›lara kadar çok genifl bir yelpazeye hitap edebilen Ubuntu, kolay kurulumu ve arkas›ndaki gün geçtikçe geniflleyen Ubuntu toplulu¤u sayesinde di¤er seçenekler aras›nda sivrilmekte. Bir baflka önerimiz de Debian GNU/Linux. En eski Linux da- ¤›t›mlar›ndan biri olan Debian, dünyada ve Türkiye'de oldukça ilgi görmüfl olmas› sayesinde her türlü probleminize k›sa sürede cevap bulabilece¤iniz bir da¤›t›m. Merhaba. Pentium 2-350 bir bilgisayar›m var. Debian Linux kurdum, her türlü iflimi iyi kötü görebiliyorum. Fakat özellikle divx dosylar›n› izlemek istedi¤imde performans problemleri yafl›yorum. Bu tür dosyalar› göstermek için Xine kullanmaktay›m. Bu konuda bir öneriniz var m›? Öncelikle bizim tavsiyemiz divx seyrederken ekran çözünürlü¤ünüzü 640x480'e (birçok divx genellikle bundan daha küçük boyuttad›r) ve görüntü derinli¤ini 16bit'e çekmeniz. Bu size ciddi bir performans fark› yaratacakt›r, fakat baz› durumlarda bu bile yeterli 60-61 2/18/06 8:45 PM Page 3 de. Debian Woody'de mesela apt-get instal udev yapt›¤›n›zda durum çok çirkinleflebilmekte :) Bu sebeple, flu an için udev'i çok önermiyoruz, fakat ilerde devfs'in yerini alaca¤› kesin gibi, sadece biraz daha olgunlaflmas› gerekmekte. Linux'a bafllayal› çok olmad›. Ubuntu kullan›yorum, genel olarak memnunum. Bir arkadafl›m›n tavsiyesi üzerine vi text editörü kullanmaya bafllad›m. Aç›kcas› çok zor oluyor, k›sa sürede gedit'e geri döndüm. Editör malum en çok kullan›lan programlardan biri, bu konuda acaba sizin ne gibi tavsiyeniz olabilir? Aç›kcas›, bu yaz› da flu anda bir vi varyant› olan vim'de yaz›l›yor. vi belki de istisnas›z her Unix sürümünde bulunan bir editör. Çok az kaynak gerektirmesi, bunun yan›nda çok detayl› ifllerin alt›ndan kalkabilmesi bak›m›ndan özel bir editör. Fakat özellikle yeni bafllayanlar için ciddi bir handikap› modlu bir editör olmas›. Yani klasik notepaddeki gibi de¤ifltirece¤iniz karakterin üstüne gidip yenisini yaz›n yaklafl›m› sözkonusu de¤il. Bunun sebebi de vi'› ilk gelifltirenlerin daha verimli bir sistem arama kayg›s›. Sizin için önerimiz vim edinip öncelikle onu Easy modeda notepad gibi kullanman›z. Vim'e al›flman›z ve daha karmafl›k özelliklerini kullanmay› ö¤renene kadar bu flekilde kullanman›zda fayda var. Vim'i böyle kullanabilmek için tek yapman›z onu komut sat›r›ndan evim fleklinde ya da vim -y ile ça¤›rman›z. Notepad ya da Gedit'de nas›l dosya düzenliyorsan›z ayn› flekilde vim'i de kullanabilir durumdas›n›z. Bunun d›fl›nda konsoldan kolayca kullanabilece¤iniz nano ve pico gibi editörler de mevcut. Grafik ekran içinse scite ve nedit'i fliddetle tavsiye ederiz. olmaz. Bunun için ise önerimiz Mplayer. Gerek destekledi¤i codeclerin say›s›, gerekse donan›m›n›z› maksimum performansta kullanabilmesiyle mplayer çok özel bir yere sahip. Ayr›ca ek olarak sahip oldu¤u onlarca konfigürasyon seçene¤i ile size çok genifl imkanlar tan›makta. Bu konuda mplayer› mplayerhq.hu sitesinden indirip derlemenizde fayda var. Bir baflka alternatif de videolanclient olabilir. Mplayer gibi hem Windows hem Linux versionu olan bu program da birçok codece sahip ve birçok aç›dan size uygun flekilde konfigüre edilebiliyor. Udev ayg›t sistemini kullanman›n ne gibi avantajlar› var tavsiye eder misiniz? Udev sistemi, Linux'da ayg›tlarla ba¤lant› kurmak için kullan›lan yeni bir sistemdir. Temel varl›k sebebi, devfs'in zorunluluklar›ndan biri olan ayg›t›n minör, major numaralar›na ba¤l› kalmamakt›r. Örnek olarak bilgisayar›n›za bir usb disk takt›¤›n›zda bunu /dev/sda1 diye ba¤l›yor olabilirsiniz. Fakat önce bir foto¤raf makinas›, ard›ndan da bir usb disk takt›¤›n›zda bu sefer usb diskinizi /dev/sdb1 diye ba¤laman›z gerekir. Bu ve bunun gibi problemlerden dolay› udev gelifltirilmeye bafllanm›flt›r. Bizim düflüncemiz, udev'in daha tam haz›r olmad›¤› fleklin- Biosumda bir problem var, saati devaml› geri kal›yor. Bilgisayar›m›n devaml› saatini Internet üzerinden ayarlamas› için ne yapmal›y›m? Bu ifl için kullan›lan protokolün ad› NTP (Network Time Protokol). Gelin bunu düzenli olarak saati ayarlayacak flekilde konfigüre edelim. Bu ifl için crontap ve rdate kullanaca¤›z. Crontab, bilgisayar›n›z›n belli zamanlarda belli iflleri yapmas›n› sa¤layan bir zamanlay›c›, bunu periodik bütün iflleriniz için kullanabilirsiniz. Önce (e¤er yoksa) bir crontab yarat›yoruz touch /var/spool/cron/crontabs/root Ve ard›ndan bu dosyay› düzenlemeye bafll›yoruz. Afla¤›daki sat›r› girip, 0 15,30,45 * * * /usr/sbin/rdate 128.4.40.12 | logger -t NTP ve ard›ndan da chmod 600 /var/spool/cron/crontabs/root /etc/init.d/cron restart komutlar›n› verdi¤imizde art›k düzenli olarak saatimiz Internet'teki bir NTP sunucusundan güncelleniyor olacak. HABER LINUX 61 62 2/18/06 9:58 PM Page 2 ‹PUCU nt etmek: ISO Dosyalar›n› mou Hangi program lar›n CD-Rom'u 9660 cd.iso /mnt/cd mount -o loop -t ISO kulland›¤›n› ö¤ renmek: lsof|grep /mnt/c drom mayacak Bir dosyay› kurtar›la lmek: flekilde (yüz defa) si do¤ru halini Bir kelimenin ö¤renmek shred -n 100 -z -u birkaç harf) in bafl›ndan look (kelimen hangi portu Hangi programlar›n görmek: kullan›yor oldu¤unu Bir mi lyar sa niye s onras› n›n tarihin i ö¤ren mek netstat -tap date d '+10 00 Mev lspc cut dona i -v (dah n›m alma a fa zla Bi 62 HABER LINUX k: deta rp ro lib ldd hakk [Ç ra al› fla ›nda ry bil am ’le ir ›n ri pr og iht ö¤ ra t iya re m› çd u nm ek ni sm i] 0 seco nd s' i afi¤ r t sh ›z s n › k me pt›¤ e a l y z t› ii lan afi¤ ¤ r a t B ort aki 0p d 0 5 n › -s 1 d›fl -xX bilgi y içi n vv ) gr 00000 yd u¤ u v -vv -nN 22 0 eth not p -i m u cpd