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›
[email protected]
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
[email protected]
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:
[email protected]
cat maillist.txt|cut -d "@" -f
[email protected]
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.
[email protected]
[email protected]
[email protected]
[email protected]
cat maillist.txt|sort|uniq|wc l
niflletelim. Diyelim ki flöyle bir e-posta
listeniz var;
[email protected]
[email protected]
[email protected]
[email protected]
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 ([email protected]), 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›
[email protected]
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 ([email protected]),
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 ([email protected]).
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
[email protected] 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

Benzer belgeler