You are on page 1of 463

Kim Korkar LINUXtan?

Can Uur Ayfer, mer Ayfer


Bu kitap, PUSULA Yaynclk tarafndan LINUX kullanclar iin cretsiz olarak datlr.

YAYINCILIK ve LETM LMTED RKET

Pusula 103 Kim Korkar Linuxtan?


ISBN 975-6477-18-0

Can Uur Ayfer, mer Ayfer 1. Bask: Eyll 2003 2. Bask: Ekim 2004 3. Bask: Temmuz 2006 Yayn ynetmeni: Mustafa Arslantunal Dzelti: Suat zdemirci Sayfa dzeni: Mehmet ztrk Kapak illstrasyonu/tasarm: Mehmet ztrk Datm sorumlusu: Hseyin stnel Bask: Ayhan Matbaas Tel: (0212) 629 01 65

Bu kitabn btn yayn haklar Pusula Yaynclk ve letiim San. ve Tic. Ltd. tine aittir. Yaynevimizin yazl izni olmakszn ksmen veya tamamen alnt yaplamaz, kopya edilemez, oaltlamaz ve yaynlanamaz. Pusula Yaynclk ve letiim San. ve Tic. Ltd. ti. nn Cad. Emektar Sok. No: 24/B Gmsuyu-Beyolu/STANBUL Tel. : (0212) 252 42 80 pbx Faks : (0212) 293 15 44 e-posta : pusula@pusula.com web : www.pusula.com

Can Uur Ayfer


1955 ylnda dodu. Bilgisayarlarn sadece birka niversitede bulunabildii, 64 KB bellee sahip olanlarn parmakla gsterildii zamanlarda bu ie merak sarmaya balad. 1973 ylnda ilk kulland bilgisayarn 4 KB ekirdek bellei vard; disk ya da teyp gibi manyetik ortamlar ise yalnzca kitaplarda okumutu. Elini srd ilk byk bilgisayar, yaz stajlarn yapt Ege niversitesindeydi. Daha sonra kendi okulu olan ODTnn Bilgi lem Merkezinde renci asistanlk yapt, ardndan Trkiye Elektrik Kurumundaki efsanev IBM 370/138 ile tant. Dile kolay! Tam 512 KB bellei ve toplam 420 MB disk kapasitesi vard. Can Uur Ayfer, zamanla eitli ilerde, ok byk diye nitelendirilen bilgisayarlar kulland, alr durumda tutulmalarndan sorumlu oldu. Byk boy bilgisayar, orta boy bilgisayar, mini sistemler... derken ortal PCler sard. Ama Can Uur Ayferin 25 yllk meslek hayatnda bir konu hibir zaman deimedi. Meslei bilgisayarlarla dorudan ilgili olmayan, ama bu gvur ii aleti kullanmak zorunda olan insanlarn skntlar... Pusula Yayncln kdemli yazarlarndan Can Uur Ayferin Kim Korkar Hain Bilgisayarlardan? isimli kitab 7 bask yaparak Trkiyede bilgisayar kitaplar alannda bir rekor krmt. Ayrca yazarn Kim Korkar Unixten? (2 bask) ve Perl ve MySQL ile CGI Programlama kitaplar da yaynevimizden kt. Can Uur Ayfer, halen Bilkent niversitesinde almakta ve yeni bilgisayar kitaplar hazrlamaktadr. cayfer@bilkent.edu.tr

mer Ayfer
1981 ylnda Ankarada dodu. Orta renimini Bilkent niversitesi Hazrlk Okulunda (BUPS) tamamlayp Purdue niversitesinde Bilgisayar Mhendislii eitimine balad. ylda tamamlad mhendislik eitimi srasnda, lise yllarnda tant UNIX iletim sistemindeki deneyimine LINUXu da ekleyerek kendini hzla gelitirdi. Halen San Fransiscoda bir biyoteknoloji irketinde Bilimsel Yazlm Uzman ve Sistem Yneticisi olarak grev yapmaktadr. omer@ayfer.net

Reyyan Ayfere... Onsuz hibir ey yapamazdk. mer, Uur

ok deerli nerileriyle ve bulduu hatalarla kitabn daha yararl olmasn salayan Sayn S. Satuk B. Ercilasuna sonsuz kranlarmzla... mer, Uur

indekiler

00. Balarken Neden LINUX? 01. UNIX Dnyasnn Veliaht Prensi... LINUX... UNIX Dnyasnn Veliaht Prensi LINUX UNIX letim Sistemi ok , ok Kazan UNIX Her Yerde Ayn UNIX... ok yi Tasarmlanm Bir letim Sistemi Biraz da Tarih... LINUX Douyor LINUX eitleri Bir de Free BSD UNIX Varm... UNIX Gelenei UNIXi UNIX Yapan zellikler LINUXu LINUX Yapan zellikler Neden Mandriva LINUX? Neden ngilizce Kurulum? LINUXu Gerekten renmek steyenlere tler Mandriva LINUX Kurulum ncesi Hazrlklar Kurulum ncesi Bilinmesi Gerekenler Nasl Bir Bilgisayar Gerekli? Disk Blmleri (Partition) Bilgisayarlarn Al Sreci (Boot Sreci) Disk Dosya Sistemleri (File Systems) X Window

1 1 3 4 4 4 5 5 6 9 11 13 13 14 14 15 15 17 17 17 17 18 20 21 22

X Window Pencere ve Masast Yneticileri (Window Managers, Desktop Managers) LINUX ekirdei (LINUX Kernel) root LINUXta Disk simlendirmesi 02. Mandriva LINUX Kurulumu Varsaymlar Kurulum 03. LINUXla lk Tanma: KDE Masast Yneticisi lk Tanma LINUX Bilgisayarlarn Almas LINUX Bilgisayarlarn Kapatlmas lk Login Mandriva LINUX Uygulamalar KDE Ayarlar Grsel Ayarlar (Look and Feel) Men Ayarlar leri Dzey KDE Ayarlar Kullanc Ynetimi: UserDrake Dosya Yneticisi: Konqueror Genel Sistem Ynetimi Aralar: Mandriva Control Center Ofis Uygulamalar OpenOffice.org Grafik Uygulamalar The Gimp Dierleri Kiisel Uygulamalar Ximian-Evolution Gnome-Card Internetle lgili Uygulamalar Kmail Konqueror FTP stemcisi (gFTP)

25 27 27 28 31 31 32 69 70 70 72 75 82 82 82 83 85 88 90 91 104 104 108 108 109 109 109 111 112 112 113 114

Web Sayfas Hazrlama Aralar oklu Ortam (Multimedya) Uygulamalar XMMS CD Player Ve Yzlerce Uygulama Yazlm... Kopete Annda Mesajlama Yazlm K3B Gambas Eclipse Digikam Wine Bundan Sonras Konsolda LINUX Kullanm Konsol Kavram logout: Sistemden k Isnma Hareketleri Ne Var Ne Yok? Ben Kimim? ifrenizi Deitirmek stediinizde... mdaaaat!.. G... Daha Fazla G... LINUX Dosya-Dizin Yaps Dosya-Dizin simleri Her Horoz Kendi plnde... Neredeyim? Yuvaya Dn Ne Var Ne Yok? (Ama Bu Kez Daha Bir Merakla...) Dosyalar ve Dizinler Dosya Yaratmak cat Komutu cp Komutu (copy) Dizin Kopyalamak Dizin Yaratmak alma Dizinini Deitirmek Dosya Silmek

115 116 116 117 117 117 118 119 120 121 121 123 124 124 129 131 131 133 133 135 136 138 138 140 141 142 142 148 149 149 152 153 154 155 156

Dizin Silmek Dosya / Dizin Ad Deitirmek Dosya / Dizin Yeri Deitirmek LINUXta Eriim Yetkileri Yazma, Okuma, Program altrma Yetkileri Dizinlere Eriim Haklar umask: Dosya ve Dizinlerin Varsaylan Eriim Yetkileri Suid Biti ve suid Programlar Sticky Bit Dosyalarn ve Dizinlerin Sahibini Deitirmek Dosyalarn ve Dizinlerin Gruplarn Deitirmek Dosyalarn ve Dizinlerin Sahibini ve Grubunu Birlikte Deitirmek bash Kabuk Program Dosya sim Kalplar Ortam Deikenleri PATH Ortam Deikeni Dier nemli Ortam Deikenleri Ortam Deikenlerinin Kalc Olarak Deitirilmesi bash Balang Dosyalar bash History ! Arac Kendi Komutlarnz: Aliases 04. Editrler: Kedit vs. ve En nemlisi: vi vi: Visual Editor vi Bir Kelime lemci Deildir! Beenseniz de Beenmeseniz de, vi renmelisiniz! Dosya Amak / Yaratmak vi Editrnn Durumlar Ekleme Durumu Komut Durumu Dosya Aarken Karlaabileceiniz Sorunlar mle Dolatrma Komutlar Ekleme Komutlar

156 157 157 158 158 163 164 166 167 168 168 169 170 172 174 175 175 176 177 178 179 180 183 185 185 185 186 187 188 188 189 190 192

Yaz Silmek Yanllkla Silerseniz... Metin Bloklarnn Yerini Deitirmek Metin Bloklarn Kopyalamak Son Komutu Tekrarlamak Metin Eklemenin / Deitirmenin Birka Deiik Yolu Metin inde Dolamak Metin inde Arayarak Dolamak Bulup Deitirmek Metnin inde Satr Numaralarn Kullanarak Dolamak Tu Ksaltmalar vi Balatrken Verebileceiniz Komutlar Dosya lemleriyle lgili Komutlar vi inden UNIX Komutu Vermek Birden Fazla Dosyay Pepee letmek .vimrc Dosyas Daha Ayrntl Bilgi in... gvim 05. nemli LINUX Kavram ve Komutlar nemli LINUX Kavramlar Standart Giri ve Standart k Giri ve k Ynlendirmek STDERR ekirdek: Kernel Dosya Sistemleri fsck Sreler eytanlar (Daemons) Sre ldrmek Link Kavram ve ln Komutu Pipe Kavram Biraz Nefes Alalm Kullanl LINUX Komutlar cal

192 193 193 196 197 197 198 200 200 202 203 204 205 206 206 207 207 209 211 211 211 213 214 216 217 225 226 230 231 232 235 237 238 238

sleep watch wc tail more less top which zip unzip gzip gunzip bzip2 06. evreyi Tanyalm /dev Dizini /etc Dizini lost+found Dizinleri

239 239 239 240 241 241 242 244 244 245 245 246 246 249 252 254 256 257 258 261 264 265 267 268 270 273 274 275 277 278 280 280 281

07. bash Kabuu ve Kabuk Programlar Komut Satrnn Yorumlanmas ve Parametreler Kabuk Deikenleri (ya da Ortam Deikenleri) Programlar Arka Planda altrmak n Planda alan Programlar Arka Plana Atmak Kabuk Programlama lk Kabuk Program rnei kinci Kabuk Program rnei 08. Diskler, Disketler ve mount Komutu mount Edilmi Diskleri Grmek Yeni Disk Takma Dosya Sistemi Tipleri fsck: Dosya Sistemi Kontrol Program supermount CD Kullanm Disket Kullanm

umount Komutu Baka UNIX Bilgisayarlardaki Diskleri Kullanmak mount lemlerini Otomatik Olarak Yapmak (fstab) Baka Bir Windows Bilgisayarnn Diskini Kullanmak Dosya Sistemi Yaratmanz Gerekirse... 09. nemli LINUX Komutlar find grep tar Komutu ve tar Dosyalar tar Komutu ile Yedekleme tar Komutunu Kullanrken Dikkat Edilmesi Gereken Noktalar rsh xargs at date, hwclock lynx cut tee script split 10. Sistem Ynetimi Sistem Hakknda Sistemin Almas Sistemin Kapatlmas Disklerin Ynetimi fdisk mkfs mount showmount lsof Bellek Ynetimi Kullanc Ynetimi Kullanc Hesaplar

281 282 282 283 284 287 287 295 298 301 304 305 308 310 313 314 315 316 317 317 321 323 323 328 329 331 332 332 333 335 336 339 339

Kullanc Gruplar Kullanc Disk Kotalar Log Dosyalarnn Ynetimi A Ynetimi TCP/IP Ayarlar Yazc Ynetimi Yedekleme Periyodik lerin Ynetimi LILO Ynetimi Webmin root ifresini Unuttuunuzda... 11. Yazlm/Paket Ynetimi Paket Kavram Paket Bamll (Dependency) Paket Yneticileri (Package Managers) Yazlm Depolar (Media, Repositories) Yazlm Gncelleme Yazlm Ykleme Mandriva rpm Paket Yneticisi - rpmdrake ile Ykleme urpmi - Gerek Paket Yneticisi rpm Paketlerinden Yazlm Ykleme Kaynak rpm Paketlerinden (src-rpm) Yazlm Ykleme Kaynak Kodundan Derleyerek Kurulum letim Sisteminin ve Uygulama Programlarnng Gncellenmesi ekirdek Gncellemeleri (Kernel Updates) 12. Gvenlik Sistem Gvenlii Kolay Tahmin Edilebilecek ifre Kullanmayn ve Kullandrmayn Sistem Gvenlii ile lgili Haberleri zleyin Olabildiince Gvenli letiim Yapan Yazlmlar Kullann Gvenlikle lgili Yamalar zleyin ve Uygulayn Gereksiz Yazlm Yklemeyin Gereksiz Servisler almasn Gereksiz Portlar Ak Olmasn

345 348 351 354 354 361 363 366 370 375 381 385 385 386 386 387 388 388 388 392 394 397 398 400 403 407 407 408 408 408 409 409 409 412

Bilgisayarnzdaki Tm Servisler Dnyaya Ak Olmasn Log Dosyalarnza Bakn Sisteminizi Yedekleyin 13. Yar arl LINUX Sunucu ve Servis Yazlmlar Yararl LINUX Sunucu Yazlmlar ftp Sunucusu apache Web Wunucusu postfix e-Posta Sunucusu procmail samba Sunucusu named (DNS) Sunucusu ssh Sunucusu (Secure Shell) NIS Sunucusu (Network Information Services) iptables Ate Duvar DHCP Sunucusu MySQL ve PostgreSQL Veritaban Sunucular squid Proxy Sunucusu ppp evirmeli A Sunucusu EK: Sonsz GNU Genel Kamu Lisans GNU Public License (GPL)

413 416 416 419 420 420 422 425 428 429 429 432 433 433 434 436 437 439 441 450

Balarken
Neden LINUX?

00

Neden LINUX?
Bedava da ondan diyeceimizi sanyorsanz yanlyorsunuz! Yantmz: LINUX iyi bir iletim sistemidir de ondan... Evindeki bilgisayar elence iin kullananlardansanz, bilgisayar nternette dolamak, oyun oynamak, internet sohbetlerine katlmak iin kullanyorsanz bu kitab satn alp paranz ve zamannz boa harcamayn! Benim iim bilgisayarlarla; 2000li yllarn ykselen yldz iletim sistemini renmek istiyorum diyorsanz bu kitab aln; LINUX rendiiniz iin piman olmazsnz. Yok eer bilgisayar internet ve intranet servisi vermek iin kullananlardansanz, gvenilir ve gvenli sunucu hizmetleri vermek istiyorsanz bu kitab almalsnz! LINUX veya UNIX iletim sistemlerini renerek mesleinizde ok deerli bir ilerleme kaydedebilirsiniz. LINUXun bedava olmas genel kansnn ve birok yerde n plana karlmasnn tersine, bu LINUXun ok da nemli bir zellii deildir. LINUXun bizce en nemli zellii gvenilir ve gvenli olmasdr. Zaten Google, Yahoo gibi dnyann en byk internet sunucularn ileten kurulularn yatrmlarn LINUX zerine kurmu olmalar da bundandr. Hatta Microsoft bile uzun sre Hotmail servisini FreeBSD (aslnda FreeBSD, LINUX deildir, ancak gerek felsefesi gerekse teknolojisi edeerdir) ile vermitir. LINUX bir iletim sistemidir. nsanlar kullansn diye insanlar tarafndan gelitirilmi bir programdr. Kitab da vardr, dkmantasyonu da, destei de...

Kim Korkar LINUXtan?

Bir de stne stlk bedavadr... te bu kitab LINUXun korkulacak bir yazlm olmadn vurgulamak iin yazdk. LINUX; daha dorusu UNIX; felsefesi ve gelenekleri olan bir iletim sistemidir. rendikleriniz yllarca geerliliini korur. letim sistemi kk, basit ama iini ok iyi yapan programlardan oluur. ok hzldr. Az kaynakla ok i yapabilir. Bu sayede eski bilgisayarlar, geri planda web sunucusu, e-posta sunucusu, gvenlik baraj (firewall) gibi nemli ilerde deerlendirilebilmektedir. Ama Windows iletim sistemini kullanmas kolay! szlerini ok duyuyoruz. Evet, masast uygulamalar ve ev kullanm iin yerinde bir sz; ama sunucu hizmetleri ve gvenilirlik gerektiren ciddi iler sz konusu olduunda Windows tabanl sistemlerin yneticileri iin hayat gerekten ok zor oluyor. Bunu deneyerek rendik. rnein Bilkent niversitesinde 10 kadar Windows tabanl sunucudan oluan byke bir a ayakta tutmak iin sistem yneticilerine nbet yazmak, vardiyal i programlar dzenlemek gibi ilerle urarken, bu sunucular UNIX ortamna geirerek normal mesai saatlerinde alan tek yneticiyle daha iyi hizmet verdik. LINUX, ak sistem bir iletim sistemidir; yani, kaynak koduna her isteyen eriebilir. Bu sayede, yazlm hatalar ok ksa srede bulunabilmekte ve dzeltme yamalar birka saat iinde dnyada yaynlanmaktadr. Szn ksas; LINUX gvenli, gvenilir, tutarl, hzla gelien, her tr yeni teknolojiye ok ksa srede uyum salayan, ciddi, profesyonel bir iletim sistemidir. Bu kitap LINUXu retmek iin yazlmamtr. LINUX retmek iin ktphane yazmak lazm... Bu kitap, LINUX denizine atlamak isteyenlerin ayaklarn slatp, varsa korkularndan arndrmak iin yazlmtr. LINUX dnyasna ho geldiniz...

UNIX Dnyasnn Veliaht Prensi... LINUX...


UNIX Dnyasnn Veliaht Prensi LINUX UNIX letim Sistemi ok , ok Kazan UNIX Her Yerde Ayn UNIX... ok yi Tasarmlanm Bir letim Sistemi Biraz da Tarih... LINUX Douyor LINUX eitleri Bir de Free BSD UNIX Varm... UNIX Gelenei UNIXi UNIX Yapan zellikler LINUXu LINUX Yapan zellikler Neden Mandriva LINUX? Neden ngilizce Kurulum? LINUXu Gerekten renmek steyenlere tler Mandriva LINUX Kurulum ncesi Hazrlklar Kurulum ncesi Bilinmesi Gerekenler X Window Pencere ve Masast Yneticileri (Window Managers, Desktop Managers) LINUX ekirdei (LINUX Kernel) root LINUXta Disk simlendirmesi

01

Kim Korkar LINUXtan?

UNIX Dnyasnn Veliaht Prensi LINUX


UNIX letim Sistemi
Dnyada hibir iletim sistemi, UNIX kadar uzun ve srekli gelierek gndemde kalmay baaramamtr. IBM PCler iin gelitirilmi olan Windows serisi iletim sistemleri kadar yaygn olmamakla birlikte, dolayl yoldan da olsa, UNIX iletim sisteminin hizmet vermekte olduu kullanc saysnn, Windows ve MS-DOS kullanclarnn saysndan daha fazla olduu sanlmaktadr. rnein, Nisan 2002ye kadar Microsoft MSN, abonelerinin kiisel web sayfalarn yaynlayan bilgisayar UNIX altnda alan bir Apache sunucusuydu. (Hala yle olduunu iddia edenler var ya, neyse...) 5-6 yl ncesine kadar UNIX genellikle gl bilgisayarlar dnyasnn iletim sistemiydi. UNIX felsefesinin temelinde, bir bilgisayarn birden fazla kullanc arasnda paylalmas ya da bir kullancnn ayn anda birden fazla i yapmasna olanak salamas yatmaktadr. Bu nedenle, UNIX ile alan bir bilgisayarn, kaynaklarnn birden fazla i arasnda paylalmas durumunda performansn kabul edilebilir dzeyde tutabilecek gte olmas gerekmekteydi. Bilgisayar teknolojisindeki gelimeler, donanmlar hzla glendirip ucuzlatnca bunun doal sonucu olarak, UNIX iletim sistemi kendine kiisel bilgisayar dnyasnda da yer aramaya balad ve sonunda UNIX iletim sisteminin x86 tabanl kiisel bilgisayarlara bir uyarlamas olan LINUX, bilgisayar tarihindeki yerini ald. LINUX ve UNIX temelde edeer iletim sistemleridir. Zaten UNIXin de ok deiik trevleri bulunmaktadr; ancak bu trevler arasndaki farklar genellikle ayrntlardadr. Herhangi bir UNIXi iyi bilen; zellikle de UNIXin felsefesini iyi kavram birisi iin hepsi ayn saylr.

ok , ok Kazan
UNIX iletim sistemi, bilgisayar bilimcilerinin ok kullancl (multi-user) ve ok ili (multi-tasking) adn verdikleri alma koullarn salar. Bir baka deyile; UNIX altnda alan bir bilgisayar, birden fazla kullanc birbirlerinden bamsz olarak ve ayn anda kullanabilir. Bu birlikte kullanm srasnda, bilgisayarn kaynaklarn (merkezi ilem birimini, ana belleini

UNIX Dnyasnn Veliaht Prensi... LINUX...

(RAM), disk-teyp gibi yan bellek birimlerini, yazclarn) paylarlar. UNIX, bu kaynaklarn kullanmn, paylamdan kaynaklanan performans dmelerini en aza indirgeyecek ekilde dzenlemeye alr. Bir kullancnn ayn anda birden fazla i yapabilmesi de bir baka kolaylktr. Bilgisayarnzda uzun bir i balattnz varsayalm; ancak bu i, her birka dakikada bir sizin klavyeden mdahale etmenizi gerektirsin. Bu durumda, bu uzun ii balatp yemee gidemezsiniz. Tek i dzeninde kullanm iin tasarlanm bir iletim sistemi kullanyorsanz (MS-DOS gibi), sz konusu programn yapt i tamamlanncaya kadar bilgisayarn karsnda oturmak zorundasnz. Eer bu ii UNIX altnda alan bir bilgisayarda yapyorsanz, uzun programnz bir yandan alrken, siz te yandan (gene ayn ekran ve klavyeyi kullanarak) bir baka i yapabilirsiniz. rnein, bu tr beklemelerde internet zerinde bir gezintiye kabilirsiniz. imdi Eeee... Bunda ne var? Windows iletim sisteminde de bunu yapabiliyorum. diyorsunuz herhalde. Evet, doru, ksmen yapabilirsiniz. Bir de binlerce dosyadan oluan, toplam bir-iki Gigabytelk bir dizini silerken ikinci bir i yapmay deneyin bakalm neler oluyor! Windows XP-Professional Edition altnda dizin silerken dier tm servisler duruyor! LINUX altnda ise durmuyor!

UNIX Her Yerde Ayn UNIX...


lk kez 1970 ylnda ortaya kan UNIX iletim sistemi, ticari bir amala tasarlanmamt; bu yzden, bu yeni iletim sistemine ilgi duyan tm bilgisayar reticilerine ve bilgisayarn UNIX destei ile kullanmak isteyen herkese ok kk bir cret karlnda datld. Bu sayede, UNIX ksa srede geliti ve yayld. Bu gelimelere katkda bulunan bilgisayarclar, UNIXin ilk gnlerinde ortaya atlan standartlar gelenekletirerek korudular. Bylece salam bir UNIX gelenei ve kltr olutu. Kullanclar asndan bunun anlam olduka basittir: UNIX iletim sistemini bir kez rendiniz mi, UNIXle alan herhangi bir bilgisayar kolaylkla kullanabileceiniz gibi; alk olduunuz komut ve kavramlarn yzde 99u farkl bilgisayarlarda bile aynen geerli kalacaktr.

ok yi Tasarmlanm Bir letim Sistemi


UNIX iletim sisteminin 36 yllk bir gemii var. Bu sre bilgisayar endstrisi iin ok ama ok uzundur. Son 36 yl iinde bilgisayarlar ok deiti, geliti, hzland, kld. 36 yl nceki donanm tasarmlar oktan unutuldu ama UNIX iletim sistemi, ilk yllarnda sahip olduu zellikleri ve yetenek-

Kim Korkar LINUXtan?

leriyle dimdik ayakta duruyor. 36 yandaki yal UNIX, (belki de sadece olgun demek daha doru) gnmz bilgisayarlarna ok kolay uyum salad. Bundan sonraki gelimelere de rahata ayak uydurabilecek gibi grnyor. Bilgisayar dnyas, yaklak 50 yllk tarihinin son 30-35 ylnda, iletim sistemlerine ait birok rnek grd geirdi. Bunlardan bazlar ok baarl oldu, bazlar zel uygulamalara hizmet etti ve mrn tamamlad, bazlar piyasaya kamadan yok oldu, unutuldu gitti. letim sistemleri genellikle donanm reticileri tarafndan, rettikleri bilgisayar modelleri iin zel olarak gelitirildiler. Sz konusu donanm modelleri ortadan kalktka, bu bilgisayarlarn iletim sistemleri de sahneden ayrldlar. UNIX iin byle olmad; nk belirli bir marka veya model donanm iin tasarmlanmamt. Donanm modelleri gelitike, UNIX bu yeni platformlara uyarland ve eski deneyim, yazlm birikimleri zarar grmeden yeni bilgisayar nesillerine tand. Bu uyumluluun yararn gren bilgisayar reticilerinin neredeyse tamam, iletim sistemi repertuarlarna UNIXi eklemek zorunluluunu hissettiler. Hatta birok bilgisayar reticisi dev firma, kendi UNIX trevlerini gelitirdiler. AIX (IBM), ULTRIX (DEC), HPUX (HP), SINIX (SIEMENS) gibi...

Biraz da Tarih...
1960l yllarda kullanlan bilgisayarlar, ancak Sral Dzeninde (Batch Processing) alabilmekteydi. Bir dier deyile, kullanclar ve programclar, bilgisayarda yapmak istedikleri ile ilgili komut ve/veya programlar bilgisayarn operatrne teslim ederler ve srann kendi ilerinin yaplmasna gelmesini beklerlerdi. Bu sra artk onbe dakikada m yoksa gnde mi gelir, bilinmezdi. Bu yllarda, nemli kurulu (AT&T, MIT niversitesi ve General Electric) bir arada yrttkleri bir projeyle ilk Zaman Paylaml letim Sistemi (time sharing operating system) zerinde almaya baladlar. Proje, bir bilgisayarn bir anda birden fazla kullancya hizmet etmesini salayan, kullanclarn bilgisayar programnda olup bitenleri izleyebilecei ve programlarla etkileimli (interactive) olarak alabilecekleri bir ortam yaratmaya ynelikti. almalar sonunda MULTICS iletim sistemi ortaya kt. (MULTiplexed Information and Computing System) Her ey akademik olarak ok iyiydi; fakat, MULTICS yazlm, o zamanki bilgisayarlar iin biraz byk ve hantal kalyordu.

UNIX Dnyasnn Veliaht Prensi... LINUX...

MULTICS ekibiyle birlikte alan ve uzay aratrmalarnda kullanlan benzetim (simulasyon) yazlmlar retmekte olan Ken Thompson hayatndan pek memnun deildi. Proje arkadalar, onun zerinde alt programlarn sistem kaynaklarn ok zorladndan srekli ikayet ediyorlard. Bu yzden, Thompson, sadece bakalarnn bilgisayar kullanmad zamanlarda alabiliyordu. Bu byle devam edemezdi. Thompson, almalarn kendisine ait olan eski ve kk bir DEC PDP-7 bilgisayarnda tamamlamaya karar verdi. Ama bu bilgisayarn iletim sistemi de gereksinimlerini karlamyordu; bu yzden kendi istekleri ve gereksinimleri dorultusunda bir iletim sistemi gelitirmeye koyuldu. MULTICSin yararl bulduu ve beendii zelliklerinin tmn kulland. Hatta, o kadar ki, yeni iletim sisteminin adn MULTICSden esinlerek UNICS koydu. Bu ismin sonradan UNIXe dntrld Brian Kernighan (C Programlama dilini ve UNIXi yaratan ekibin nemli isimlerinden) tarafndan anlatlmaktadr. 1970 ylnda UNIX iletim sisteminin ilk srm DEC PDP-7 modeli bir bilgisayarda tamamlanmt. letim sistemi, programclar iin yararl olacak ekilde tasarmlanm ve zellikle metin ileme yetenekleri (text processing) olduka gelimiti. 1971 ylnda Bell Labs irketi UNIX iletim sistemini, yeni metin ileme sistemlerinde kullanlacak standart olarak kabul etti. 1972 Haziran aynda gelindiinde, artk dnyada 10 kadar bilgisayar UNIX iletim sistemi ile almaktayd. Bu arada, Dennis Ritchie ve Brian Kernighan, C programlama dili zerindeki almalarn byk lde tamamlamlard. 1973 ylnda, UNIX iletim sistemi, C programlama diliyle batan yazld. Bylece bilgisayar tarihinin yksek seviyeli bir dil ile yazlm olan ve donanmdan bamsz ilk iletim sistemi ortaya km oldu. 1974 ylndan balayarak, AT&T irketi, bu yeni iletim sistemininin kaynak programlarn, bata Columbia niversitesi olmak zere birok niversite ve yksek okula CRETSZ olarak datt. UNIX iletim sisteminin nlenemez ykselii balamt. (Aslnda o tarihlerde bu ykselii imdiki gibi nlemek isteyen kimse olduunu da sanmyoruz.) 1975 ylna gelindiinde, AT&T, UNIX Srm 6y kullanmaktayd ve artk UNIX kullanmak isteyenler, kk de olsa bir lisans creti demek zorundayd. UNIX, standart bir C ktphanesi ile birlikte datlmaya baland. Bylece; C dili, UNIX iletim sistemi iin yazlm gelitirmek isteyenlerin renmesi gereken bir dil olarak yaygnlat.

Kim Korkar LINUXtan?

1977 ylnda, Berkeley niversitesi, ilgilenenlere UNIX zerindeki birikimlerini, 1BSD: 1st Berkeley Software Distribution adl bir rn olarak datmaya balad. 1978 ylnda Bill Joy ve zalp Babaolu (University of California-Berkeleyde yksek lisans rencisi) UNIX iletim sistemine sanal bellek (virtual memory) zelliini eklediler. Artk UNIX tam bir iletim sistemi olmutu. (Ref: Unix Administration Guide for System V, Rebecca Thomas, ISBN 013-942889-5) 1979 ylnda, AT&T yedinci srm piyasaya kard. UNIXin yaratclarndan Ken Thompsonun Berkeley niversitesinde ders vermeye balamasyla AT&T ve Berkeley ekipleri UNIXi hzla gelitirmeye baladlar. Sonunda, ABD Savunma Bakanlna bal DARPA (Defence Advanced Research Projects Agency: leri Savunma Aratrma Projeleri) blm, UNIX iin bir bte ayrmaya karar verdi. 1979da UNIX artk iyice yaygnlamt. niversite yllarnda UNIX renen, kullanan ve beenen renciler UNIXi sanayiye tamaya ve donanm reticileri, tasarm aamalarnda UNIX iletim sistemini de gz nnde bulundurma zorunluluunu hissetmeye baladlar. 1980 yl sonunda, byk bilgisayar reticilerinin hepsi, hi deilse baz modellerinde, UNIX kullanmaya baladlar. 1983 ylnda MIT niversitesinden Richard Stallman zgr yazlm (free software) kavram etrafnda GNU organizasyonunu kurdu. Bu organizasyon; bilimin hzl gelimesini, bilim adamlarnn yaptklar aratrmalarn sonularn makaleler eklinde yaynlamalarna, baka bilim adamlarnn da bunlardan yararlanarak yeni aratrmalara ynelmesi eklinde aklanabilir. GNU organizasyonu yazlm dnyasnda da benzeri ekilde paylam olmas durumunda, biliim dnyasndaki zaten hzl olan gelimelerin insanlk yararna daha da hzlanacan savunuyor. Richard Stallman, zgr yazlm tanmlarken zgr szcn Bir yazlm istediiniz gibi kullanma, kopyalama ve datma zgrl, Bir yazlm istediiniz gibi deitirme, gelitirme zgrl,

UNIX Dnyasnn Veliaht Prensi... LINUX...

Gelitirilmi yeni yazlm da istediiniz gibi oaltma ve datma zgrl olarak tanmlyor. Stallmana GNU ne demek; neyin ba harfleri? diye sorulduunda GNU is not UNIX! yantn vermi. Ancak bir biliimciye yaraacak, zdevinimli (recursive) bir yant!

LINUX Douyor
1991 ylnda Hollandal stad Prof. Andrew S. Tanenbaum, rencilerinin iletim sistemlerinin ayrntlarn ve ilevlerini daha iyi grebilmeleri hatta gelitirebilmeleri iin 8086 serisi mikroilemciler iin MINIX iletim sistemini gelitirdi. Kodu tamamen ak ve dolaysyla herkesin kullanabilecei ve gelitirebilecei bu minik iletim sistemi tamamen UNIXden esinlenilmiti. O yllarda internet zerinde MINIX kullanc ve programclarnn eitli teknik tartmalarn yrttkleri haber gruplar vard. Bir gn bu gruba yle bir mesaj geldi:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix Im doing a (free) operating system (just a hobby, wont be big and professional like gnu) for 386(486) AT clones. This has been brewing; since april, and is starting to get ready. Id like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). Ive currently ported bash(1.08) and gcc(1.40),and things seem to work. This implies that Ill get something practical within a few months, and Id like to know what features most people would want. Any suggestions are welcome, but I wont promise Ill implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - its free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as thats all I have :-(.

Kim Korkar LINUXtan?

Helsinki niversitesi rencilerinden Linus Torvalds bu mesajnda MINIX kullanclarna seslenerek, zetle hobi olarak 386 ve 486 serisi kiisel bilgisayarlara ynelik yeni ve cretsiz bir iletim sistemi zerinde altn ve artk bir yerlere gelmeye baladn sylyordu. GNU C derleyicisini ve bash kabuk kodunu yeni ortama aktarmay baardn ve artk birka ay iinde pratik baz sonular almay umduunu da ekliyordu. MINIX kullanclarndan bu yeni iletim sistemi hakkndaki grlerini bildirmelerini isteyen Torvalds, gelebilecek nerilerin hepsini dikkate alamayacan da belirtirken o zamanki disk arabirim standard olan AT disk arabirimi dnda diskleri destekleyecek modlleri byk olaslkla hibir zaman gelitirmeyeceini de eklemiti. Linus Torvalds bu yeni iletim sistemine kendi adndan esinlenerek LINUX adn verdi. Eyll 1991de ilk srm olan LINUX 0.01 Nette yerini ald. 20 gn gibi ksa bir sre iinde o kadar ok deiiklik ve dzeltme geldi ki, 5 Ekim 1991 de Linus Torvalds 0.02 srmnn datmna balad. Haftalarla llen srelerle dier srmler takip etti. LINUXun kodu kollektif olarak gelitiriliyordu. Birileri disket srclerini destekleyen kodu gelitirirken bakalar da o zamanlarn en gelimi grafik standartlar olan VGA (640 x 480, 256 renk) destei zerinde alyordu. Herkes bir ucundan tutmu, her iki- haftada bir yeni srm kartlyordu. Ayn tarihlerde, Richard Stallman ve kurduu FSF (Free Software Foundation, Ak Yazlm Dernei), GNU iletim sistemi ad altnda bir araya getirdii birok zgr yazlm ile yeni bir projeyi hayata geirmekteydi. Bu iletim sisteminin en nemli eksiklerinden biri yeterince olgun bir ekirdee (kernel) sahip olmamasyd. te Torvaldsn yaratt ve hzla gelimekte olan Linux, bu nemli eksii kapatarak ve Genel Kamu Lisans (GPL: GNU General Public License) altnda korunarak bu projeye katld. Bu iki proje, o gn bugndr, birlikte GNU/Linux iletim sistemi olarak anlmaktadr.
Genel Kamu Lisansna sahip yazlmlar ngilizce free szcyle tanmlanrlar. Bu free szc bedava anlamnda kullanlmamtr; zgr anlamnda kullanlmtr. GNU lisans altndaki bir rnn creti olabilir ama mutlaka zgr olmaldr. zgrlkten kastedilen; rnn zgrce kullanlmas, zellikle kaynak kodunun serbeste datlmas ve bu kaynak kod zerinde serbeste gelitirmelerde bulunulabilmesidir. GKL lisansna sahip bir program gelitirildiinde, yeni ve gelimi srm de otomatik olarak GKL altnda olacaktr; yani kodu gelitirenler yeni kaynak kodlarn da isteyen herkese gene zgr olarak vermelidir.

10

UNIX Dnyasnn Veliaht Prensi... LINUX...

GKLnn Trke tam metnini bu kitabn sonundaki eklerde bulacaksnz; ancak sabrsz okuyucular iin ana hatlaryla GKL mant yledir:
GKL ile datlan programlarn kaynak kodu isteyen herkese ak olmaldr. steyen herkes bu kaynak kod zerinde istedii deiiklii yaparak daha gelimi veya farkl bir rn elde edebilir; ancak bu yeni rn de GKL altnda olmaldr. Bir yazlm rnn (program, dokmantasyon, kavram, tasarm) GKL altnda serbeste databilirsiniz ancak bu rn zerinde emei geenlerin isimlerini deitiremez veya yok edemezsiniz. Daha ayrntl bilgi isteyenler bu kitabn sonundaki GKL metnini okuyabilir veya www.gnu.org adresine bavurabilir.

LINUX eitleri
Aslnda tek eit LINUX vardr; o da GNU-LINUXtur. LINUX dnyasna bir kez ayanz attktan sonra srekli olarak Mandriva LINUX, Mandrake LINUX, Debian LINUX, Suse LINUX, Gelecek LINUX, Ubuntu LINUX, RedHat LINUX... duyacaksnz. Bu isimler, LINUX eitlerinin isimleri deil, eitli GNU-LINUX datmlarnn isimleridir. Datm szc zerinde durulmas gereken bir szck, nk artk bu szc ok duyacak ve ok kullanacaksnz.
Aslnda, FSFin kurucusu Richard Stallman, GNU/LINUX iletim sisteminin yalnzca LINUX olarak anlmasndan hakl olarak ok ikayetidir. LINUX sadece ekirdein addr. Ancak, GNU/LINUX kullanclar, gelitiricileri ve konuyla ilgili yazanlar uzun yllardr ksaca LINUX demeyi tercih ettiler. Artk bu alkanl deitirmek olanaksz hale geldi. Biz de, Stallmann affna snarak, doru ad GNU/LINUX olmasna ramen, bu kitabn konusu olan iletim sistemini LINUX adyla anacaz. LINUX dediimizde sadece ekirdekten deil, tm iletim sisteminden sz ediyor olacaz.

Bildiiniz gibi zerinde hibir uygulama program olmayan bir iletim sistemi fazla ie yaramaz. Olas tm uygulama programlarn da iletim sistemi reticisinden bekleyemezsiniz. Bu durumda birilerinin iletim sistemini yaygn kullanlan uygulama programlaryla birlikte paketleyip bir datm

11

Kim Korkar LINUXtan?

oluturmas gerekir. rnein Microsoft, XP iletim sisteminin datm paketini olutururken iine XP iletim sisteminin yansra Internet Explorer, Outlook, MediaPlayer, Wordpad gibi bir sr uygulama paketini de yerletirir. Eer standart paketin iinde yer almayan uygulama programlarna gereksiniminiz varsa, onlar ayrca satn alrsnz. te Mandriva, RedHat, SuSE, Debian, Ubuntu gibi firma ya da kurulularn kendi LINUX datm paketlerini hazrlarken yaptklar da aynen budur. Her datm kuruluu kendi kurulum yazlmn gelitirir, datm paketinde yer almasn uygun grd uygulama programlarn pakete ekler (rnein web tarayc olarak Mozilla Firefox, Netscape, Galeon, Konqueror gibi yazlmlar, masa st ynetimi iin KDE, GNOME gibi yazlmlar seip datmlarna yerletirir) ve datm piyasaya srer. Gerek LINUX, gerekse birok uygulama yazlm GKL ile datlan zgr yazlmlar olduu iin bunlarla oluturulan datm paketleri de GKL ile datlr. Neredeyse hibirine para demek zorunda olmazsnz. Mandriva datmn m beendiniz; gider www.mandriva.comdan en son srm datm indirirsiniz. Eer internet balantnzn hz uygun deilse ya da yannda kada baslm kurulum klavuzu istiyorsanz o zaman az bir bedel deyip datmn CD ve kitaplarndan oluan bir paket smarlayabilirsiniz. eitli LINUX datmlar arasnda kk ve nemsiz farklar olmasna ramen bazlar dierlerine gre daha baarldr. rnein, kurulum programnn tanyabildii donanm unsurlar (ses kart, video kart gibi) zenginlii asndan en beenilen datm SuSEdir. Kurulum asndan en kolay olarak nitelendirilen datm Mandrivadr. Kurulum srasnda en fazla seenek sunan datm ise RedHat olarak kabul edilir. Biz bu kitap iin kurulumu en kolay olan Mandrivay setik. Bir kez kurulduktan sonra, tm datmlar neredeyse birbirinin ayn LINUX bilgisayar oluturur. rnein, Mandriva datmnda Apache web sunucusu ile ilgili dosyalar /var/www dizini altna yerletirilirken ayn dosyalar bir baka datmda /home/httpd dizini altna yerletirilebilir. Sonuta her ikisi de web sunumunu Apache ile yapar, Apache ayar dosyalarnn isimleri ve ierikleri ayndr ama yerleri deiiktir.

12

UNIX Dnyasnn Veliaht Prensi... LINUX...

Datmlar arasnda gzleyeceiniz farklara bir baka rnek de, LINUX ayarlarn grafik arabirimlerle yapmak iin datm firmalarnn gelitirdikleri yazlmlardr. rnein Mandrivanin Mandriva Control Center isimli grafik arayzl destek program yeni balayanlar iin byk kolaylktr. Szn ksas, LINUX renmek ve kullanmak asndan datmn Mandriva m olduu, yoksa Debian m olduu pek fazla farketmez. Ancak size nerimiz sk sk datmnz deitirmemenizdir. LINUX yzlerce dizin iine yerletirilmi binlerce dosyadan oluan byk bir iletim sistemidir ve eitli denetim dosyalarn elinizle koymu gibi bulabilmek nemlidir. Sk sk datm deitiren sistem yneticilerinin ortak sknts, aradklarn kolay bulamamalardr.

Bir de Free BSD UNIX Varm...


Evet var! LINUXla hibir ilgisi olmayan ama LINUX gibi zgr olan bir UNIX datm daha vardr. in aslna bakarsanz UNIX profesyonelleri sunucu olarak kullanlacak Intel tabanl bilgisayarlarna genellikle FreeBSD kurarlar. Hem performans hem gvenlik asndan FreeBSDnin, GNU-LINUXa gre stn olduu sylenir. Ancak FreeBSDyi kurmak zordur; hele UNIX dnyasna yeni adm atm olanlar iin... FreeBSDnin bir de masa st ilevlerine ilikin destei zayftr. rnein birok ayar ve kurulum yazlmnn grafik arabirimi yoktur. FreeBSD, uzaktan ve/veya konsoldan denetlenecek, veritaban sunucusu, web sunucusu, e-posta sunucusu gibi hizmetlerde kullanlacak bilgisayarlar iin idealdir.

UNIX Gelenei
ok geni bir aratrmac kitlesi tarafndan gelitirilmesine ramen UNIX, ilk tasarmland gnlerdeki zelliklerinden pek uzaklamamtr. Bunun en nemli nedeni, bu aratrmaclarn yazl olmayan geleneklere bal kalm olmalardr. Belki de UNIX, baarsn bu geleneksellemeye borludur. (Japonlarn ekonomik mucizesinin de geleneklere ballk olduu sylenmez mi?) rnein, dizinlerdeki dosyalarn detayl listesini veren ls komutunun 100 Megabytedan byk dosyalarda ortaya kan hatas hala dzeltilmemektedir. Her ne kadar ok tutucu bir tablo izmi olsak da, 1990l yllarda iki ayr UNIX ekol olutuundan sz etmek gerekmektedir: Berkeley niversitesinin yrtt BSD ekol ve AT&T irketinin yrtt AT&T UNIX (SVR4: System 5 Release 4) ekol. Bu iki tip UNIX, kullanclar asndan

13

Kim Korkar LINUXtan?

pek nemli farkllklar gstermese de, sistem yneticileri asndan ok farkldrlar. 1992 ylndan balayarak AT&T UNIXi gelitiren ekipler, BSD UNIXin stn zelliklerini AT&T UNIX ile birletirerek SVR4 UNIXi ortaya kardlar ve BSD ekolne gre nemli bir stnlk kazandlar.

UNIXi UNIX Yapan zellikler


Belki baz noktalar tekrar edilmi olacak ama, UNIXi UNIX yapan zellikleri bir kez daha sralamak istiyoruz. Kitabn okunmas srasnda ve daha nemlisi LINUX iletim sistemini kullanrken yararl olaca inancndayz. UNIX ok kullancl bir iletim sistemidir. Kullanld bilgisayarn bir anda birden fazla kii tarafndan kullanlmasn; daha dorusu paylalmasn salayabilmektedir. UNIX ok i dzenini salayan bir iletim sistemidir. Kullanclarn herbirinin, ayn anda birden fazla i yapmalarna olanak salar. UNIX, donanmdan bamszdr. Hangi bilgisayar zerinde kullanlrsa kullanlsn, kullanclarna grnd ekli ayndr. rendikleriniz kalcdr. UNIX iyi tasarmlanmtr. Teknolojideki gelimelere kolaylkla uyum salad ve salayaca kantlanmtr. UNIX, bir iletim sistemi standard olarak kabul edilmitir. Bu sayede farkl marka ve model bilgisayarlar birbirleriyle uyumlu klnabilmektedir. Internetin bu denli hzl gelimesi ve yaygnlamas UNIXin getirdii standartlar sayesinde olmutur.

LINUXu LINUX Yapan zellikler


Aslnda LINUX, UNIX zerine gelitirilmi bir iletim sistemi deildir. LINUX iletim sisteminde bir satr bile UNIX kodu kullanlmamtr. UNIX kavramlar kullanlarak tasarmlanm olmasndan gelen zelliklerin yansra LINUXun belki de en nemli zellii arkasndaki destektir. Sorununuz ne olursa olsun, dnyann bir yerlerinde size yardmc olabilecek birileri mutlaka bilgisayarlarnn banda almaktadr. Sorunuzu doru tartma listelerine ilettiinizde en fazla 10-15 dakika iinde yant alrsnz. te biraz da bu yzden kitab Mandriva datmnn ngilizce kurulumu zerine yazdk. Japonyadaki bir LINUX uzmannn sorunuzu anlayabilmesi iin soruyu ngi-

14

UNIX Dnyasnn Veliaht Prensi... LINUX...

lizce olarak kaleme (pardon, klavyeye) almak zorundasnz. Bunun iin de ngilizce LINUX terminolojisini bilmelisiniz. Bir baka nemli zellii hzl ve srekli gelimesidir. Her hafta LINUX iin yeni ve ok kullanl bir yazlm ortaya atlmaktadr. Bunlar kimi zaman gvenlikle ilgili, kimi zaman yeni bir internet servisiyle ilgili olmaktadr. Bu yazlmlar ounlukla da zgr olmaktadr. Rahatlkla, lisans endiesi olmadan bilgisayarnza kurup deneyebilirsiniz. LINUX gvenlidir. Hereyden nce virs derdi yok denecek kadar azdr. UNIX iletim sisteminin ok kullancl ortamlarda iletim sisteminin kendini kullanclara kar korumak iin kulland standart gvenlik yntemleri, sistemleri virslere kar da rahatlkla koruyabilmektedir. LINUX bilgisayarlar krmak kolay deildir. Kaynak kodunun ak olmas sayesinde LINUX iletim sisteminin yeni eklenen modlleri yzbinlerce merakl tarafndan didik didik edildii iin gvenlik gedikleri ok abuk bulunmakta ve dzeltilmektedir. Daha saymaya devam edersek kitaba bir trl balayamayacaz.

Neden Mandriva LINUX?


Akas en ksa yol bildiiniz yoldur da ondan! Baba-oul uzun sredir Mandrake ve Mandriva datmlarn kullanyoruz. Artk hangi ayar dosyas hangi dizinde bulunur, ayarlarn varsaylan deerleri nedir; iyice altk. Bu alkanlklar da bizi sadk birer Mandriva kullancs yapt. Bir baka LINUX datmna gemek iin imdilik hibir neden gremiyoruz. stelik Mandrivann kurulumu kolay; ok sayda deiik grnt kartn, ses kartn sorunsuz destekliyor. letim sistemini gncelletirmek; yani gerek iletim sisteminin modllerinin, gerekse uygulama yazlmlarnn yeni srmlerini yklemek ok kolay. Eh, daha ne isteyeceiz ki...

Neden ngilizce Kurulum?


Tarih biim resmi tm dizin girii evrilmeden nce son bulur.

Bu cmle ORACLE veritaban ynetim sistemi yazlmnn Trkeletirilmi bir srmnn hata mesajlarndan birisidir. te bu yzden ngilizce datm...

15

Kim Korkar LINUXtan?

eviri yapmak zor itir. Hele szck says, karakter says gibi snrlamalar varsa... Aslnda Mandriva datm, gerek kurulum gerekse kullanm aamalarnda Trkeyi gayet gzel destekleyen bir pakettir. Trke destei derken yalnzca Trkeye zg karakterlerden sz etmiyoruz; mesajlaryla, aklamalaryla, balklaryla Trke desteinden sz ediyoruz. Bu gl destee ramen kitabmzdaki tm rnekleri, tm ekran grntlerini ngilizce kurulum ve kullanm iin verdik. Bunun en nemli nedeni ngilizcenin bilgisayar dnyasnn standart dili olmas ve bu ile ciddi olarak uraanlarn ngiliz dilini olmasa bile bu dildeki bilgisayar terimlerini bilmesinin kanlmaz bir zorunluluk olmasdr. letim sisteminizi kurduunuzda baka hibir yazlm, kitap veya nternet kaynana gereksinim duymayacanza emin olabilseniz sorun olmayacaktr ama ne yazk ki gerekler byle deil. Hadi LINUXunuzu Trke LINUX olarak kurdunuz diyelim... GIMP uygulamasn ne yapacaksnz, Java VM paketini ne yapacaksnz? Gnn birinde zmeye uratnz bir sorunla ilgili olarak LINUX tartma listelerinde bir Japon ya da Yeni Zelandal tarafndan yazlm notlarda Check your file system; make sure that the partition table is correct; make sure that your users are all configured to use the bash shell gibi cmleler greceksiniz. Gerek genel bilgisayar terimlerinin, gerekse LINUX terimlerinin ngilizcesini biliyorsanz bu notlardan yararlanarak sorununuzu zme ansnz ok yksektir. Eer bu gibi ngilizce belgelerde yazlanlar size hibir ey ifade etmiyorsa zmn Trke destek sitelerine ve yardm belgelerine yansmasn beklemek zorundasnz demektir. Aslnda yle bir dnrseniz ana dili ngilizce olanlarn da bilgisayar bana oturduklarnda ileri zor: http, apache, ftp, telnet, file system, mouse, root gibi szckler (ya da bizim dnyamzda szcklemi ksaltmalar) onlara da pek bir ey ifade etmemektedir. rnein UNIX dnyasnda pek yaygn kullanlan root szcnn gnlk ngilizcedeki root szcyle yakndan uzaktan bir ilgisi yoktur.

16

UNIX Dnyasnn Veliaht Prensi... LINUX...

Szn ksas: Biliim dnyasnn kendine zg bir dili var ve bu dil tarihsel nedenlerle ngilizceden tremi. Bu dili konuamayanlarn ve yazamayanlarn da biliim dnyasnda baar ans yok denecek kadar az; onun iin ya bilingilizce reneceksiniz ya da bu iten vazgeeceksiniz. Pusula Yayncln ngilizce-Trke Ansiklopedik Biliim Szl (ISBN 975-6477-03-2) elinizin altnda olursa kendinizi daha rahat hissedebilirsiniz.

LINUXu Gerekten renmek steyenlere tler


Bilgisayarnzdaki dier iletim sistemlerini silin ve bir daha yklemeyin. Bilgisayarnzda LINUX ncesi, yapmaya altnz ilerin hepsini LINUX altnda da yapabilirsiniz. Balangta zorluklarla karlatnzda hemen havlu atmayn. LINUX konusunda bakalaryla yazabileceiniz, soru sorabileceiniz, sohbet edebileceiniz sitelerle ilgilenin; listelere ye olun. Kitap, dergi okuyun. te size birka balang noktas: linux.org.tr lkd.org.tr gelecek.com.tr

Mandriva LINUX Kurulum ncesi Hazrlklar


Kurulum ncesi Bilinmesi Gerekenler
Nasl Bir Bilgisayar Gerekli? Btn yemek tarifleri malzeme listesiyle balar. Biz de yle yapalm bari... En az 128 Mbyte bellek, 256 MB olsa iyi olur. Pentium, Celeron, Athlon, Duran, Sempron, K6 ve Via C3 ilemci. 3-4 GigaByte disk, 40 GB veya daha fazlas daha da keyifli olacaktr. 1024x768 znrlkte 256 renk destekleyecek bir grnt kart. (800x600 de olur)

17

Kim Korkar LINUXtan?

Fare. A balants iin bir Modem veya Ethernet arabirimi, ADSL. CD srcs olan bir bilgisayar iinizi grecektir. Daha gl bir bilgisayar elbette daha keyifli olacaktr. LINUXu diski bo bir bilgisayara; daha dorusu bilgisayarn bo bir diskine kurmak daha gvenli olacaktr; ancak art da deildir. Eer bilgisayarnzda tek bir disk varsa; bu diskte de 3-4 GByte bo blm (partition) varsa LINUXu bu bo alana kurabilirsiniz. Byk olaslkla bilgisayarnzda u anda Windows ailesinden bir iletim program kurulmu durumdadr ve doal olarak diskinizde bo bir blm yoktur. Dikkat edin; bo yer demiyoruz, bo blm diyoruz. Disk Blmleri (Partition) Fiziksel bir diski, rnein 4 blme ayrarak, sanki 4 ayr diskmi gibi kullanmak olasdr. Her diskin stnde bir blmlendirme tablosu (partition table) kaytldr. Bu tablo blmlenmemi disklerde bile vardr nk blmlenmemi disk aslnda tek blml bir disktir. Disk blmlendirmenin nemli birka yarar vardr. lk bata, kapasitesi kullanlan iletim sisteminin destekleyebildii disk kapasitesini aan ok byk diskleri paralamakta kullanlr. rnein, 30 Gbyten stndeki diskler Windows 98 ikinci srme kadar sorun yaratmaktayd. Disk blmlendirme disk yedeklemeyi de kolaylatrr. imdilik bunun ayrntlarna girmeyelim; bylece kabul edin ltfen. Disk blmlendirmenin bu aamada bizim iin en nemli yarar bir diske birden fazla iletim sistemi ykleyebilme olanan yaratmasdr. rnein iki blme ayrlm bir diskin ilk blmnde Windows ailesinden bir iletim sistemi; ikincisinde de LINUX yer alabilir. Windows ykl diskleri veri kaybetmeksizin sonradan blmlendirmek kolay deildir; daha dorusu standart Windows aralaryla bunu yapamazsnz. Bu i iin Partition Magic diye ayr bir Windows uygulama yazlm vardr, onu kullanabilirsiniz.

18

UNIX Dnyasnn Veliaht Prensi... LINUX...

Windows 9x ve Windows ME srmleri ile NT tabanl Windows 2000 ve Windows XP srmlerinin disk formatlama yntemleri farkl olabilmektedir. NTFS (NT File System) ad verilen disk format ile Windows 9x serisinin kulland FAT16 ve FAT32 formatlarnn veri bloklarn disk zerinde yerletirilme yntemleri ok farkldr. Piyasada sonradan disk blmleyebilen birok yazlm olmasna ramen NTFS serisi formatlar da sorunsuz destekleyen Partition Magic yazlmn neririz. Aslnda daha da iyisi LINUX iin bilgisayarnza ek bir disk takmanzdr. Eer mevcut diskinizi eski iletim sistemini ve veri/program dosyalarn bozmadan blmlendirecekseniz diskinizde LINUXa ayrabileceiniz en az 34 Gbytelk bo alan olmaldr. Blmlendirme iini yaparken diskte iki yeni blm (eskisiyle birlikte toplam 3 blm) oluturmalsnz. Eski iletim sistemini ieren ilk blmn ardndan 128-256MB aras bir takas alan blm (swap partition) oluturup kalan blm LINUXa ayrabilirsiniz. Takas alan, LINUX tarafndan ana bellein yetmedii durumlarda yardmc ana bellek gibi kullanlacaktr. Ortalama bellek eriim srelerinin mikrosaniyelerden milisaniyelere frlamas yznden takas alann kullanmak zorunda kalan yazlmlarn almas ok ama ok yavalayacaktr; ama te yandan bu yavalk programlarn hi almamasndan daha iyidir. Eer Windows iletim sisteminizi korumak istiyorsanz ve tek bir diskle alyorsanz, blmlemeden sonra diskinizin haritas yle olabilir. Windows iin ayrlan blm (Ne kadar gerekiyorsa) Takas alan* LINUX dosya sistemleri iin ayrlan blm (3-4 Gbyte)

Eer LINUX iin ayr bir disk kullanacaksanz ya da diskinizdeki eski iletim sistemini korumak istemiyorsanz bu diskin blm haritas yle olabilir:
Takas alan* LINUX dosya sistemleri iin ayrlan blm (3-4 Gbyte)

* Takas alannn ana bellein iki kat olmas nerilir. Ancak disk kapasitesini uygun deilse 256 MBa kadar inilebilir.

LINUX iin ayr bir disk kullanma olananz varsa, bu diskin blmlemesini ve takas alan yaratlmas iini LINUXun kurulumu srasnda yapabilirsiniz.

19

Kim Korkar LINUXtan?

Takas alan iin yaklak olarak bilgisayarn hafzasnn iki kat civarnda bir yer ayrlr. 256 Mbyte gnmz bilgisayarlar iin son derece uygun bir takas alan kapasitesidir. Her disk zerinde yaplm olan blmlendirmeye ilikin bilgiler o diskin belli bir alannda Blmlendirme Tablosu (Partition Table) ad altnda kaydedilir. Blmlenmemi diskler aslnda tek bir blm olarak dzenlenmi gibi deerlendirilirler; yani onlarn da birer blmlendirme tablosu vardr. Bir diskin blmlendirmesi deitirilirse, yeni harita blmlendirme tablosuna kaydedilmelidir. Blmlendirmeyle ilgili dzenlemeleri ve yeni tablonun kaydedilmesi iini blmlendirme ilemlerini yaparken kullanacanz programlar (fdisk gibi) yapacaktr. LINUXun kurulmas srecinde bilmenizde yarar olan nemli kavramlardan biri de boot srecidir. Bilgisayarlarn Al Sreci (Boot Sreci) Boot szc ngilizcedeki boot strapping deyiminin ksaltlmdr. Boot strapping deyimi ise bir insann botlarnn backlarndan ekerek kendini havaya kaldrmas anlamnda bir benzetmedir. Aslnda bir bilgisayarn al srecini gerekten andran ok ho bir benzetmedir bu... Kapalyken belleinde hibir program ykl olmayan bir bilgisayarn, koca bir iletim sistemini bellee ykleyip ie yarar hale gelmesi sreci gerekten ilgintir. Bilgisayar ilk atnzda BIOS (Basic Input-Output System) entegre devresinde (ROM: Read Only Memory) kaytl olan kk bir program, iletim sistemi yklemekte kullanlabilecek disket, disk gibi aday yan bellekleri belirler. Genellikle ncelik disket srcsndedir. Eer disket srcde bir disket takl deilse CD src kontrol edilir; CD de takl deilse birincil kontrol kanalndaki (Primary IDE Channel) ilk disk kontrol edilir. Bu sray sisteminizin Setup mensndeki aralarla deitirebilirsiniz. BIOS, iletim sisteminin yklenecei yan bellek birimini belirledikten sonra, yan bellein tipine gre nceden bir standart olarak belirlenmi bir adresteki kayd bellee okur. Master Boot Record (MBR) ad verilen bu kayt 446 byte uzunluunda bir program ierir. Diskte ykl olan iletim siste-

20

UNIX Dnyasnn Veliaht Prensi... LINUX...

minin bir paras olan bu kck program iletim sisteminin disk zerinde nasl yayldn bilen bir program olduu iin artk iletim sisteminin ekirdek modllerinin (kernel) bellee yklenmesi kolaydr. LINUX iletim sisteminin MBR iine kaydettii iletim sistemi ekirdei ykleme program olan LILOya (LInux LOader) ileride daha ayrntl bir ekilde deineceiz. LILO, sistemin deiik disklerinde ve blmlerinde ykl olan deiik iletim sistemlerinin her birini ayr ayr ykleyebilir. Bu sayede bilgisayarnzda LINUX yklenmeden nce ykl olan iletim sistemlerini kaybetmezsiniz. Disk Dosya Sistemleri (File Systems) Her iletim sistemi bilgisayarn diski zerinde kaydedilecek dosya ve dizinlerin disk zerindeki fiziksel yerleimlerini dzenleyebilmek iin kendine gre bir dosya yaps sistemi kullanr. Genel olarak dosya sistemi olarak adlandrlan bu yaplar disklerde dosya ve dizin yaratlmas, bunlara hzl bir ekilde eriilmesinin salanmas, silinen dosyalarn kulland alanlarn geri kazanlmas gibi ilerin halledilmesine ynelik olduka karmak veri yaplardr. Windows ailesinde iletim sisteminin srmne gre FAT16, FAT32 ve NTFS gibi dosya sistemleri kullanlr. LINUX altnda biimlendirilecek (formatlanacak) diskler zerinde yaratlacak dosya sistemleri iin birden fazla seeneiniz vardr. inde bulunduumuz yllarda en salkl ve gelimi dosya sistemleri reiser-fs ve ext3 dosya sistemleridir. Yksek performans gereken uygulamalar iin kurulan ve kesintisiz g kaynayla desteklenen sistemler iin en uygun ve en popler disk dosya sistemi ise ext2 dosya sistemidir. Reiser-fs ve ext3, Journalized file systems ad verilen bir kategoriye ait dosya sistemleridir. Bu dosya sistemlerinin en nemli zellii, bilgisayarn g kesintisi gibi nedenlerle kapanmas durumunda disk dosya sisteminde bozukluk olmamas; dolaysyla bilgi kayb olmamasdr. Dosya sistemi zerinde birok kaydn yedekli tutulmas nedeniyle doal olarak biraz yavatr. Bilgisayarnz bir kesintisiz g kaynayla desteklenmiyorsa disklerinizi Reiser-fs veya ext3 kullanarak dzenlemenizi neririz. imdi de LINUX kullanrken olduka sk karlaacanz baz nemli kavramlardan sz etmek istiyoruz. Bu kavramlar batan biraz olsun tanrsanz, gerek kurulum, gerekse kullanm srasnda ok rahat edersiniz.

21

Kim Korkar LINUXtan?

X Window Bildiiniz gibi grafik kullanc arabirimleri kiisel bilgisayar pazarna uzun yllar nce Apple Macintoshlarla girdi. Ekranda bir fareyle dolamak, ekranda yazlarn ve resimlerin birlikte grlebilmesi, hatta yazlarn da resim olarak deiik yaz tipleriyle yazlabilmesi doal olarak bilgisayar kullanmn ok byk lde kolaylatrd. Kolaylatrmak bir yana, yepyeni uygulama alanlarna yol at. Genel kannn aksine ilk grafik kullanc arabirimi Macintoshla ortaya kmad; ama Apple bu kavram kiisel bilgisayarlara tayan ilk firma oldu. Massachusetts Institute of Technology (MIT) niversitesinde 1984 ylnda balatlan Athena projesi 1986da ilk rnlerini vermeye baladnda X Window (ksaca X) adyla anlmaya balamt. Belki inanmayacaksnz ama UNIX dnyasnn grafik kullanc arayz hala bu X zerine kuruludur. Elbette o gnden bugne ok ey deiti ama temel ilkeler hala ayn. UNIXin gelenekselliki felsefesi sayesinde o ilk yllarda yazlm olan programlarn neredeyse tamam hala yeni X srmleri ile uyumludur.

Alakgnll bir X ekran.

X Window, veya LINUX dnyasnda daha yaygn olarak kullanlan adyla Xorg standard bilgisayarn ekrannda grafik eler oluturabilmek iin kullanlan bir yazlm alt yaps ve bu alt yapya hkmetmek iin gelitirilmi bir

22

UNIX Dnyasnn Veliaht Prensi... LINUX...

yazlm ktphanesidir. Bu nedenle X (veya Xorg) tek bana kullancnn pek bir iine yaramaz. Xin mekanizmasn anlamak iin kavram ok iyi sindirmelisiniz: X Sunucusu, X stemcisi ve X Protokol. X Sunucusu (X Server): X Sunucusu genellikle ok yanl anlalan bir terimdir. X Sunucu hereyden nce bir yazlmdr. X grafik kullanc arabirimi hangi bilgisayarn ekrannda grafik grnt oluturacaksa o bilgisayarda bir X Sunucu yazlm almaldr. X Sunucu yazlm ekrann eitli grafik uygulamalar arasnda paylalmasn salayan; bir baka deyile grafik ekranda bir anda birden fazla pencere almasn ve bu pencerelerin iinde yaz-resim grntlenmesini salayan, klavye ve farenin denetimini stlenen yazlmdr. X stemcisi (X Client): Yazlma amacna hizmet edebilmek iin bir ekrana grafik izme gereksinimi duyan, fare ve klavyeden komut kabul edecek uygulama yazlmlarna X istemcisi denir. rnein zaman akrepli yelkovanl bir saat resmiyle gstermek isteyen bir uygulama program ve Netscape web taraycs birer X istemcisidir. X istemcileri, grafik ekranda bir deiiklik yapmak istediklerinde bu isteklerini grafik ekran denetleyen X sunucusuna iletirler. X sunucusu da, denetlemekte olduu grafik kart ile grp grnt deiikliinin monitre yansmasn salar. arpc bir ey syleyelim mi? X sunucusu ile X istemcisi farkl bilgisayarlarda alyor bile olabilirler. X Protokol: X istemcilerinin grafik birimlere izim yapma isteklerini X sunucularna aktarmak iin kullanlan protokoldr. X istemcileri, X sunucularndan izim ilerini yapmalarn isteyebilecekleri gibi; X sunucularn, denetledikleri grafik arabirimler hakknda bilgi gndermelerini de isteyebilirler (renk zenginlii, znrlk gibi). X Protokol tek bir bilgisayar zerinde alan X sunucusu ile X istemcileri arasnda yrtlebilecei gibi TCP/IP zerinden farkl bilgisayarlar arasnda da yrtlebilir. Nasl yani? diyorsanz ksacas yle: Ankarada Bilkent niversitesinde yer alan bir bilgisayar zerinde alan CAD yazlmnn grafikleri Boazii niversitesindeki bir bilgisayarn ekranna alnabilir. Byle bir durumda X sunucusu Boazii niversitesindeki bilgisayarda; X istemcisi olan CAD yazlm da Bilkent niversitesindeki bilgisayarda alyor olacaktr.

23

Kim Korkar LINUXtan?

Evet! Birka yldr size yeni teknoloji diye sunulan iletim sistemlerinde buna birazck benzer bir i yapabilmek iin fazladan birka bin dolar demeniz gerekiyor! Oysa X, 1985den beri bu ii mkemmel bir ekilde cretsiz ve zgr olarak yapyor. X istemcileri, bir grafik izmek istediklerinde ember iz, mavi kare iz, kesikli izgi iz, Times Roman yaz tipiyle u karakterleri gster gibi temel X komutlarn X protokol ile bir X sunucusuna gnderirler. Eer yazlmn alma mant asndan gerekliyse, nce bu grafiklerin nasl bir ekranda izileceklerini de renebilirler. Bu istekleri alan X sunucusu, istemcinin tanmlanm yetkileri uygunsa bu grafik unsurlar kendi denetiminde olan ekrana izer. Farenin hareketleri ve klavyede baslan tular hakknda gereken bilgiler de X sunucusu tarafndan istemciye gnderilerek uygulama yazlmnn davran denetlenebilir. Bir X sunucusu birden fazla bilgisayarda alan X istemcilerinin pencerelerini barndrabilir. Yani kendi ekrannzda be deiik pencere iinde, be deiik corafi blgede yer alan be deiik bilgisayarda alan be deiik grafik uygulama programnn ekranlarn barndrabilirsiniz. Ynetmekle sorumlu olduklar sunucuda nemsiz bir parametre deitirdikten sonra veya yeni bir program ykledikten sonra sistemi Restart etmek iin ya da yedekleme balatmak iin gece yars irkete giden NT sistem yneticilerinin kulaklar nlasn...

24

UNIX Dnyasnn Veliaht Prensi... LINUX...

Bu ekranda grdnz her bir pencere, farkl bir bilgisayarda almakta olan uygulama programlarna aittir. Bir baka deyile, drt ayr bilgisayarn ekran tek bir ekrana toplanabilmektedir.

X Window Pencere ve Masast Yneticileri (Window Managers, Desktop Managers)


X altnda ok sayda pencere amak, bunlar ynetmek, kltp bytmek, ekranda gezdirmek iin gelitirilmi yazlmlara pencere yneticisi denir. Pencere yneticilerinin bir grevi de pencerelerin ve ekran fonunun estetik zelliklerini dzenlemektir. Standart X altnda pencerelerin grsel zellikleri son derece basit ve irkindir ancak kullanclar ekranlarnn grsel zelliklerini pencere yneticilerinin yardmyla kendi zevklerine gre dzenleyebilirler. X dnyasnn nemli pencere yneticileri arasnda sawfish, enlightenment, ICEwm saylabilir. Normal koullarda LINUX kullanclar bu

25

Kim Korkar LINUXtan?

pencere yneticilerini dorudan kullanmazlar. Kullancnn dorudan iletiimde bulunduu yazlmlar masa st yneticileridir. X altnda alan pencere yneticileri altnda eitli ikonlar, men sistemleri ile kullanclara daha kullanl ve anlaml ekran grntleri sunan X uygulamalarna masa st yneticisi denir. LINUX dnyasnn en nemli masa st yneticileri KDE ve GNOME yazlmlardr. Masa st yneticileri, pencere yneticileri altnda alr. Pencere yneticileri de X altnda... Bu kitaptaki tm ekran grntleri KDE masa st yneticisi kullanlarak hazrlanmtr. LINUXun kurulumunun bir aamasnda sizin de bir masa st yneticisi semeniz gerekecektir. Bu kitapla uyumlu olmas asndan KDE semenizi neririz. Zaten istediiniz zaman deitirme ansnz olacaktr.

Yukardaki rnek KDE ekrannda dikkatinizi ekmek istediimiz iki ge var: Biri terminal penceresinin yar saydam olmas dieri de n plandaki pencerenin bir Windows-98 bilgisayarna ait olmas. Yar saydam uygulama pencereleri, uygun fon resimleri ve renklendirmeyle ok ho masa st grntleri verebilmektedir. www.kde-look.com adresinde yzlerce deiik masa st temas bulabilirsiniz.

26

UNIX Dnyasnn Veliaht Prensi... LINUX...

n plandaki Windows ekranna gelince... Evet, LINUX altnda Windows iletim sistemini altrabileceiniz gibi birok Windows uygulamasn da kullanabilirsiniz. Bu i iin VMWare, Win4Lin ve Wine gibi LINUX yazlmlar vardr. Ancak, Wine hari hepsi cretlidir.

LINUX ekirdei (LINUX Kernel)


Her iletim sistemi bir ekirdek ve onun etrafna toplanm onlarca (UNIX sz konusu olduu zaman binlerce) komuta ilikin programlardan oluur. letim sisteminin ekirdei, sistemin almasyla bellee yklenen ve iletim sistemi alt srece bellekte kalan yazlm modlleridir. ekirdein temel grevleri arasnda bellek ynetimi, merkezi ilem biriminin paralel alan sreler arasnda paylalmasnn koordine edilmesi (zaman paylam), eitli arabirimlerin (IDE ve SCSI disk arabirimleri gibi) ynetim ve denetimi saylabilir. Normal koullarda bir LINUX kullancsnn iletim sistemi ekirdeini (kernel) kurcalamas gerekmez. Ancak, ok ender de olsa baz durumlarda ekirdei deitirmeniz veya deiik baz yetenekleri ekleyebilmek iin yeni batan derlemeniz gerekebilir. rnein, LINUX altnda MS Windows 9x iletim sisteminin altrlmasn salayan Win4Lin isimli bir yazlm vardr. (www.netraverse.com) Bu yazlm standart LINUX ekirdeklerinde alamyor, daha dorusu alabilmek iin ekirdekte baz eklemeler ve deiiklikler gerektiriyor. Bu program satn alrsanz, ya LINUXunuza uygun bir ekirdei firmann ftp sunucusundan indirmeniz ya da bu firmann sayfalarnda aklanan yntemlerle ekirdeinizin kaynak kodunu deitirip yeniden derlemeniz gerekecektir. LINUX; kayna ak bir iletim sistemi olduu iin kaynak kodlarn indirip, birtakm deiiklikler yapp yeniden derlemek ve yeni ilevlerle donatlm bir ekirdek elde etmek mmkndr. Bu bilgi bir kenarda dursun; belki lazm olur.

root
UNIX dnyasna yeni girenlerin ksa bir sre iin de olsa almakta zorluk ektikleri iki anlaml bir UNIX terimidir. Eer insanlardan (kullanclardan) bahsedilirken kullanrsa, root szc (ruut okunur) sper kullanc yani sistem yneticisi anlamna gelir.

27

Kim Korkar LINUXtan?

Tm UNIX ve LINUX kurulumlarnda ad root olan bir kullanc vardr. Bu kullanc sistemdeki tm kaynaklar kullanmaya, tm dosya ve dizinlerde her trl deiiklii yapmaya yetkilidir. root szc disklerden, dizinlerden sz ederken kullanlrsa bir UNIX bilgisayardaki disk dosya sisteminin en st noktas anlamna gelir. Aslnda bu noktann adnn okunuu root dur ama yazl / dr. Windows iletim sisteminde her diskin C:\, D:\ ile gsterilen kendi root dizinleri olmasna karn UNIXde durum biraz farkldr. En nemli fark, zerinde ka disk takl olursa olsun her UNIX bilgisayarda tek bir / dizini olmasdr. kinci nemli fark da, root dizinin semblnn \ deil, normal blm iareti olan / olmasdr.

LINUXta Disk simlendirmesi


Mikrobilgisayar dnyasnn ilk profesyonel iletim sistemlerinden biri olan CP/M iletim sisteminin oluturduu alkanlktan olsa gerek, Microsoft iletim sistemlerinde disklere A:, C:, D: gibi harf ve iki nokta ststeden oluan isimler verilegelmitir. Oysa UNIX dnyasnda durum ok farkldr. Fiziksel IDE arabirimli disk ve CD srcleri hda, hdb, hdc, hdd gibi isimlerle anlr. SCSI diskler ise sda, sdb gibi isimlerle... Disket srcleri ise fd0, fd1 gibi isimlerle... Ancak bu son cmleler sizi yanltmasn. Bu isimler yalnzca fiziksel birimlerden sz ederken kullanlr. Bu ortamlardaki dizin ve dosyalara eriirken disk, CD ve disket srclere kendi uygun greceiniz isimlerle ulaacaksnz. imdilik bu isimlendirme iinin ayrntlarna girmeyeceiz. Bu aamada bilmeniz gereken birincil (primary) IDE kanal zerindeki ilk (master) disk ya da CD srcnn adnn hda, gene birincil kanaldaki ikinci birimin (slave) adnn hdb, ikincil kanaln ilk diskinin hdc ve sonuncu diskin de hdd olarak isimlendirileceidir. SCSI diskleriniz varsa onlar da SCSI adreslerine gre sda, sdb gibi isimlendirilecektir. Disk zerindeki blm isimleri ise sda1, sda2, ... olacaktr.

28

UNIX Dnyasnn Veliaht Prensi... LINUX...

hda1 IDE 1 Anakart IDE 2 hda2 hda3 hdc1 hdc2 hdc3

hdb1 hdb2 hdd1 hdd2

SCSI ok esnek bir arabirim standarddr. Sabit disklerden teyplere, tarayclardan yazclara kadar birok donanmda kullanlabilmektedir. SCSI arabirim denetim modlleri de (driver) bir o kadar esnektir. Bu nedenle yeni disk teknolojileri ile ilgili ekirdek modlleri genellikle SCSI arabirim srclerine eklenmektedir. rnein son yllarda hzla yaygnlaan SATA disk arabirim standard da LINUX iletim sisteminde bir SCSI arabirimi gibi denetlenmekte; bunun iin de SATA disk srcler sistemde sda, sdb gibi isimler altnda grnmektedir.
sda1 sda2 sda3 SATA-1 SATA-2 SATA-3 Ana Kart SATA-4 sdd1 sdc1 sdd2 sda4 sdb2 sdb1

Kurulum ncesi bu kadar teori yeter. imdi Mandriva LINUX datmnn CDsini ve bir tane bo disketi hazr edip kuruluma balayabilirsiniz.

29

Kim Korkar LINUXtan?

BUNLARI BLYOR MUYDUNUZ?

UNIX Tasarm lkeleri (Baarnn srr m yoksa...)


LINUXun ok ilemcili bilgisayarlarda da rahatlkla kullanlabildiini biliyor muydunuz? stelik 3 ilemciden sonra performansn artmamas gibi bir sorun olmakszn! Peki... ok sayda (snrsz sayda) tek ilemcili LINUX bilgisayar paralel altrarak bir sper bilgisayar yapabileceinizi biliyor muydunuz? Beowulf veya Openmosix yazlmyla binlerce LINUX bilgisayar paralel ilemcili tek bir bilgisayar gibi kullanarak (elbette uygun programlama aralar ve teknikleri gerekecektir) lgn bir ilem gc elde edebilirsiniz.

30

Mandriva LINUX Kurulumu


Varsaymlar Kurulum

02

Varsaymlar
Bilgisayarnzda donanm zellikleri olarak Birincil IDE kanalna master olarak taklm 20 Gbyte kapasiteli bir disk src, kincil IDE kanalna master olarak taklm bir CD src, 1024 x 768 znrlkte en az 256 renk destekleyen bir grafik kart, Bir ses kart (ya da ana kart zerinde btnleik bir ses arabirimi) ve hoparlr, 128 MByte bellek, Tekerli bir fare, Bir ADSL balants, Bir disket src, olduunu varsayyoruz. Ayrca, sisteminizde Windows XP ykl olduunu, buna ramen 10 GByte bo yer olduunu, bu diskteki deerli dosyalar yedeklemi olduunuzu ve Partition Magic veya edeeri bir programla diskinizi blme ayrm olduunuzu varsayyoruz. 10 GByte (WinXP blm) 512 MByte (Takas alan)* 9.5 GB (LINUX iin ayrlan alan)

* Takas alan olarak ana bellein (RAM) iki kat nerilir. Daha fazla olmasnda bir saknca yoktur.

Diskinizin 10 GBytelk ilk blmnde XP iletim sistemi, ikinci 512

31

Kim Korkar LINUXtan?

MBytelk blmnde takas alan olarak ayrlm bir alan ve son blmnde de LINUX iin ayrlan alan.
Gelimi iletim sistemlerinde bilgisayarn bellei, alan programlar arasnda dinamik olarak paylatrlr. letim sistemi, bellee gereksinim duyan programlara bellek verir; ii biten bellek alanlarn da geri alr. Ancak, yle anlar olur ki, alan programlarn istedikleri toplam bellek, sistemin sahip olduu bellekten fazladr. Modern iletim sistemleri bu durumlarda almakta olan programlar arasndan uygun grdkleri birini ya da birkan bellekten diske tayarak kalan programlara yer aar. Biraz sonra bellekte kalmay baaran programlar diske indirip, az nce diske tanm olan programlar bellee geri alp altrmaya kald yerden devam ettirir. Btn bu iler saniyenin kk kesirlerinde yaplabilse de bilgisayarn almasn byk lde yavalatr. Bu sanal bellek (virtual memory) uygulamas aslnda yukarda anlattmzdan elbette daha karktr ama ilke olarak bu ekilde; bellekteki programlarn zaman zaman diske atlarak bellek kazanmaya allmas, bellek yetersizliinden programlar tamamen durdurmak zorunda kalmaktansa sistemi yavalatmak daha iyidir dncesidir. Bellekten diske ve diskten bellee program paralarnn tanp durmas iin diskte ayrlan alana takas alan ad verilir.

Kurulum
Evet, hazrsanz balayalm... Sisteminizin BIOS ayarlarndan ncelikli boot srcsn CD-ROM src olarak semeyi unutmadan Mandriva datm CDlerinden Install etiketli olan ilkini srcye takp bilgisayarnz anz. Birka saniye iinde ekrannzda...

32

Mandriva LINUX Kurulumu

Kuruluma devam etmek iin Enter tuuna basnz. Mandriva LINUX datmn kurmann tek yolu CDden kurmak deildir. LINUXunuzu bir diskten veya a zerinden eriebildiiniz bir bilgisayardan da kurabilirsiniz. Hangi kurulum yntemi seilmi olursa olsun baladktan sonra gerisi ayn olduu iin biz CDden kurulumu anlatacaz. nce Mandriva LINUXu hangi dille kurmak ve kullanmak istediinize ilikin seiminizi yapmalsnz. Karnza gelecek listeden English American seebileceiniz gibi Turkish de seebilirsiniz. LINUXunuzun dilini Turkish olarak belirlerseniz tm kurulum ekranlar ve daha sonra da iletim sisteminin pek ok metni karnza Trke olarak gelecektir. Ancak Mandriva datmnn Trkeletirmesi henz tamamlanmad iin baz ekranlar/mesajlar ngilizce olacaktr. Biz LINUXunuzu ngilizce olarak kurmanz ve kullanmanz neririz. Eer bilgisayar ve LINUX terimlerinin ngilizcesini biliyorsanz veya renirseniz zaten sorun yok. Yok eer bilmiyorsanz, renmeye balamann tam zamandr. UNIX ve LINUXla ilgili btn kitap ve dokmanlar Trkeletirilemedii iin ve buna da pek olanak olmad iin LINUXa zg terimlerin ve kavramlarn ngilizcesini renmek zorundasnz.

33

Kim Korkar LINUXtan?

Bu dil seme ekrannn sol tarafndaki liste kurulum boyunca orada kalacak ve kurulumun hangi aamasnda olduunuzu gsterecektir. Halen iinde bulunduunuz kurulum aamas beyaz renkli bir butonla gsterilir.

Bu da lisans anlamanz... zet olarak Mandriva LINUX datmnn ve logolarnn telif hakknn Mandriva S.A irketine ait olduunu, bu ekranda Accept seimini yapp Next butonunu tklamakla bu lisans anlamasn kabul etmi olacanz belirtiyor. Bu yazlmlar kullanmanzdan ya da kullanamamanzdan dolay urayabileceiniz hibir zarardan kendilerinin sorumlu tutulamayacan vurguluyor. Ayrca, datm paketindeki yazlmlarn ok byk bir ounluunun ve paketin kendisinin Genel Kamu Lisans (GNU General Public License) ile datldn belirtiyor. GKL size biraz garip gelebilir. Bu lisans ile datlan programlar hi kimseye para demek zorunda kalmadan kullanabilir ve istediiniz kadar kopyalayp istediiniz gibi databilirsiniz. Microsoft yneticilerinin GKL lafn duyunca neden bir ho olduklarn imdi anlyor musunuz?

34

Mandriva LINUX Kurulumu

LINUX bilgisayarnzn kurulumu srasnda yaplacak gvenlik ayarlarnn dzeyi soruluyor. Standard semenizi neririz. Daha yksek gvenlik dzeyleri yeni renenler iin biraz fazla gvenli oluyor. kinci kutuda, sisteminizde alacak birtakm gvenlik denetim yazlmlarnn raporlarn kime gnderecei soruluyor (Security Administrator). Bu kutuya kurulumun ileri aamalarnda kendinize aacanz hesabn adn girebileceiniz gibi bakasna ait bir elektronik posta adresi de girebilirsiniz. nerimiz buraya kendi hesap adnz (cayfer gibi) girmenizdir.

35

Kim Korkar LINUXtan?

Kurulumun nemli bir aamas... Diskinizin blmlemesiyle ilgili seimlerinizi yapmak zeresiniz. Eer diskinizin tamamn LINUXa ayrabilecekseniz Erase entire disk seimini yapnz. Eer diskinizin blmlenmesi LINUX kurulumu iin hazrsa; yani, bir tanesi takas alan olmak, dieri LINUX kurulmak zere en az iki blm tanmlysa Use existing partitions seimini yapabilirsiniz. Eer disk blmlemeyi kendi kontrolnz altnda yapacaksanz (-ki bu seimi neririz) Custom disk partitioning seimini yapnz. Bundan sonraki ekran grntleri 20 GB diski olan, diskin ilk 10 GBytenda Windows XP kurulu olan bir disk iin verilecektir. Bu noktada amacnz, ekrandaki blmleme haritasn aada grnen ekle benzer bir ekle getirmek olacaktr. Yeni blmleme haritasnda en az iki yeni blm yer almaldr: 1. Takas alan, 2. LINUX blm. Disk blmleme haritas Windows XP Blm Takas Alan LINUX Blm

ncelikle Takas Alann yaratmanz neririz. Takas Alan tm UNIX iletim sistemlerinde olduu gibi LINUXta da ok nemlidir. zel bir neden yoksa, takas alan olarak ayracanz disk alannn boyu, bilgisayarnzn ana belleinin iki kat kadar olsa yeter.

36

Mandriva LINUX Kurulumu

Disk blmlemesini LINUXa uygun bir ekle getirmek iin: Varsa Windows blm iin bir mount point tanmlamanz, Bir takas alan blm yaratmanz ve blm tipini Swap olarak atama nz, Kalan alan iin de mount point olarak /; File system type (dosya sis temi tipi) olarak da Journalised FS tanmlamanz gerekmektedir.

Bu ileri yapmak iin emasnda ilgili disk blmn tkladktan sonra soldaki menden Resize (boyunu deitir) Mount point (balant noktas) ve stteki listeden File system type (dosya sistemi tipi)

37

Kim Korkar LINUXtan?

seimlerini ve ayarlarn yapmanz gerekmektedir. Bu ilemleri yaparken nce bir disk blmn tklayp semek, sonra da ayarlarn yapmak gerekmektedir. Bu ilemler srasnda disk blmlerini silmek iin Delete, boyutlarn deitirmek iin Resize, bo disk alanna yeni blm yaratmak iin de Create butonlarn kullanabilirsiniz. Eer birden fazla fiziksel diskiniz (disk birimi) varsa, blm haritasnn st tarafnda hda, hdb (ya da sda, sdb) gibi balklar greceksiniz. Hangi diskin blmlemesini yapmakta olduunuza dikkat etmelisiniz. Done butonunu tklayncaya kadar yaptnz hi bir deiiklik diske ya da disklere kaydedilmeyecektir, rahat rahat alabilirsiniz. rnein takas alann yaratmak iin ekrandaki blmleme haritasnda bo disk alann tklayp ardndan Create butonunu tklaynz. Sonra File System Type kutusunda Linux Swap seip, bu blm iin ayracanz alan iin Size in MB ayarn yaklak 512ye getiriniz ve OK butonunu tklaynz. Takas alann ayrdktan sonra LINUX iletim sisteminin yerleecei blm tanmlamalsnz. Bunun iin, haritada kalan bo alan zerine tklayp Create butonunu tklaynz. Diskin kalan alannn tamamn LINUXa ayrmak iin Size in MB srgsn en saa ekiniz. Filesystem types kutusunda Journalised FS: ext3 seili olsun, Mount point kutusunda da / iareti olsun. Amacnz aadakine benzer bir blmleme haritas elde etmek olmal: 1. Hi ellenmeyecek bir Windows blm (tabii varsa), 2. Ana bellein iki kat kadar bir takas alan ve 3. Diskin kalan kadar bir LINUX blm.

38

Mandriva LINUX Kurulumu

LINUX iin ayrlan blm

Windows blm Takas Alan olarak ayrlan blm

Blm eridi

Bilgisayarnzda birden fazla disk src varsa, yukardaki harita ekrannda bu disklerin blmleme tablolarn hda, hdb, hdc, hdd gibi balklar altnda greceksiniz. LINUX iin kullanmay dndnz diskte bir Windows blmne gereksiniminiz yoksa, o diskte yalnzca bir takas alan ve LINUX blm yer alabilir.

Disklerinizin blmlemesini tamamladnzda disk ya da disklerinizin saysna ve eski iletim sistemini korumak isteyip istememenize gre aadaki blmleme haritalarndan birini elde etmi olmalsnz:
Tek Disk, Tamam LINUXa Ayrlm

Disk ve Blm hda, hda5 hda, hda6

Kapasite

mount Noktas (mount point)

Dosya Sistemi Tipi (fs Type) swap Journalised FS:ext 3

200-400 MByte swap Kalan ksm /

39

Kim Korkar LINUXtan?

Tek Disk, Bir Ksm Windows, Kalan Ksm LINUXa Ayrlm

Disk ve Blm hda, hda1 hda, hda5 hda, hda6

Kapasite

mount Noktas (mount point)

Dosya Sistemi Tipi (fs Type) Win98 FAT32 swap Journalised FS:ext 3

Her ne ise

200-400 MByte swap Kalan ksm /

Tek Disk, Blmleme Bycs Tarafndan Dzenlenmi Blmleme

Disk ve Blm hda, had1 hda, hda5 hda, hda6 hda, hda7

Kapasite

mount Noktas (mount point) / swap /usr /home

Dosya Sistemi Tipi (fs Type) Journalised FS:ext 3 swap Journalised FS:ext 3 Journalised FS:ext 3

1 GByte 256 MByte 1.5 GByte 4.2 GByte

ki Diskli PC, kinci Diskin Tamam LINUXa Ayrlm

Disk ve Blm hda, hda1 hdb, hdb5 hdb, hdb6

Kapasite

mount Noktas (mount point)

Dosya Sistemi Tipi (fs Type) Win98 FAT32 swap Journalised FS:ext 3

Her ne ise 200-400 MByte swap Kalan ksm /

Blmleme tablonuz hazr olunca Done butonunu tklaynz. Yeni blmleme tablonuzun diske kaydedileceine ilikin Partition table of drive hda is going to be written to disk! diye bir mesaj alacaksnz. Ok tklayp devam ediniz.

40

Mandriva LINUX Kurulumu

imdi yeni tanmlanan LINUX blm formatlanacaktr. Bu formatlama, bilgisayarnzn hzna bal olarak 10-20 saniye iinde tamamlanacaktr. Eer diskinizde ayrabileceiniz 2 GigaByte kadar fazladan yer varsa, Mandriva datm CDlerini bu aamada diske olduklar gibi yklemek iyi bir fikir olacaktr.

41

Kim Korkar LINUXtan?

Kurulum CDlerinin kopyas diskinizde yer aldnda eitli eksik programlar yklemek ya da baz paketleri silip yeniden yklemek istediinizde kolaylk olacaktr. Eer CD kopyalar diskinizde bulunmazsa, datm iinden bir program yklemek istediinizde, programn iinde bulunduu CDyi takmanz istenecektir. leride CD kopyalarnn diskte harcad yer sizi rahatsz ederse /var/ftp/pub/Mandrivalinux/media/ altndaki media1, media ve media3 dizinlerini silebilirsiniz. Eer CDlerin diske kopyalanmasn tercih ederseniz, nce datm CDsinden baka CDniz olup olmad sorulacak (ki buna yok - none demelisiniz) sonra CDler diske birer birer kopyalanacak, kurulum ondan sonra devam edecektir.

42

Mandriva LINUX Kurulumu

Kurulum ilemi baladnda kullanmay dndnz uygulama gruplarn semeniz istenecektir. Seimlerinizi yaparken disk kapasitenizi gz nnde bulundurmalsnz. Siz grup setike ekrann en altnda Total size bal yannda seimlerinizin diskte ne kadar yer tutaca grntlenecektir. Tipik ve bol keseden yaplm bir seim listesi rneini aadaki ekran grntsnde grebilirsiniz. Linux altnda yazlm gelitirme almas yapmay dnmyorsanz Development balkl grubu bouna semeyin deriz. Deiik masast denetim yazlmlarn denemek istiyorsanz Graphical Environment grubu altnda KDE Workstation yan sra GNOME Workstation seimini de yapmanz neririz.

43

Kim Korkar LINUXtan?

Unutmayn! Eksikliini hissettiiniz paketleri sonradan kolayca ykleyebilirsiniz. Setiiniz uygulama yazlm gruplar arasnda bir sunucu yazlm varsa (ki byk olaslkla olacaktr), bir uyar ekran ile karlaacaksnz:

letim sistemi ne olursa olsun, sunucu servisleri altrmak tehlikelidir. Sunucu yazlmda yer alabilecek bir hata ya da zayflk sorun karabilir. Dikkat ederseniz karabilir diyoruz. Piyasada, bir sunucu yazlm almasna dahi gerek olmadan sorun kmas garantili iletim sistemleri bulunduunu belirtmemize herhalde gerek yok. aka bir yana, bu uyar ekrannda ekinmeden Next seimini yapabilirsiniz.

44

Mandriva LINUX Kurulumu

Evet... Bir kahveyi hak ettiniz. imdi bilgisayarnzn hzna bal olarak yarm saat-krk be dakika kadar beklemeniz gerekecek. Kurulum CDlerinin diske kopyalanmasn istemediyseniz arada srada CD deitirmeniz istenecektir.

45

Kim Korkar LINUXtan?

Yukardaki ekran, LINUX sisteminizin root kullancs iin bir ifre semenizi istiyor. Hatrlarsanz ad root olan kullanc LINUX asndan zel bir kullancyd. root isimli kullanc sistemde hereyi yapmaya yetkilidir. leride sistem yneticisi yetkilerine gereksinim duyduunuzda, root kimliine brnmeniz gerekecektir.
LINUX, root kimliiyle i yapan kullanclarn ne yaptn iyi bildiini varsayar ve pek ok geri alnamayacak ileme ilikin komutlar sorgusuz sualsiz yerine getirir. Acemilii stnzden atmadan, gerekmedike root kimliine brnmemenizi neririz. Tek bir komutla kritik dosya ya da dizinleri silip tm sistemi kertebilirsiniz.

Sisteminiz bir bilgisayar ana balysa sakn ha ifresiz root kullanc (No password) seimini yapmaynz. root kullanc iin ifrenizi setikten sonra en az bir tane normal kullanc tantmalsnz. Doal olarak bu kullanc iin en iyi aday kendinizsiniz.
LINUX, gvenlik nedeniyle bilgisayar andan root kimliiyle gelen istekleri geri evirir. Bu nedenle sisteminize uzaktan erierek sistem ynetimiyle ilgili bir i yapacanzda, nce normal bir kullanc kimliiyle balanp sonra root kimliine brnmelisiniz. Bu nedenle kendinize mutlaka sradan bir kullanc hesab amalsnz.

46

Mandriva LINUX Kurulumu

root kullancnn ardndan normal kullanclar tantmanz istenecektir. Bu aamada bir tane normal kullanc tantmanz yeterli olacaktr. Naslsa sonradan istediiniz kadar kullanc tantabilirsiniz. UNIX geleneklerine gre kullanc tantm kodlar (User Name, User ID, Login Name diye de adlandrlr) kk harflerden oluturulur. Sizin de ayn gelenee uymanz neririz. Ayrca kullanc tantm kodu olarak seeceiniz karakter dizisinin en fazla 8 karakter uzunluunda olmasna ve boluk karakteri, Trkeye zg karakter ve noktalama iareti iermemesine de dikkat ediniz. Kullanclar iin setiiniz kullanc tantm kodlar o kiilerin e-posta adresi olacaktr. Bu nedenle k1, u2 gibi kiiliksiz kodlar da sememelisiniz.

Bu tanttnz kullancnn sisteminiz aldnda otomatik olarak sisteme giri yapmasn isteyip istemediiniz soruluyor. Eer yantnz Evet olacaksa, bu kullanc iin balatlacak pencere yneticisini de seebilirsiniz (KDE, GNOME gibi). nerimiz sistem aldnda seilmi bir kullancnn sisteme giri yapmasn sememeniz dorultusundadr. Do you want to use this feature? seimini bo brakarak Next butonunu tklaynz.

47

Kim Korkar LINUXtan?

Sisteminizin al srasnda yklenecek iletim sistemini seen programn (LILO: Linux Loader) yklenecei disk birimi soruluyor. First sector of drive (MBR) seip devam ediniz.

48

Mandriva LINUX Kurulumu

imdi de sra bilgisayarnzn ayrntl ayarlarnn yaplmasna geldi. Bu aamada klavye, arabirim dili (Country seenei), zaman dilimi (Timezone), grafik arabirim kart (Graphical Interface), a ayarlar (Network-LAN), gvenlik dzeyi (Security Level), al seeneklerini (Boot) seme ve deitirme ans sunuluyor. Bunlar arasnda en nemli olan Network-LAN ayardr. Aslnda bu seimlerin hepsini sonradan deitirebilirsiniz ama hazr yeri gelmiken klavye seiminde US keyboard (international) seip, More butonunu tklayp ardndan Turkish (modern Q mode) veya Turkish (traditional F mode) seiniz.

49

Kim Korkar LINUXtan?

Country seimini Turkey olarak yapmanz neririz.

50

Mandriva LINUX Kurulumu

Zaman diliminizi (Timezone) Europe/Istanbul semelisiniz. Bu seimi yaptnzda iki soru sorulacaktr:

51

Kim Korkar LINUXtan?

1. Hardware clock set to GMT 2. Automatic time synchronization (using NTP)

Hardware clock set to GMT seimi, bilgisayarnzn saat devresini Greenwich standart saatine ayarlama seimidir. Bo brakmanz neririz. Automatic time synchronization seimi de sisteminizin saatinin NTP (Network Time Protocol) protokol ile bir saat sunucusundan alnp alnmayacan belirler. Bunu da bo brakmanz neririz. Yazc ayarlar iin Printer Remote CUPS Server seimini yapnz.

CUPS, Common UNIX Printing System szcklerinin ba harfleridir (kaps diye okunur). Son yllarda kullanlmakta olan en gelimi yazc denetim sistemidir. Bir UNIX bilgisayara dorudan bal yazclar kadar a zerinden eriilebilen yazclar da byk baaryla denetleyebilir. Kurulumu da olduka kolaydr.

52

Mandriva LINUX Kurulumu

Aadaki ekran grntlerinden de kolaylkla izleyebileceiniz gibi yazcnzn otomatik tannmasn salayabilirsiniz (Auto-detect printers connected to this machine).

53

Kim Korkar LINUXtan?

Eer otomatik ayar semediyseniz, yazcnzn bal bulunduu arabirimi semelisiniz:

Yazcnza bir isim, belki modelini belirten bir aklama ve belki de en nemlisi yerini belirten (rnein hangi odada olduunu belirten) aklamalar girmelisiniz. ok yazcl byk bir bilgisayar anda yazcnn yerini belirten aklama notu ok yararl olmaktadr.

Sra geldi yazc src programlar iin marka ve model semeye...

54

Mandriva LINUX Kurulumu

Kat boyutu vs. ayarlar...

Yazc ayarlarnn doru olup olmadn test etmekte yarar var...

Evet! Yazc ayarlarnz tamam! imdi LAN ayarlar nemli!

55

Kim Korkar LINUXtan?

nternet balantnz bir ADSL Modem ile yapyorsanz, yani ADSL Modeminiz bilgisayarnzn iinde takl ise ya da USB arabirimi ile balanyorsa, bu listeden ADSL Connection seimini yapp, ADSL Servis salaycnzn size vermi olmas gereken bilgiler aracl ile kuruluma devam ediniz.

56

Mandriva LINUX Kurulumu

nternet balantnz ADSL hat zerinden bir ADSL ynlendirici (ADSL Router) ile yapyorsanz, byk olaslkla bilgisayarnz ADSL ynlendirici cihazna Ethernet arabirimi ile balanyordur. Bu durumda listeden LAN Connection seip kuruluma devam ediniz. nternet balantnz bir Kablo Modem ile yapyorsanz, yani Kablo Modeminiz bilgisayarnzn iinde takl ise ya da USB arabirimi ile balanyorsa, bu listeden Cable Connection seimini yapp, Kablo-Net servis salaycnzn size vermi olmas gereken bilgiler aracl ile kuruluma devam ediniz. Bilgisayarnz bir yerel bilgisayar ana balysa byk olaslkla Ethernet arabirimi ile balanyordur. Bu durumda listeden LAN Connection seip kuruluma devam ediniz. Eer bilgisayarnzda bir Wi-Fi Telsiz Ethernet arabirimi (Wireless Ethernet) varsa, ve Mandriva kurulum yazlm bu kart tandysa, yukardaki listede bir de Wireless Connection seenei yer alacaktr. Eer a balants iin sadece Wi-Fi arabirimi kullanacaksanz Wireless Connection seip devam ediniz. Wi-Fi arabirimi yansra Ethernet arabirimi de varsa ve bunu da kullanacaksanz LAN Connection seimiyle devam ediniz. imdi de sra bulunan Ethernet arabiriminizi semeye ve bu arabirim iin TCP/IP ayarlarna geldi...

57

Kim Korkar LINUXtan?

Internet, TCP/IP protokol denilen bir iletiim protokolleri topluluu zerine yaplandrlmtr. Bu protokol gerei internet veya TCP/IP a zerinde yer alacak her bilgisayarn bir IP numaras olmaldr. Ayn bir lkenin telefon ebekesine balanacak her telefonun bir abone numaras olmas gerektii gibi... Bu abone numaralarna siz karar veremezsiniz, numaralar telefon hizmetini veren kurulu tarafndan datlr ve her abonenin numaras farkldr. Kendi zel telefon ebekeniz varsa, rnein irketinizde bir telefon santralnz varsa dahili abonelerin numaralarn istediiniz gibi seer ve datrsnz, ancak gene de her abonenin farkl bir numaras olmaldr. Buna benzer ekilde d dnyayla dorudan balants olmayan bir anz varsa, ierdeki bilgisayarlara, birbirlerinden farkl olmak kaydyla istediiniz IP numaralarn verebilirsiniz. Byle durumlarda genellikle 192.168.0.1 serisi IP numaralar kullanlr. Bilgisayar anzn d dnyaya balants varsa IP numaralarnn seiminde pek zgr deilsiniz demektir. Kullanabileceiniz IP numaralar iin servis salaycnzla veya a yneticinizle grmelisiniz. Aslnda TCP/IP protokolne gre IP numaralar bilgisayarlara deil, bilgisayarlarn a arabirimlerine verilir. Bir baka deyile, bir bilgisayar zerinde birden fazla a arabirimi varsa (2 Ethernet arabirimi veya bir Ethernet arabirimi + bir evirmeli a arabirimi gibi) o bilgisayar zerinde tanml iki IP numaras olmaldr. Bu aklnzn bir kenarnda bulunsun.

58

Mandriva LINUX Kurulumu

Bir bilgisayarn TCP/IP protokolyle alan bir aa balanabilmesi iin drt nemli parametrenin TCP/IP ayarlar olarak girilmi olmas gerekir. Bunlar: a. IP adresi, b. A geidinin IP adresi (Gateway, Router IP Address), c. Alt a maskesi (Subnet Mask), d. En az bir DNS sunucunun IP adresi. Bu parametreler, bilgisayarnzn balanaca aa zg parametrelerdir ve doru olarak girilmelidir. Bilgisayarnzn TCP/IP ayarlarn iki yntemle yapabilirsiniz: 1. Varsa, bir DHCP servisi zerinden otomatik olarak, 2. Tm parametreleri elle kendiniz girerek (manuel). Eer a balantnz bir ADSL ynlendirici zerinden veya Wi-Fi arabirimle kuruyorsanz ok byk olaslkla ynlendirici veya Wi-Fi eriim noktas cihaznzda (Wireless Access Point) yararlanabileceiniz bir DHCP sunucu (Dynamic Host Configuration Protocol) vardr. Bu DHCP sunucunun ayarlar doru yapldysa, yaknlardaki bir bilgisayarn istemesi durumunda kendisine olmas gereken TCP/IP ayar parametrelerini gnderecektir. rnein Wi-Fi eriim noktalar bu ekilde alr. Dizst bilgisayarnzla bir Wi-Fi eriim noktasnn kapsama alanna girdiinizde, bilgisayarnz radyo dalgalaryla DHCP istei yaynlayarak etrafta kendisine TCP/IP ayar parametreleri verebilecek bir sunucu arar. Eriim noktas da koullar uygunsa bu istemciye gerekli ayarlar yapmas iin uygun parametreleri gnderir. DHCP sunucular sadece Wi-Fi servislerde kullanlmaz. Eer a yneticisi DHCP ile otomatik ayar datma yolunu setiyse, kablolu Ethernet balantlarnda da DHCP kullanlabilir. Bir ADSL ya da KabloNet ynlendirici ya da Wi-Fi eriim noktas zerinden servis alyorsanz byk olaslkla DHCP semeniz gerekecektir. inde yer alacanz an zelliklerine gre otomatik ya da manuel kurulum seimi yaptktan sonra devam edebilirsiniz.

59

Kim Korkar LINUXtan?

Manuel ayarlama yntemini setiinizde girmeniz gereken bilgiler: IP adresi, alt a maskesi (Netmask), DNS sunucular ve a gecidi (Gataway) adresleridir.

60

Mandriva LINUX Kurulumu

Bilgisayarnza vermek zere bir isim semelisiniz. Diyelim ki bilgisayarnza orion ismini uygun grdnz ve bu bilgisayar bilkent.edu.tr ismiyle kaydedilmi olan bir aa balyorsunuz. Bu durumda Host Name (Bilgisayar Ad) olarak orion.bilkent.edu.tr dizisini girmeli ve anzn yneticisine setiiniz isim ve IP numarasn vererek DNS (Domain Name Services) kayd yaplmasn istemelisiniz. Eer bir makinenin DNS kayd yaplmazsa dier bilgisayarlar tarafndan isimle bulunamazlar. Ayn telefon rehberinde ismi olmayan abonelere, numaralarn bilenler dnda kimsenin eriemeyecei gibi. DNS Server satrna paras bulunduunuz bilgisayar ana DNS hizmeti veren bilgisayarn IP numarasn girmelisiniz.
DNS (Domain Name Services) hizmeti veren bilgisayarlarn temel ilevi sembolik internet adreslerini saysal IP numaralarna dntren bir eit bilinmeyen numaralar hizmeti vermektir. Internet zerindeki adreslendirme sistemi tamamen saysal IP adresleri zerine kurulmutur. Web taraycnzla Hrriyet gazetesinin sayfalarna bakmak iin www.hurriyet.com.tr adresini verdiinizde birilerinin bu sembolik adresi saysal IP adresine evirmesi gerekecektir. TCP/IP paketleri sembolik isimlerle hibir yere gidemezler...

Kullanclarn bir sr saysal adres ezberlemeleri pratik olmayaca iin internet zerindeki bilgisayar alarna ve bilgisayarlara sembolik isimler verilmitir. Sembolik isimlerin hangi saysal adreslere karlk geldiinin bulunmas grevi de DNS sunucularna verilmitir. Bu sunucu, sz konusu a iinde yer alan bir bilgisayar olabilecei gibi bir st ada da yer alabilir. DNS sunucunuzun IP numarasnn ne olmas gerektiini a yneticinizden veya anza internet hizmeti veren kuruluun a yneticilerinden renebilirsiniz. Bu ekrandaki nc nemli parametre bilgisayar anzn A Geidi (Gateway, geytvey diye okunur, ok yaygn ve yanl olarak okunduu ekliyle getevey deil!) grevini stlenmi olan ynlendiricinin (router) adresidir. Bilgisayar anzn a geidi adresini servis salaycnzdan renebilirsiniz.

61

Kim Korkar LINUXtan?

Sra geldi grafik kartnzn ve ekrannzn ayarlarna.

ok byk lde otomatik olan bu aamay sonuna kadar gtrmeli ve zellikle en sondaki test ilemini yapmalsnz.

Grnt kartnz ve monitr tipiniz byk olaslkla otomatik tannarak onaylamanz iin size bir neride bulunulacaktr.

62

Mandriva LINUX Kurulumu

imdi de sra renk zenginlii ile ilgili tercihinizi belirtmekte...

63

Kim Korkar LINUXtan?

Doal olarak, nerilen znrlk ve renk saysn semelisiniz. znrlk iin nerilenden yksek deerleri denemeye deebilir.

64

Mandriva LINUX Kurulumu

Sistemin allarnda X Window sisteminin otomatik olarak balatlmasn isteyip istemediiniz soruluyor. Akas, deneyimli kullanclar bu soruya No yantn verip geer. Grafik ekran gerektii zaman startx komutunu verip Xorgu kendileri balatmay tercih ederler. Ama, estetik nedenlerle, imdilik de olsa, Yes semeyi dnebilirsiniz. Aslnda kurulumla ilgili ileriniz neredeyse bitti. Ayrntl kurulum seenekleri arasnda dzenleme yapmanz gereken baka bir blm kalmad. Gene de merak ediyorsanz Security-Firewall Boot-Bootloader Services gibi seimleri yapp oralarda neler varm bir gz atabilirsiniz. Next tkladnzda karnza son kurulum ekran olan Mandriva LINUX gncelleme ekran gelecektir.

65

Kim Korkar LINUXtan?

Internet balant hznz yksekse ve vaktiniz varsa bu gncelleme srecinden gemenizi hararetle neririz. Ancak, LINUXu yeni renmek zere kuruyorsanz bizce bu gncelleme sreciyle imdilik vakit kaybetmeyin.

66

Mandriva LINUX Kurulumu

Evet, bitti... Varsa srcden disketi ve CDyi karp Ok butonunu tklaynz. Sisteminiz yeniden balatlacak ve diskteki LINUX bellee yklenecektir.

67

Kim Korkar LINUXtan?

BUNLARI BLYOR MUYDUNUZ?

TUX
LINUX iletim sisteminin gelitirilme srecinin ilk yllarnda projeye katkda bulunan programclarn ye olduklar internet tartma listesinde artk bir logoya gereksinim olduu konusunda dnceler ortaya kt. nceleri ahin, tilki, kpekbal, kartal gibi yrtc hayvanlar zerinde duruldu. Kiiliinin bir zelliinden olsa gerek, LINUXun yaratcs Linus Torvalds, yrtc bir hayvan yerine fikirlerin penguen zerine yneltilmesini nerdi. Tartmalar ilerledike karn tok, srt pek bir penguen zerinde gr birlii saland. Sonunda Larry Ewing, halen kullanlmakta olan penguen logosunu gelitirdi. Karn balklarla dolu, yeni geirmi, mutlu penguen ok beenildi. Sra bu penguene bir isim bulmaya gelmiti. Penguenlerin tylerinin desenlerinin smokine benzemesi nedeniyle, smokin szcnn ngilizcesi olan tuxedodan esinlenerek TUX ad seildi. Standart TUX resimleri yansra eitlemelerini bir arada www.linux.org/info/logos.html adresinde bulabilirsiniz.

68

LINUXla lk Tanma: KDE Masast Yneticisi

03

lk Tanma LINUX Bilgisayarlarn Almas LINUX Bilgisayarlarn Kapatlmas lk Login Mandriva LINUX Uygulamalar KDE Ayarlar Kullanc Ynetimi: UserDrake Dosya Yneticisi: Konqueror Genel Sistem Ynetimi Aralar: Mandriva Control Center Ofis Uygulamalar Grafik Uygulamalar Kiisel Uygulamalar Internetle lgili Uygulamalar oklu Ortam (Multimedya) Uygulamalar Kopete Annda Mesajlama Yazlm K3B Gambas Eclipse Digikam Wine Konsolda LINUX Kullanm Konsol Kavram logout: Sistemden k Isnma Hareketleri LINUX Dosya-Dizin Yaps Dosya-Dizin simleri Dosyalar ve Dizinler LINUXta Eriim Yetkileri Yazma, Okuma, Program altrma Yetkileri Dizinlere Eriim Haklar Suid Biti ve suid Programlar Sticky Bit 69 Dosyalarn ve Dizinlerin Sahibini Deitirmek Dosyalarn ve Dizinlerin Gruplarn Deitirmek

Kim Korkar LINUXtan?

Dosyalarn ve Dizinlerin Sahibini ve Grubunu Birlikte Deitirmek bash Kabuk Program bash Balang Dosyalar bash History ! Arac Kendi Komutlarnz: Aliases

lk Tanma
LINUX Bilgisayarlarn Almas
Eer bilgisayarnzda ykl olan tek iletim sistemi LINUX ise, bilgisayarnz amanz ve KDE (veya GNOME) Login ekran gelene kadar biraz beklemeniz yeterlidir. Eer bilgisayarnzda birden fazla iletim sistemi yklyse, LILO program hangi disk blmndeki hangi iletim sistemini yklemek istediinizi soracaktr. LILO mensndeki seenekler arasnda bir tanesi varsaylan ykleme seeneidir. LILOya siz gerekli yant vermeden bekleme sresi dolarsa bu varsaylan seim yaplm kabul edilir ve ilgili iletim sistemi yklenmeye balar. Bu davran zellikle bilgisayarnz uzaktan geri yklediinizde (reboot ettiinizde) ve elektrik kesintilerinden sonra tekrar alma durumlarnda birisinin makinenin bana gidip seim yapmasn gerektirmemesi asndan ok yararldr. LILO ile ilgili ayarlar Sistem Ynetimi blmnde LILO Ynetimi bal altnda bulacaksnz.

70

LINUXla lk Tanma: KDE Masast Yneticisi

Al Yneticileri (BOOT Loaders)


Genel amal bilgisayarlarn tamam iletim sistemini bellee diskten, CDden, USB bellek ubuundan ya da a zerinden ykleyerek kullanma hazr hale gelir. Bu ykleme srecine bilgisayarlarn ilk yllarnda bir insann kendi kendini ayakkabsnn balarndan ekerek kaldrmas anlamna gelen bootstrapping ad verilmitir. Bu szck sonradan booting, boot etme olarak ksaltlmtr. Bir bilgisayar aldnda, PClerdeki BIOS gibi ROMda yer alan bir program paras uygun bir disk, CD, a arabirimi seerek bu ortamda n tanml bir alandan Boot loader yazlmn yklemeye alr. PClerde bu n tanml alan genellikle ilk diskin MBRsidir (Master Boot Record - Temel Boot kayd). Diskin MBR olarak tanml alannda yer almas beklenen, BIOSdakinden daha yetenekli bir program bellee yklenerek altrlr. Bu program, gerek n tanml ayarlar gereince, gerek kullancnn yapacabilecei seimler dorultusunda disklerden ya da disk paralarnn birinden ya da bir baka ortamdan iletim sisteminin ekirdeini bellee ykleyerek denetimi iletim sistemine aktarr. Linux dnyasnda, MBRye kaydedilerek, iletim sisteminin nereden ykleneceinin belirtilmesini salayan birden fazla yazlm vardr. Bunlardan en popler iki tanesi LILO ve GRUB yazlmlardr. Mandriva aksi belirtilmedike bu i iin LILOyu kullanr.

LINUXun al srasnda ekrana listeledii mesajlar ilk bata size rktc gelebilir. Normal koullarda bunlara bakmanz bile gerekmez ama sorunlu bilgisayarlarda sorunun kaynan bulmak ve dzeltmek iin bu mesajlar ok yararl olmaktadr. Bu mesajlar sayesinde al srecinin hangi aamasnda, hangi i yaplrken sorun ktn kolayca grebilir ve sorunu yaratan yazlm ya da donanm unsurunu belirleyebilirsiniz. Mavi ekrandan daha iyi deil mi? letim sistemini ykleme sreci tamamlandnda grafik login ekran grnecektir.

71

Kim Korkar LINUXtan?

LINUX Bilgisayarlarn Kapatlmas


Hemen belirtelim: LINUX bilgisayarlar kapatmanz gerektiinde kesinlikle, ama kesinlikle trensel kapatma srecini balatmal ve sonuna kadar beklemelisiniz. ler sarpa sarnca makinenizi kt diye kapatmayn sakn. Elbette mecbur olduunuz durumlar hari... LINUX, donanm sorunlar olmad srece kolay kolay aklmaz, dolaysyla bilgisayarnz sk sk anahtarndan kapatmak zorunda kalacanz sanmyoruz. Enerji sorunu olmad srece LINUX bilgisayarlarn tipik ak kalma ve alma sreleri aylarla llr. Hatta, ABDde bir niversitede (galiba MIT) yanllkla bulunduu odann kaps duvarla rlen bir bilgisayarn yllarca sorun karmadan alt ve bu durumun bir tesisat onarm srasnda duvarn yklmasyla ortaya kt anlatlr. Donanm eklemek, tamak ya da ekirdek (kernel) deiiklii yapmak gerektiinde bilgisayarnz kapatmalsnz elbette ama tabii ki kuralna gre. ncelikle btn kullanclarn sisteminizle balantlarn kesmelerini istemeniz gerekir. Kullanclara eitli yollarla sistemi kapatacanz haber verebi-

72

LINUXla lk Tanma: KDE Masast Yneticisi

lirsiniz. wall komutuyla herkesin ekranna bir mesaj yollayabileceiniz gibi telefon da edebilirsiniz. Ardndan masa st denetleyicinizden Logout semelisiniz. (Bilgisayar kapatmaya niyetlendiinizde ie Start diye balamaktan daha mantkl.) Logout mensnde seenek greceksiniz: Login as a different user (Sistemden k ve baka bir kullanc olarak tekrar login ol) Turn off computer (Sistemi kapat) Restart computer (Sistemi yeniden balat) Bunlardan Login as a different user sistemle sizin, ahs olarak balantnz kesecektir. Masa stnz kapanacak ve sisteminiz yeni bir kullancnn konsoldan sisteme girmesine ve kendi istedii masa style almasna olanak verecek ekilde Login ekranna dnecektir. Sistemden ktnzda yalnzca size ait iler durdurulur. Arka plandaki servisler (web sunucusu, veritaban sunucusu gibi servisler) olduu gibi ilerine devam eder. Halt ad stnde sistemi kapatma trenini balatr. Bu seim yapldnda nce kullancya ait masa stnde alan programlar birer birer kapatlr, Sonra masa st yneticisi (KDE, GNOME gibi) kapatlr, X sunucusu kapatlr, Geri planda alan sunucu programlar (veritaban ynetim sistemleri, web ve ftp sunucular, e-posta ve dier internet servisleri gibi) birer birer kapatlr, Bilgisayarnzda ok kullancl dzen iin servis veren programlar kapatlarak sistem tek kullancl duruma getirilir, Tek kullancl durumda alan programlar kapatlr,

73

Kim Korkar LINUXtan?

En son olarak da ekirdek program durdurulur. Eer bilgisayarnzn kasas ATX veya benzeri zellikte bir kasaysa, bilgisayarnzn g kayna da kapatlr. Yok eer kasanzn g kayna yazlmla denetlenemiyorsa ekranda artk bilgisayar anahtarndan kapatabileceinize ilikin bir mesaj grntlenir. (Power off) Bu mesaj grnce sisteminizi anahtarndan kapatabilirsiniz.

Peki bilgisayar kt diye kapattnzda ya da elektrik kesildiinde ne olur? Bu biraz da bilgisayarda hangi servislerin altna baldr. Bir kere doal olarak zerinde altnz ve henz kaydedilmemi dosyalarda yaptnz deiiklikler kaybolur. MySQL gibi veritaban sistemleri alyorsa son gncellenen birka kayttaki gncellemeler de kaybolabilir. Bunlar enerji kayplarnn doal sonulardr. Eer disklerinizi ext2 dosya sistemiyle formatladysanz kayplarnz yukarda sz edilen dosya gncelleme kayplarnn tesine gidebilir; baz dizinleri ve dosyalar da kaybedebilirsiniz. Eer nerilerimize kulak verip disklerinizi ext3 veya reiser fs dosya sistemiyle formatladysanz pek bir ey olmaz. Ancak, her durumda, sisteminiz bir dahaki alnda dzgn kapatlmam olduunu farkedip dosya sistemlerini kontrol etmek zere fsck (file system check) yazlmn tm disk blmlerini kontrol edecek ekilde otomatik ola-

74

LINUXla lk Tanma: KDE Masast Yneticisi

rak altracaktr. Bu program iinden kamad bir durumla karlarsa baz dzenlemeleri yapmadan nce sistem yneticisinden izin ister. Akas byle bir durumla karlarsanz tm sorulara yes demekten baka seeneiniz de pek yoktur. Sisteminizde nemli iler yapacaksanz; hele hele bakalarna hizmet verecek servisleriniz alacaksa, kesintisiz g ve yedekleme iini ok ciddiye almanz gerekir.

lk Login
imdi login penceresinde sistemin kuruluu srasnda tanttnz normal kullancy seip ifrenizi giriniz. A balantnz alyorsa

ekran grnecektir. Eh! Bu kadarck reklam olacak elbette... Evet! LINUX iletim sistemi altnda KDE masa stnz (desktop) karnzda... (Kolay grebilmeniz iin ekrann tamam yerine sol alt kesi gsterilmitir.)

75

Kim Korkar LINUXtan?

KDE, GNOME gibi masa st yneticileri, bir LINUX bilgisayarn kolay kullanmna yneliktir. Pek ok iinizi hi UNIX komutu kullanmadan yapabilirsiniz. Eer herhangi bir MS-Windows iletim sistemine alknsanz, setiiniz masa st yneticisini kullanmak ok kolay gelecektir. Neler yaplabildiini kefetmek iin menlerde biraz dolamanz yeterlidir. Bu kitapta masa st olarak hep KDE yazlmndan rnekler greceksiniz. GNOME yerine KDE sememizin teknik bir nedeni yok. KDE bize daha sevimli geliyor, o kadar. KDEnin hereyini anlatmak iin bu kitap kadar bir kitap daha yazmak gerekiyor. Bu nedenle KDEye almanza ynelik olarak yalnzca temel baz zelliklerine deineceiz. Gerisini kendiniz kefedebilirsiniz. KDE altnda bir uygulama program balatmak iin: 1. Uygulamann masa stnde ikonu varsa o ikona tklamal veya 2. Uygulamann sembolik mende (kicker) ikonu varsa o ikona tklamal veya 3. Uygulamay KDE mensnden semeli veya 4. KDE mensnden Run Command seip istediiniz program balatacak komutu aka yazmalsnz.

76

LINUXla lk Tanma: KDE Masast Yneticisi

KDE Masa st Denetim Elemanlar

Masa st konlar: Kiisel dizininiz iin Konqueror Dosya Yneticisini altrmak iin Home ikonunu tklayabilirsiniz. Sembolik Men (Kicker): Sk kullanlan programlarn birer ikon olarak yer ald men blgesidir. Sk sk kullandnz, rnein web tarayc, e-posta yazlm gibi yazlmlar iin bu alana birer ikon yerletirerek sz konusu programlar KDE mensn amaya gerek kalmakszn altrabilirsiniz. Ekran Seici: KDE, sanki iki ekrannz varm gibi alabilmeniz iin bir olanak sunar. (Sanal ekran saysn istediiniz kadar arttrabilirsiniz.) Ekran seicideki iki kareden istediinizi tklayp o ekrana geebilirsiniz. Grev ubuu (Task Bar): Yukardaki rnek ekranda, almakta olan The Gimp ve Konsole yazlmlarna ilikin program ikonlar grnyor.

77

Kim Korkar LINUXtan?

Bu uygulama programlarna ilikin pencereleri gremiyor olsanz bile grev ubuundaki ikonlarn tklayarak o pencereleri ne karabilirsiniz. KDE Mens: Masa stne veya sembolik menye yerletirilmemi uygulamalar balatmak iin KDE Men ikonunu tklayarak eitli kategorilerdeki programlar arasndan seim yapabilirsiniz Hzl Men: Linux iin gelitirilmi birok program geri planda srekli alr durumda bekleyecek ekilde gelitirilmitir. rnein, ses k iddetini ayarlamanz salayacak yazlm, gnlk i planlarnz izleyebileceiniz KOrganizer yazlm srekli arka planda alr ve hazr durumda olabilir. Bu tip yazlmlar altklar srece Hzl men alannda birer ikonla temsil edilirler. n plana karmak istediiniz yazlm iin ilgili ikonu tklamanz yeterlidir. Bu mennn sembolik menden fark zaten almakta olan bir yazlm n plana karmasdr; oysa sembolik menden bir ikon tkladnzda, ilgili program diskten yklenerek balatlr. Sembolik men ile bir yazlmn birden fazla kopyasn balatabilirsiniz; oysa hzl menden bir programn almakta olan kopyasn n plana getirirsiniz. Belki de en ok kullanacanz KDE butonu Men Butonudur. Bu butonu tkladnz anda karnzda bir men belirecektir. Bu menden yapamayacanz i yok gibidir. Gerek uygulama programlarn balatmak, gerekse sistemin her trl davrann bu mendeki yazlmlar kullanarak denetlemek olasdr. Kolay kullanm iin mendeki yazlmlar konularna gre gruplanmtr. rnein ofis yazlmlar (OpenOffice gibi), a ynetimine

78

LINUXla lk Tanma: KDE Masast Yneticisi

ilikin yazlmlarn hepsi bu menden balatlabilir. KDE mensndeki gruplarn varsa, alt menleri fare imlecini men maddesi zerine getirdiinizde alr.

Her KDE penceresinin sa ve sol st kelerinde pencere denetim butonlar vardr.


KDE Pencere Denetim Butonlar

Uygulamay ikonlatrr. (Minimize eder.) Tm ekran uygulamaya verir. (Maksimize eder.) Bu butonu sa fare dmesiyle tklarsanz pencere ekran yanlamasna dolduracak ekilde yatay olarak geniletilir. Orta dmeyle (varsa) tklarsanz pencere ekran yukardan aa dolduracak ekilde dey olarak bytlr. Uygulama penceresini eski boyutlarna getirir. Uygulamay kapatr.
Bu butonlarn grnleri, pencere iindeki yerleri ve hatta bazen ilevleri kullandnz masa st temasna gre deiebilir, fakat temelde hepsi burada anlatlan rnee ok benzemektedir.

79

Kim Korkar LINUXtan?

Bazen bir uygulamanzn alt sanal ekran deitirmek isteyebilirsiniz. Bu durumda sz konusu uygulamann balk ubuuna (title bar) fare ile sa tklayp nce To Desktop seip ardndan gelen listeden sanal ekrannz sein.

Gene bazen bir uygulama pencerenizin her koulda stte kalmasn ve baka uygulamalara ait pencereler tarafndan rtlmemesini isteyebilirsiniz. Byle bir durumda sz konusu uygulamann balk ubuuna (title bar) fare ile sa tklayp Always on Top seiniz. KDEnin baz ok nemli klavye ksa yollarndan sz etmeden geemeyeceiz.
KDE Masast Klavye Komutlar

Alt-Tab

almakta olan ilere ait pencereler arasnda dolamakta kullanlr. Alt tuunu basl tutarken Taba her basnzda almakta olan ilerin pencere listesinin ilerlediini greceksiniz. aretli i, ilgilendiiniz uygulama olarak karnza geldiinde Alt tuunu brakrsanz o pencere en ste gelecektir. Ben bu ii fareyle de yapyorum zaten! diyor olabilirsiniz. Doru tabi! Ama bir gn faresiz almak zorunda da kalabilirsiniz. Bu zellikler aklnzn bir kenarnda bulunsun.

80

LINUXla lk Tanma: KDE Masast Yneticisi

Ctrl-Tab

Sanal ekranlar arasnda dolamak iin kullanlr. Ctrl tuunu basl tutarken her Tab basnzda sanal ekran gstergesi bir ilerler. lgilendiiniz sanal ekrana gelince Ctrl tuunu brakrsanz monitrnzde o sanal ekran grntlenecektir.

Ctrl-F1 Ctrl-F2 ...

Fonksiyon tuunun numarasna karlk gelen sanal pencerenin seilmesini salar. rnein nc sanal pencereye gemek istediinizde Sanal Pencere Seicisinde nc sanal pencerenin zerine fare ile tklayabileceiniz gibi Ctrl-F3 tularn da kullanabilirsiniz. Mende olmayan uygulamalar balatmak zere komut vermek iin kullanlr.

Alt-F2

Alt-Ctrl-Esc

Pencere belirterek uygulama ldrmek iin kullanlr. AltCtrl-Esc tularna birlikte bastnza fare imleciniz bir kuru kafaya dnr. Fare imleci kuru kafa iken zerine tklayacanz pencerenin sahibi olan program ldrlr. zellikle kontroldan kan programlardan kurtulmak iin ok kullanl bir aratr. Ayn ii xkill programn kullanarak da yapabilirsiniz. Aktif penceredeki uygulamay sonlandrr.

Alt-F4

81

Kim Korkar LINUXtan?

Eh! Artk pencerelere nasl hkmedeceinizi rendiinize gre yeni Mandriva LINUXunuz altnda ne gibi uygulama yazlmlarnz varm bir gz atalm isterseniz...

Mandriva LINUX Uygulamalar


Kitabn yazmas belki de en zor ksmna geldik. Ne de olsa CD dolusu yazlm ykledik! imdi hangi birinden balamal? Gerek Mandriva gerekse KDEye zg uygulama yazlmlarn ve eitli sistem ayarlarn tm ayrntlaryla anlatmamz olanaksz. Bunlarn neredeyse herbiri ayr bir kitap konusu olabilecek kadar ayrntl ve zengin konulardr. Bu kitapta yalnzca oynamak isteyebileceiniz ya da sistem ynetimi asndan oynamanz gereken yazlmlar hakknda, temel ileri yapmaya yetecek kadar aklamalar bulacaksnz. Daha fazla ayrnt iin Mandrivann yklenmesi srasnda diskinize yerletirilmi olan evrim ii dkumantasyona ya da nternetteki kaynaklara bavurabilirsiniz. Bu yeni ortamnzda mutlu olmanz bizim iin ok nemli olduundan biraz KDE konfigrasyonunu anlatalm.

KDE Ayarlar
Grsel Ayarlar (Look and Feel) Masa st ynetici olarak KDE de semi olsanz, GNOME da semi olsanz ilevsel adan pek fazla bir fark olmayacaktr. Bu nedenle masa st ayarlarndan sz ederken yalnzca KDEden rnekler vereceiz. Masa st ayarlar iin birok deiik yol olmasna ramen yeni balayanlar iin en kolay KDE mensnden yapacanz Configuration KDE LookNFeel seimleridir.

82

LINUXla lk Tanma: KDE Masast Yneticisi

Bu menden yapabileceiniz seimleri ve bunlarn masa stnzn grsel zelliklerinde neden olaca deiikliklerin hepsini anlatmamza olanak yok. stediiniz gibi kurcalayp zevkinize en uygun ekli bulunca seimlerinizi kaydedebilirsiniz. Yeri gelmiken; KDE masa st dzenlemelerinde bir tema kavram vardr. KDE iin gerek datm iinde gelen, gelekse internetten indirebileceiniz ok ho renk-desen-dzen temalar vardr. Bunlar kde.themes.org ve www.kde-looks.org adreslerinde bulabilirsiniz. Men Ayarlar KDE mensnde deiiklik yapmak istediinizde; rnein menye yeni bir program eklemek istediinizde, kullanmanz gereken program MenuDrakedir. MenuDrake programn KDE mensnden balatabilirsiniz: KDE Mens System Configuration Other Menudrake

83

Kim Korkar LINUXtan?

nce eklemek istediiniz men maddesi iin soldaki listeden uygun bir ana balk (directory) sein ya da Add directory ile yeni bir ana balk yaratn. Daha sonra da Title ve Long title kutularna menye yeni eklediiniz programla ilgili aklamalar girin. Sonra ilgili ana bal seip Add Entry sein. Command kutusuna da bu program balatmak iin verilmesi gereken komutu yazn. Son olarak da programnza uygun bir ikon seip Save butonunu tklayn.

84

LINUXla lk Tanma: KDE Masast Yneticisi

leri Dzey KDE Ayarlar Son derece kapsaml olan KDE ayar seenekleri iin menden systemConfiguration-KDE sein. Karnza kategorilere ayrlm birok seenek kacaktr: Her bir kategori isminin yanndaki ok iaretine tklayarak daha ayrntl balklara ulaabilirsiniz. Merak etmeyin, btn bu seeneklere bir yant vermek zorunda deilsiniz. Seeneklerin varsaylan deerleri sisteminizin u andaki ayarlarn yanstr ve bunlarn arasndan sadece deitirmek istediklerinizi kurcalamanz yeterlidir.

KDE Ayarlar mensndeki kategorilere ksaca gz atmak isterseniz:


KDE Ayarlar Seenek Kategorileri

Accessibility

Engelli kullanclara sunulan seeneklerin yansra KDEde kullanlacak dil, klavye yaylm ayarlar gibi ayarlarn bulunduu seimdir. Web tarayc, e-posta istemci program gibi yazlmlarn n tanmlarnn yaplmas iin gereken bileen ayarlarn yapmak iin kullanlr. rnein, bir KDE uygulamas iinde bir URL tkladnzda, hangi web taraycsnn balatlaca; bir e-posta adresi tklandnda hangi e-posta istemcisinin balatlacann ayarlar buradan yaplr.

Components

85

Kim Korkar LINUXtan?

Information

Aslnda buradan yapabileceiniz bir ayar deiiklii yoktur. Adndan da anlalaca gibi sisteminizle ilgili ayrntl bilgi alabileceiniz bir seimdir. Bilgisayardan iyi anlayan bir arkadanz size sisteminizle ilgili tuhaf bir ayrnt sorarsa bir dakika deyip buraya dalabilirsiniz. rnein 600 MHz sandnz merkezi ilem biriminizin aslnda 601.377 MHz frekansnda altn grp mutlu olabilirsiniz. (Bu sizi gerekten mutlu ediyorsa, bilgisayarlara kendinizi biraz fazla kaptrmsnz demektir; dikkatli olmanz neririz...)

LookNFeel

Birok okuyucunun en ok zaman harcayacan tahmin ettiimiz blm burasdr. Masa stnn, pencelerin, menlerin, ksacas alma ortamnzn grnn ve davrann buradan deitirebilirsiniz. Sisteminizi, ilk kurduunuzda karnza gelen standart KDE grnmnden kurtarp, fonda beendiiniz bir fotoraf olan, sevdiiniz renklerle donanm, hatta isterseniz pencerelerin deiik yerlerine farenin belli dmelerinin tklanmasnn tuhaf sonular dourduu bir ortam haline getirebilirsiniz. Bu kategoriyi biraz kurcaladktan sonra greceksiniz ki size belki de gereinden fazla seenek sunulmutur. Internet ve dier a konularyla ilgili, zellikle KDE paketiyle beraber gelen programlar etkileyen eitli ayarlar buradan yapabilirsiniz. Yeni balayanlar iin bu seim altnda oynayacak fazla bir ey olmadn belirtmekte yarar var. Bilgisayarnza bal eitli aygtlarn ayarlar bu balk altndadr. zellikle klavye ve fareyle ilgili seenekleri burada bulabilirsiniz. zellikle dizst bilgisayar kullanan okuyucularn ilgisini ekecek, enerji tasarrufuyla ilgili ayarlar buradadr. Ses kartnz ve sisteminizin yapaca sesli uyarlarla ilgili ayarlar.

Network

Peripherals

PowerControl Sound

86

LINUXla lk Tanma: KDE Masast Yneticisi

System

Sistemin baz temel ayarlarn, rnein tarih ve saat ayarlarn buradan yapabilirsiniz. Ayrca sistem yneticisi olarak ilgilenebileceiniz Login Yneticisi gibi seenekler de buradadr. Bu kategoride deiiklikler yapabilmek iin root kullanc ifresini kullanmanz gerekecektir. Bu balk altnda, nternette dolamayla ilgili, zellikle de KDEnin standart taraycs olan Konqueror programn ilgilendiren ayarlar bulabilirsiniz.

WebBrowsing

Btn bu seenekler arasnda kendinizi kaybolmu hissetmeniz normaldir. LINUXun bunun gibi her konuda ok, ama ok seim sunmasna alsanz iyi olur.
Bu bilgisayar dnyasnda aslnda ok tuhaf terimler var. Desktop wallpaper (masa st duvar kad) teriminin ne kadar sama olduunu hi dndnz m?

KDE ayar seenekleri ile yapabileceiniz hereyi anlatmaya kalkmak mantksz olur. Gerisini size brakyoruz. Ltfen deiik seeneklerle oynamaya ekinmeyin. Defaults butonunu kullanarak hereyi eski haline dndrebileceinizi unutmayn.
Dikkatli bir kullancysanz, bunca ayar arasnda ekran znrl ve renk zenginliiyle ilgili bir ayar kategorisi olmadn farketmisinizdir. Bunun nedeni, ekrann aslnda KDE masa st yneticisi tarafndan deil X Window tarafndan ynetiliyor olmasdr. Hatrlarsanz daha nceki blmlerde LINUX ve UNIX iletim sistemlerinde grafik ekranlarn denetiminin X tarafndan yapldn, X tarafndan altrlan bir pencere yneticisinin bu grafik ekrann uygulama programlar arasnda paylalmasn denetlediini, pencere yneticisinin altrd bir masa st denetleyicisinin de kullancya alma ortam hazrladn anlatmtk. Aksi belirtilmedike KDE masa st yneticisi kwm pencere yneticisi altnda alr. Aksini nasl belirteceinizi ya da aksini belirtmenin ne gibi bir anlam olduunu merak etmek iin henz ok erken...

87

Kim Korkar LINUXtan?

Kullanc Ynetimi
Eer LINUX bilgisayarnz sizden baka kimse kullanmayacaksa yalnzca iki kullanc tanmlamak yeterlidir: Biri root kullanc dieri ise siz! Her ne kadar sisteminize her zaman root olarak balanmanza teknik bir engel yoksa da bunu hi, ama hi tavsiye etmeyiz. LINUX, root kullancnn ne yaptn iyi bildiini varsayp verilen komutlar pek bir uyarda bulunmadan, aynen yerine getirir. Bu da olduka tehlikelidir. En kk hatanzda sistem iin son derece kritik bir dosya ya da dizini silebilirsiniz. Sistemi yalnzca siz kullanyor olsanz bile (zellikle internete bal bir bilgisayarda) ifrenizi en ge birka ayda bir deitirmenizi neririz. ifrenizi deitirmek iin KDE mensnden KDE Mens system Configuration Other Change Password

seebilirsiniz. Doal olarak nce geerli ifreyi vermeniz sonra da yeni ifreyi iki kez girmeniz istenecektir. Bu ekilde ifresi deitirilecek olan kullanc, sistemde o srada KDEyi altrmakta olan kullancdr. Yeni bir kullanc tantmak gerektiinde KDE Mens system Configuration Other UserAdministration

Seimlerini yaptnzda UserDrake yazlm balatlacak ve kullanc hesaplarnn ynetimi iin seenekler sunulacaktr. Sisteme kullanc eklemek ve karmak doal olarak sistem yneticisinin (yani root kullancnn) grev tanmna giren bir itir, bu nedenle nce sistemin root kullanc ifresini girmeniz istenir.

88

LINUXla lk Tanma: KDE Masast Yneticisi

Daha sonra sistemde kaytl kullanclarn da listelendii ve yeni kullanc tantm yapmak iin gerekli aralarla donatlm bir pencere grntlenir:

LINUXta aslnda her kullanc ismiyle deil uid (User ID) denilen bir kullanc numarasyla tannr. simler yalnzca bir kolaylktr. Bu nedenle yeni hesap al srasnda bu yeni kullancya bir de kullanc numaras verilmelidir. UserDrake program, yeni eklediiniz kullanc iin daha nce kullanlmam bir numaray sradan atayacaktr. Bu nedenle zel bir nedeni olmadka uid kutusuna veri girmeniz sz konusu deildir. Kullancnn Login ad olarak tipik olarak 3-8 karakter uzunluunda ve zel karakterler (rnein Trkeye zg karakterler) iermeyen bir isim semelisiniz. Shell kutusuna ise bu kullanc sisteme balandnda kendisi iin balatlacak kabuk programn belirtmelisiniz. Varsaylan deer olarak gelen /bin/bash deerini deitirmeniz iin hibir neden gremiyoruz. Aslnda bu Command deerini kullanarak kullancnn sisteminize balandnda yapabilecei ileri snrlamak ya da sistemde tanml olmasna ramen sistemi dorudan kullanmasn nlemek olasdr ama bu ayrntlara imdilik girmeyi ok gereksiz buluyoruz. imdi soracaksnz: Sistemde tanml ama sistemi dorudan kullanamayan kullanc da neden gereksin? Gerekebilir... Diyelim kullanclarnza e-posta adresleri vermeniz gerekiyor ama bilgisayarnz dorudan kullanmalarn istemiyorsunuz. O zaman bu

89

Kim Korkar LINUXtan?

tip kullanclar iin kabuk program olarak /bin/false tanmlarsnz. Webmail ya da POP3 zerinden kendilerine gelen e-postalar okuyabilirler ve kendileri de e-posta gnderebilirler ama bilgisayarnzn bana bile otursalar, sisteminizi kullanamazlar. Kullanc tantm yaparken verilmesi gereken bir dier nemli parametre de kullancnn kiisel dizinidir (Home Directory). Bu dizin kullancnn kiisel dosyalarn saklayabilecei, zerinde her trl yazma, okuma ve altrma yetkilerinin bulunduu bir dizindir. Ksacas bu dizinin sahibi, tanttnz kullanc olacaktr. Kullanclarn kiisel dizinleri iin kapasite snrlamas da yaplabilir. rnein bir kullancnn kiisel dizinine yerletirebilecei dosyalarn toplam bykln 100 Mbyte ile snrlamak mmkndr. Ancak bu snrlamay yapabilmeniz iin sisteminizde kota (quota) denetim yazlmnn kurulu olmas gerekir. Kota denetim sisteminin kurulmas ve denetlenmesini Sistem Ynetimi blmnde bulabilirsiniz.

Dosya Yneticisi: Konqueror


KDE dosya yneticisi aslnda bir web taraycs olan Konqueror programdr. Kullanm son derece kolaydr, bu nedenle yazlmn nasl kullanldn anlatmayacaz. gdleriniz ve Windows deneyimleriniz dorultusunda ek-ekitir, kes-yaptr gibi ilemleri deneyin altn greceksiniz. Yalnz unutmayn, KDE dosya yneticisiyle dizinleri ve dosyalar ancak yetkileriniz elverdiince grebilir, dzenleyebilirsiniz.

90

LINUXla lk Tanma: KDE Masast Yneticisi

Genel Sistem Ynetimi Aralar: Mandriva Linux Control Center


Sistemin genel ynetimi ile ilgili ilerin bir ounu Mandriva Linux Control Center yazlm ile yapabilirsiniz. KDE mensnden KDE Mens System Configuration Configure Your Computer

seimlerini yaptnzda sisteminizin root kullanc ifresini girmeniz istenecek, ardndan MCC mens grnecektir.

91

Kim Korkar LINUXtan?

Yeri gelmiken bir kolaylktan bahsetmek istiyoruz: Yukarda gsterdiimiz gibi, birka menden geerek ulalan bir program eer sk sk kullanacaksanz, bu programn ikonunu KDE mensnn sandaki panel butonlar arasna ekleyebilirsiniz. Bunun iin grev ubuunun bo bir noktasn sa tula tklayn. Karnza kan menden Panel Add to Panel Application

seimlerini yapn ve ardndan hangi mendeki hangi program panele almak istiyorsanz o program tklayn. rnein, bir AOL Instant Messenger istemcisi olan GAIM yazlmn panele eklemek iin:

92

LINUXla lk Tanma: KDE Masast Yneticisi

Mandriva Linux Control Center (MCC) Mandriva Linux Denetim Merkezi

Yazlm Ynetimi: Bilgisayara yazlm yklemek, ykl yazlmlar arasnda gerek duyulmayanlar kaldrmak ve en nemlisi iletim sistemi/yazlm gncellemelerini yapmak iin kullanlr. Linux datm CDleri binlerce yazlm ierir. Kurulum srasnda bunlarn birou bilgisayara yklenmez. rnein, kurulum srasnda zellikle semediyseniz, MySQL sunucu ve istemci programlar yklenmeyecektir. Bu yazlmlar sonradan yklemek iin install software packages seimini yapabilirsiniz. Kullanmadnz yazlmlar gereksiz gvenlik riski oluturmamak iin ya da diskte yer kazanmak iin silmenizi neririz. Uninstall software packages bu i iin idealdir. MCC Software Management ilemlerinin en nemlisidir. letim sisteminin ve Mandriva datmndaki yazlmlarn gncellemeleri bu seimle yaplr. Tm iletim sistemlerinde olduu gibi gncelleme Linuxta da ok nemlidir. zellikle gvenlikle ilgili olanlar...

93

Kim Korkar LINUXtan?

MCC, iletim sistemi ve uygulama programlar iin gncelleme yaynlanp yaynlanmadn, yaynlandysa bunlarn hangilerinin sizi ilgilendirdiini ntanml baz sunucularla internet zerinden balant kurarak aratrr. Bu n tanml sunucular deitirmek ihtiyac duyarsanz kullanmanz gereken MCC seimidir. evrim ii sistem ynetimi: VNC (Virtual Network Connection: Sanal A Bilgisayar) tekniini kullanarak baka bir bilgisayarn masastn kendi masastnze tama iini Online Administration ile yapabilirsiniz. Akas bir baka Linux/UNIX bilgisayar ynetmek iin buna hi gerek yok ama, gene de yaptklarnzn kardaki bilgisayarn banda oturan kii tarafndan da grnebilmesi, eitim asndan ok yararl olabilmektedir. Bu ilevin asl nemi uzaktaki bir Windows bilgisayar ynetmek gndeme geldiinde ortaya kmaktadr. Evet, yanl okumadnz! Uzaktaki bir Windows bilgisayar ynetmekten sz ediyoruz. Eer bir Windows bilgisayara Remote Desktop yazlm ykl ve alr durumdaysa, Linux bilgisayarnzdan Windows masastn kendi masastnze getirip uzaktaki Windows bilgisayar kullanabilirsiniz. Donanm: Bilgisayarnzn eitli donanm elemanlarn ynetmenize yardmc olarak ilevler MCCnin Hardware bal altnda toplanmtr.

94

LINUXla lk Tanma: KDE Masast Yneticisi

Yazcdan taraycya klavyeden ekran znrlne kadar deiik ayar ve seimleri burada yapabilirsiniz:

Bilgisayarn a balantlarn dzenleme, ayarlar yapma ve deitirme ilemleri Network & Internet bal altnda toplanmtr. Yeni bir a balants tanmlamak iin kullanlr. Bilgisayarnzn adn (hostname) ve DNS ayarlarn yapabileceiniz veya deitirebileceiniz seenektir. A arabiriminizin ayarlarn (IP adresi, a geidi, alt a maskesi gibi) deitirmenizi salar. A balantlarndaki trafik aklarn izlemenizi salar. Bu ilevle, gelen giden paket saylar, geli ve gidi hzlar gibi parametreleri lebilir ve grafik zerinde izleyebilirsiniz.

95

Kim Korkar LINUXtan?

Bir a arabirimindeki ayarlar iptal etmek ve arabirimi devreden karmak iin kullanlr. Web taramalarnz iin Proxy sunucu (Vekil sunucu) ayar yapmak iin kullanlr. Bu olana ancak nternet Servis Salaycnz proxy servisi veriyorsa kullanmanz neririz. Eer bu bilgisayarn ADSL modemle veya Kablo-Modemle salanan internet balantsn baka bilgisayarlarla paylamak isterseniz gerekli ayarlar burada yapabilirsiniz. Aslnda balant paylama zellii LINUX iletim sisteminin doal bir zelliidir. Ynlendirici (router) olarak alabilen her bilgisayar balant paylam da yapyor demektir. Eh, ynlendirici olarak alabilme zellii LINUXun doasnda olduuna gre... Varsa, bilgisayarnzdaki kablosuz a arabiriminin (Wi-Fi) ayarlar iin kullanlr. Varsa, sk sk eritiiniz bilgisayarlar daha ksa veya baka isimlerle anmanz salayan /etc/hosts dosyasnn dzenlenmesini salar. Balang dzeyinde pek iinize yaramayacaktr. Sistem: letim sisteminizin eitli ilevlerini denetleyebileceiniz balklar ierir.

96

LINUXla lk Tanma: KDE Masast Yneticisi

KDE mensnde dzenlemeler yapmanz salar. Bilgisayarnzn grafik ekrann denetleyecek olan pencere yneticisini semenizi salar. rnein, (eer her ikisini de yklediyseniz) KDE ve GNOME pencereleri arasnda seim yapmanz salar. Sisteminizde kurulu servislerin iinde hangilerinin almakta olduunu grebileceiniz bir seimdir. Bu listede kurulu ama almayan servisler Stopped szcyle belirtilmitir. Stop ve Start butonlarna basarak sz konusu servisin hangi komutla altrlabileceini ya da durdurulabileceini renebilirsiniz. On boot butonu basl servisler sistemin al srasnda otomatik olarak balatlan servislerdir. Biz kendi LINUX bilgisayarlarmzdaki servislerin denetimini buradan yapmyoruz. Bu kitabn daha sonraki Al Denetimi balkl blmde akladmz kavram ve yntemleri kullanyoruz.

97

Kim Korkar LINUXtan?

Size de byle yapmanz neririz. Bylece sistemin denetimi konusunda hem daha fazla ey renmi olursunuz hem de sistemi daha rahat denetlersiniz. Yaztipi (font) konusu LINUXun daha dorusu grafik ortamda kullanlan LINUXun en berbat konusudur. Xorg sisteminin genel amal olma gereklerinden dolay yaz tipi ynetimi son derece karmak bir hale gelmitir. LINUX ve X ile ileri dzey deneyiminiz olmadka bu ayarlarla oynamamanz neririz. Bilgisayarnza yeni bir yaztipi ykleme gerei duyduunuzda yaztipi dosyalarnn ekindeki kurulum notlarn okumanz neririz. Bu yaztipi ayarlar mensndeki Get Windows Fonts butonuna basarak varsa bilgisayarnzda ykl bulunabilecek MSWindows yaztiplerini X altnda kullanlabilir hale getirebilirsiniz. Windowsu satn aldnzda, iindeki yaztiplerini de kullanma hakkn satn alm oldunuz naslsa... Windows yaztiplerini bu menden sisteme ykleyebilmek iin TTF yaztipi dosyalarn /usr/share/fonts altnda bir dizine yerletirmeniz gerekir. Bilgisayarnzn tarih ve saat ayarlarn yapmak iindir. Eer ok hassas bir ayar istiyorsanz ya da bilgisayarnzn saat donanm yeteri kadar hassas almyorsa, Network Time Protocol (NTP) kullanarak bilgisayarnzn saat ayarnn bir saat sunucusu ile yaplmasn salayabilirsiniz.

98

LINUXla lk Tanma: KDE Masast Yneticisi

LINUXun seyir defterlerini izlemeniz iin bir aratr. Tm UNIXler gibi LINUX da, sistemde olup biten neredeyse her eyin kaydn tutar. Bilgisayarnzn sunucu hizmetleriyle ilgili log kaytlar genellikle /var/log dizini altnda, ilgili olduklar programn adndan oluturulmu dosyalarda ve dizinlere saklanr. rnein, e-posta sunucusu olarak alan bilgisayarlarda, e-posta alverileriyle ilgili log kaytlar /var/log/mail isimli dizinde yer alan dosyalarda biriktirilir. Bu dosyaya bilgisayarnza gelen ve bilgisayarnzdan gnderilen her e-posta mesaj iin bir kayt dlr. Zaman zaman Mandriva Linux Denetim Merkezinin bu seeneini kullanarak, ya da baka yntemlerle sisteminizin log dosyalarn incelemelisiniz. nceleri bu log kaytlar ok anlamsz, daha dorusu ince gibi gelecektir. Zamanla bu log satrlarn yorumlamay ve aralarnda bir nlem almanz gerektiren bir olay kayd olup olmadn grmeyi reneceksiniz. Bu log dosyalar doal olarak ksa srede hzla byyp diskinizi, daha dorusu /var dizinin baland (mount edildii) disk blmn doldurma eilimindedir. Srekli byyen bu log dosyalarna dosya dnm (log rotation) ilemi uygulanr. Genellikle sabaha kar otomatik olarak altrlan logrotate isimli bir yazlm, log dosyalarna bu dnm ilemini uygular. logrotate altnda /etc/logrotate.conf dosyasnda belirtilmi esaslar

99

Kim Korkar LINUXtan?

dorultusunda birikmi log dosyalarnn isimlerini deitirip en eskisini atmaya balar. rnein dnm yapma zaman geldiinde e-posta loglarnn sakland /var/log/mail dizinindeki info, info.1, info.2, info.3, info.4, info.5 dosyalar varsa info.5 dosyas silinir; info.4n ad info.5 olarak deitirilir. Bu ekilde tm info.* dosyalarnn isimleri kaydrlr ve info isimli dosya info.1 yaplr. O andan itibaren de e-posta servisinin yeni log kaytlar info isimli dosyada biriktirilmeye devam eder. Bylece log dosyalarnn diskin tamamn kaplayacak ekilde bymeleri nlenmi olur. Bir sistem konsol penceresi amak iin kullanlr. Bilgisayarnz kullanma yetkisi olan kullanclarn hesaplarn ynetmek iin kullanlr. Sisteminizin yedeklenmesi iin kullanlacak ilevdir. sterseniz sistemin tamamn, isterseniz sadece kullanc dizinlerini yedekleyebilirsiniz. Balant Noktalar: Bilgisayarnzn disk ya da disklerindeki blmleri ynetmek iin kullanlan ilevdir. NFS (Network File Services) ve Samba (Linux kaynaklarnn Windows iletim sistemi kullanan bilgisayarlar tarafndan kullanlmasn salayan servis) servislerini iyice renmeden bu seenekleri kullanmamanz neririz.

100

LINUXla lk Tanma: KDE Masast Yneticisi

Disk blmlemesini deitirmek, yeni disk taktnzda bu diskin blmlemesini yapmak iin bu ilevden yararlanabilirsiniz. (Bkz. Blm 5 - Dosya Sistemleri). DVD veya CD-ROM srcnzn hangi dizine balanmasn istediinizi belirttiiniz ayar seeneidir. Normal koullarda bu ayarlar deitirmeniz iin hi bir neden olmayacaktr. Varsaylan ayarlarla tm kullanclarn srcde takl olan CDyi kullanmaya yetkisi olacaktr. Srcye bir CD takldnda ve bu CDyi kullanan bir yazlm balatldnda src /mnt/cdrom dizinine otomatik olarak balanr. Disket srcnzn hangi dizine balanmasn istediinizi belirttiiniz ayar seeneidir. Normal koullarda bu ayarlar deitirmeniz iin hi bir neden olmayacaktr. Varsaylan ayarlarla tm kullancnn srcde takl olan disketi kullanmaya yetkisi olacaktr. Srcye bir disket takldnda ve bu disketi kullanan bir yazlm balatldnda src /mnt/floppy dizinine otomatik olarak balanr. UNIX ve trevi iletim sistemlerinde bilgisayarlar aras dizin paylam NFS (Network File System) standardnda yaplr. NFS, SUN Microsystems firmasnn UNIX dnyasna bir armaandr ve uzun yllardr baaryla kullanlmaktadr. NFS kullanarak evrenizdeki UNIX bilgisayarlarda yer alan paylama alm dizinlere erimek iin gerekli ayarlar burada yapabilirsiniz.

101

Kim Korkar LINUXtan?

Kendi bilgisayarnzdaki disklerin baka UNIX/Linux makineler tarafndan paylalmasn istediinizde siz de bilgisayarnza NFS sunucu yazlm yklemelisiniz. Yeni balayanlar iin ok gerekli olmayan bir zellik olduu iin ksa kesiyoruz. Linux bilgisayarnzdaki disk/dizin ve yazclar a zerinden MS-Windows bilgisayarlarla paylamanz mmkndr. Bunun iin Linux bilgisayarnzda samba sunucu yazlm kurulu ve alyor olmaldr. Windows iletim sistemi, dnyada kendinden baka iletim sistemi olabilecei dnlmediinden olsa gerek, kaynak paylamn sadece kendi protokolleri ile yapabilmektedir. Samba yazlm, Linux iletim sisteminde, Microsoftun paylam iin gelitirdii SMB protokolnn kullanlabilmesini, bylece iki ynl olarak kaynaklarn paylalabilmesini salar. Ancak, samba yazlm bal bana bir kitap yazlmasn gerektirecek kadar kapsaml ve yetenekli olduu iin burada ayrntya giremiyoruz. Kald ki yeni balayanlar iin ok da gerekli deil diye dnyoruz. WebDAV olduka yeni bir dosya sistemidir. Amac, web sitelerine ilikin dosya ve dizinlerin http protokolnn yeni zelliklerini kullanarak uzaktan dzenlemektir. WebDAV hakknda daha ayrntl bilgi iin www.webdav.org adresine gz atabilirsiniz.

102

LINUXla lk Tanma: KDE Masast Yneticisi

NFS ve Samba servisleriyle dizinlerin paylama almas ve bunlarla ilgili gvenlik ayarlar sistem yneticisinin sorumluluundadr ve tm ayarlar bu iki sunucu yazlmn konfigrasyon dosyalar zerinde yaplan deiikliklerle yaplr. Baz durumlarda kullanclarn kendi kiisel dizinlerini paylama ap kapatmaya yetkileri olmasn isteyebilirsiniz. Gvenlik asndan ok tehlikeli olmasna ramen kullanclarnza bu yetkiyi vermek istiyorsanz Partition Sharing seimi ile tercihlerinizi belirtebilirsiniz. Bu yetkiyi tm kullanclara verebileceiniz gibi yalnzca seilmi kullanclara da verebilirsiniz. Bilgisayarnz dardan gelebilecek saldrlara kar koruyan iptables ate duvar (firewall) yazlmn temel ayarlarn burada yapabilirsiniz. Bu ayarlar deitirmediiniz srece bilgisayarnz dardan gelebilecek her trl protokol paketine kar aktr. nanmayacaksnz ama bunun pek bir zararn grmezsiniz. Solucan (worm) ve virs bulama riski Linux kurmanzla birlikte artk ok byk lde geride kald. Ancak Linux kullanyor olmanz kendinizi savunmamanz iin bir neden olamaz. Zaman iinde iptables ate duvar programn renmek ve uygun ayarlar yapmak durumundasnz. Eer darya hibir servis vermiyorsanz bu ilevi seip Everything (No firewall) seimini kaldrmanz, bylece dardan gelebilecek beklenmedik tm paketleri bloke etmenizi neririz.

103

Kim Korkar LINUXtan?

Bilgisayarnz aldnda iletim sisteminizin yklenmesi sreci ile ilgili ayarlar yapabileceiniz ilevler bu balk altnda toplanmtr. Balang dzeyindeki okuyucularn bu ayarlar deitirmemesini neririz.

Ofis Uygulamalar
OpenOffice.Org Yakn zamana kadar insanlar Windows iletim sistemini terkedip Linuxa gememek iin ms-office uygulamalarn mazeret olarak gsteriyorlard. Efendim, endstri standard! diyorlard. OpenOfice.org ile MS-Office dosyalarn aabileceiniz gibi dosyalarnz bu format ta da kaydedebilirsiniz. Buyrun, OpenOffice.org...

OpenOffice Writer: Kelime lemci.

KDE Mens

Office

OpenOffice.org 2.0 Writer

104

LINUXla lk Tanma: KDE Masast Yneticisi

OpenOffice Writer: Kelime lemci.

KDE Mens

Office

OpenOffice.org 2.0 Calc

105

Kim Korkar LINUXtan?

OpenOffice Draw: Grafik Arac.

KDE Mens

Office

OpenOffice.org 2.0 Draw

106

LINUXla lk Tanma: KDE Masast Yneticisi

OpenOffice Impress: Sunum Hazrlama.

KDE Mens

Office

OpenOffice.org 2.0 Impress

107

Kim Korkar LINUXtan?

Grafik Uygulamalar
The Gimp Adobe firmasnn Photoshop isimli grafik editrne ok benzer ve onun kadar yetenekli, baarl bir yazlmdr. PhotoShop kullanmay bilen birisinin The Gimp paketini renmek iin en fazla 10-15 dakikaya gereksinimi olacaktr. Eer PhotoShop renmeye frsatnz olmadysa zlmeyin, artk gerek de kalmad! zgr yazlm kavram size herkesin 600 dolar deyerek satn ald programn yapt hereyi yapabilen bir yazlm cretsiz olarak sunuyor... Haydi i bana... KDE Mens Multi Media Graphics The Gimp

108

LINUXla lk Tanma: KDE Masast Yneticisi

Dierleri Mandriva ile birlikte sisteminize yklenmi olan 20den fazla grafik ileme yazlm vardr. Kimi yalnzca ikon izmek iin, kimi fotoraf albm oluturmak iin kimi de ekrandaki grntleri kaydetmek iindir. rnein bu kitaptaki ekran grntleri KDE Mens Multi Media Graphics KSnapshot

diye balatlabilen Screen Capture programyla kaydedilmitir.

Kiisel Uygulamalar
Ximian-Evolution Adres defteriniz, ajandanz ve isterseniz de e-posta yazlmnz. Outlook alkanl olup da bu yzden MS-Windowsdan vazgeemeyenler iin kusursuz bir uygulama yazlmdr. sterseniz bu kez Evolution programn KDE mensnden deil, bir baka yntemle balatalm; eit olsun: Klavyeden Alt-F2 tularna basn (KDE Mens Run Command iin ksa yol) karnza gelen kutuya evolution yazp gnderin.

Evolution yazlmn ilk kullannzda kiisel ayarlar iin sorulacak birka sorudan sonra e-posta, adres defteri, ajanda gibi uygulamalara eriebileceiniz ekran karnzda belirecektir.

109

Kim Korkar LINUXtan?

110

LINUXla lk Tanma: KDE Masast Yneticisi

Gnome-Card Yalnzca adres defterine gereksinim duyanlar iin.

111

Kim Korkar LINUXtan?

Internetle lgili Uygulamalar


Kmail Yetenekli bir e-posta istemcisidir. Hem POP3 hem IMAP destei vardr (IMAPde neyin nesi diyorsanz bo verin, o kadar nemli deil. En azndan sistem yneticisi olma yolunda ilerlemeye balayncaya kadar).

112

LINUXla lk Tanma: KDE Masast Yneticisi

Konqueror Netscape ve Internet Explorer alternatifi bir web taraycsdr. En nemli zellii ok hzl olmasdr. Javascript ve Java destei de bulunan bu taraycnn olsa olsa tek olumsuz taraf ille de MS-IE gerektiren web sayfalarnda baarl olmamasdr.

113

Kim Korkar LINUXtan?

FTP stemcisi (gFTP) Son derece kolay kullanlan, dosya yneticisi grnmnde bir FTP istemcisidir. FTP sunuculardan dosya ekmek ve bu sunuculara dosya gndermek iin keyifle kullanacanza inanyoruz. Dosya transferi yapmak istediiniz FTP sunucusunun adn ya da IP adresini Host kutusuna yazdktan sonra Port olarak 21 sein, kullanc kimliinizi ve ifrenizi girip en soldaki ikonu tklayp balann. Gerisi dosyalar seip transfer ynne ilikin ok tuuna basmaktan ibarettir... KDE Mens Internet File Transfer gFTP

114

LINUXla lk Tanma: KDE Masast Yneticisi

Web Sayfas Hazrlama Aralar KDE Mens Internet Web Editors Bluefish

altnda birok web sitesi hazrlama arac bulacaksnz. Bunlardan en kullanl olanlar Bluefish ve Screem programlardr. Mozillann web editrn zellikle WYSIWYG (What you see is what you get: Ne gryorsan o) web aralarndan holananlara neririz. Screem, web iine biraz profesyonelce yaklaanlar iindir.

115

Kim Korkar LINUXtan?

Bir de nvu web tasarm arac var: WYSIWYG (What you see is what you get: Ne gryorsanz aynen yle)bir web tasarm aracdr. Linuxta FrontPage yok! diyenlere yanttr.

oklu Ortam (Multimedya) Uygulamalar


XMMS Mkemmel bir mp3 alma yazlmdr. Ses kartnz varsa mutlaka kurmanz gereken yazlmlardan biridir.

Elbette yegne MP3 alarnz XMMS deildir. Totem, nine, Amarak, Juk gibi ok sayda seeneiniz var.

116

LINUXla lk Tanma: KDE Masast Yneticisi

CD Player Ad stnde... Bilgisayarnzda Audio CD dinlemek isterseniz kullanabileceiniz son derece baarl bir yazlmdr. Ses ayarlar iin ise Sound Mixer yazlmn balatmanz neririz.

Ve Yzlerce, Binlerce Uygulama Yazlm... Mandrake ile birlikte bu kitapta anlatmakla bitmeyecek kadar ok uygulama program yklenmi durumda. Artk bunlar kefetmek size dyor.

Kopete Annda Mesajlama Yazlm


Linux altnda hayatn ok daha kolay olduunu ispatlayan, belki de en nemli yazlmlardan biri Kopetedir. MSN, AIM, Yahoo Messenger, ICQ gibi nemli mesajlama servislerinin hepsine birden tek bir yazlmla balanmanz salar:

117

Kim Korkar LINUXtan?

K3B
CD/DVD yazmak iin k3b var:

118

LINUXla lk Tanma: KDE Masast Yneticisi

Gambas
Visual Basic merakls programclar iin Gambas var:

119

Kim Korkar LINUXtan?

Eclipse
Java programclar iin onlarca Java gelitirme ortam var; en ok beenilenlerinden birisi de Eclipse:

120

LINUXla lk Tanma: KDE Masast Yneticisi

Digikam
Saysal fotoraf makinenizle ektiiniz resimleri dzenlemek; krmz kan gzlerin rengini dzeltmek iin digikam var:

Wine
Linux iletim sistemi altnda MS Windows yazlmlarn altrmanz salar. rnein Delphi ile program yazmak zorundaysanz; ya da elektronik devrelerinizi Xilinx ile tasarlamak zorundaysanz; bir baka deyile, iiniz gerei bir Windows yazlm kullanmanz gerekiyorsa, wine iinize ok yarayacaktr:

121

Kim Korkar LINUXtan?

122

LINUXla lk Tanma: KDE Masast Yneticisi

Oyun merakls msnz? Bilgisayarnz ounlukla bir oyun makinesi olarak m kullanyorsunuz? O zaman Linux size gre deil! Her ne kadar ok sayda Linux oyunu varsa da ve birok Windows oyunu wine altna alyorsa da, Linux sizi mutlu etmeyecektir. Oyun merakllarna nerimiz, iletim sistemi ve antivirs vergilerini muntazam deyip, virs ve solucanlarla dolu bir dnyada yaamaya devam etmeleri ve gnde 2-3 kez gncelleme yapmalar, haftada bir kez bilgisayarlarna iletim sistemini yeniden kurmaya devam etmelidir. Ak kaynak kodlu Linux uygulamalarnn tamamn ya da ounu bu kitapta listelememiz olas deil. En iyisi sizin arada srada http://www.linux.org/apps adresini ziyaret ederek nemli uygulamalarn izlemenizdir:

Bundan Sonras LINUXun grafik aralarn kullanarak ilerinizin neredeyse hemen hemen hepsini yapabilirsiniz; zellikle kiisel almalarnza ynelik kelime ilem, elektronik tablolama gibi iler iin gelitirilmi uygulama yazlmlarnn neredeyse tamam X altnda alacak ekilde yazlmtr.

123

Kim Korkar LINUXtan?

Baz temel LINUX ynetim ilemleri iinse, grafik uygulamalarla uramaya hi gerek yoktur. Ustalar birok ii dorudan LINUX komutlaryla yapmay tercih ederler. Bu tr alma hem daha fazla esneklik salar hem de yaplan iin etkilerinin hemen gzlenmesini salar. Bu nedenle konsol pencereleri LINUX ortamnn vazgeilemez unsurlarndandr. Eh, konsol deyince LINUXu dorudan kullanabilmek iin LINUX, daha dorusu UNIX iletim sisteminin komutlarn renmek gerekecektir. Bundan sonraki blmlerde KDE ve benzeri masa st yneticilerini kenara brakp konsol pencerelerinden verilebilecek LINUX komutlarna younlaacaz. Aslnda, LINUX renmeye imdi balyorsunuz.

Konsolda LINUX Kullanm


konsol Kavram
LINUX kullanrken telnet ve konsol szcklerini ok sk duyacaksnz. Bu iki benzer kavram batan iyi anlarsanz ileride rahat edersiniz. Bildiiniz gibi LINUX ok kullancl bir iletim sistemidir. ok kullancl olmas ayn zamanda ok i dzenini de desteklemesi anlamna gelmektedir. Bir baka deyile LINUX iletim sistemi altnda alan bir bilgisayar bir anda birden fazla kullanc kullanabilir ve her bir kullanc da birden fazla ii ayn anda yapabilir. Tek merkezi ilem birimine (CPU) sahip bilgisayarlarda bu ayn anda sz azck anlamn deitirse de her merkezi ilem biriminin her kullancya ve ie ksa da olsa biraz zaman ayrarak srayla hizmet vermesi sayesinde sistem ayn anda birden fazla ii yapyormu hissini uyandrr. zellikle sistem ynetimine ynelik birok ii yaparken dorudan LINUX iletim sistemine konut vermeyi tercih edeceksiniz. Bunun iin de konsol ilevi gren bir uygulama penceresine gereksinim duyacaksnz. Konsol, eskiden byk bilgisayarlar denetlemek iin kullanlan, grafik zellikleri olmayan, dorudan sisteme bal, genellikle de sistemin zerinde bulunan, bir ekran ve bir klavyeden oluan bir cihazd. Artk terminal donanmlar pek kalmad ama konsol kavram aynen kullanlmaya devam ediyor. Bilgisayarnzda bir konsol penceresi amak iin KDE ekrannn sol alt tarafndaki ikonunu bir kez tklaynz. Karnza gelecek ekran, LINUX iletim sistemiyle dorudan konuabileceiniz terminal ekran olacaktr:

124

LINUXla lk Tanma: KDE Masast Yneticisi

stediiniz kadar konsol penceresi aabilirsiniz. Herbiri tamamen bamsz terminaller gibi alacaktr. stelik herbirinin grsel zellikleri de farkl olabilir. telnet ve ssh
Gvenliin bilgisayar dnyasnda nemli bir sorun olmad zamanlarda bir UNIX bilgisayara uzaktan erimek iin kullanlan en nemli ve yaygn ara, TCP/IP protokolleri arasnda da nemli bir yeri olan telnet uygulamasyd. telnet, temel olarak, bir bilgisayarn ynetim konsolunu uzaa tamak iini hallederdi (hala da halleder). A zerinden eriebildiiniz herhangi bir UNIX bilgisayara bir telnet istemci programyla balandnzda kullanc kodu ve ifresi sorulur; doru yantlar verilirse kullancnn karsna, sisteme konsol komutlar verebilecei bir terminal alrd. telnet yazlmlar, protokol standartlar gerei ak iletiimde bulunur; yani iletiim hattn dinleyenler, bir telnet seansnda karlkl gelip giden tm verileri grebilir. Bu zayfl ortadan kaldrmak iin ssh (Secure Shell) sunucu ve istemci yazlmlar gelitirildi. ssh ile iletiime balarken istemci ve sunucu arasnda nce bir kripto anahtar takm oluturulur (ak anahtarla ifreleme teknii ile - Public Key Encryption). Bu admdan sonra gelip giden tm veri paketleri artk ifrelidir; hatt dinleyen varsa bir ey anlamas mmkn olmayacaktr. Gvenlik kayglaryla telnet artk neredeyse tamamen terk edildi ve yerini ssh ald. Ancak, telnet ya da ssh istemcisi ile bir kez balant salandktan sonra terminal/konsol penceresinin grn ve ilevleri tpa tp ayndr.

125

Kim Korkar LINUXtan?

LINUX altnda alan bir bilgisayara sk sk uzaktan erimek isteyeceksiniz. Uzaktan erimekten kastettiimiz, yerel a ya da internet zerinden bilgisayarnza balanmaktr. rnein, bir nedenle bir ii ya da servisi durdurup yeniden balatmanz gerekebilir; sisteminizi kapatp amanz gerekebilir. Bu gibi durumlarda bir ssh istemci yazlmyla sisteminizin ssh sunucusu servisine balanp sanki konsoldaym gibi alabilirsiniz. Bir baka deyile sisteminizin ssh servisi, uzaktaki bilgisayarda alan ssh sunucu yazlmnn kendi penceresi iinde sizin bilgisayarnza ait bir terminal altrlmasn salayacaktr. u anda size ok anlaml gelmeyebilir ama bu ssh servisi olaanst deerli bir servistir. Hi yerinizden kalkmadan yzlerce LINUX/UNIX bilgisayar denetleyebilir, ynetebilir ve kullanabilirsiniz. Oysa NT ve trevi iletim sistemi ile alan bilgisayarlarda sistem ynetimi ile ilgili ilerde ounlukla bilgisayarn bana gitmek gerekmektedir. KDE masa st yneticisinin standart terminal uygulama yazlm olan kterm yazlmn balattnzda, zaten sistemi kullanmakta olan bir kullanc olduunuz iin size kullanc kodu ve ifre sorulmaz. KDEyi balatm olan kullancnn kimliiyle alan bir terminal penceresi alr. Bu penceredeki [cayfer@notebook cayfer]$ satr, LINUXin sizden komut almaya hazr olduunu belirten hazr iaretidir. (prompt)

126

LINUXla lk Tanma: KDE Masast Yneticisi

Bu hazr iaretinde, LINUXun sizden komut almaya hazr olduundan baka ok nemli bir bilgi daha vardr. Bu bilgi, $ karakteridir. imdi sk durun, hazr iaretinizde $ gryorsanz kullanmakta olduunuz kabuk program (shell) Bourne Shell veya onun bir trevi olan Bourne Again Shelldir. (bash) (Sabrl olmanz gerektii konusunda uyarmtk...)
Kabuk (Shell) kavram, UNIX kullanclarnn iyi anlamas gereken bir kavramdr. [cayfer@notebook tmp]$ benzeri bir hazr iaretinin karsna yazaca-

nz komutu irdeleyen, yaplmasn istediiniz ie ait program bellee ykleyen, gerekli parametreleri bu programa aktaran programlara kabuk program denir.

Birok iletim sisteminden (Windows gibi) farkl olarak, UNIXte, kullancnn tercihine bal olarak kullanabilecei birden fazla komut yorumlaycs (kabuk = shell) vardr. Bu kabuklara rnek olarak.

sh

csh ksh

Bourne Shell C-Shell Korn Shell

bash Bourne Again Shell tcsh Gelitirilmi csh


gsterilebilir. LINUX dnyasnn en ok beenilen ve aksi belirtilmedike kullanclarn her terminal balantsnda varsaylan (default) kabuk olarak balatlan bash kabuk programdr.

Yeni kullanclar iin imdilik bu kadar bilgi yeter deyip devam edelim. Eer kullanmakta olduunuz kabuun (sistem yneticisinin sizin iin uygun grd kabuk) hangisi olduunu renmek istiyorsanz, hazr iaretinin karsna echo $SHELL komutunu yaznz. Greceiniz, /bin/bash benzeri bir satr, kabuk programnz olarak almakta olan program gsterecektir. /bin/bash, kabuk program olarak /bin dizini altndaki bash dosyasndaki programn almakta olduunu belirtmektedir. [cayfer@notebook cayfer]$ grnmndeki hazr iaretindeki dier yararl bilgiler ise unlardr:

127

Kim Korkar LINUXtan?

Kullanc kodunuzun cayfer olduu,

alma dizininizin son blmnn cayfer olduu; yani alma dizininizin /home/cayfer benzeri bir yapda olduudur. (Bu alma dizini meselesi anlalmaz geldiyse hi zlmeyin, birka blm sonra bu konuya ayrntl olarak deineceiz. imdilik olduu gibi kabul edip devam edebilirsiniz.) Hazr iaretinde yer alan bu bilgiler ilk bakta size yararsz ve anlamsz gelmi olabilir. Ancak her bir terminal penceresinde farkl bilgisayarlara farkl kullanc kodlaryla bal bulunabileceinizi dnrseniz bu bilgilerin ne denli deerli olduunu kabul edersiniz. Standart LINUX sistemlerinde kullanlabilecek kabuk programlar ve bu programlarn dosya isimleri unlardr:
Kabuk Programnn Dosya Ad /bin/bash /bin/csh /bin/sh /bin/ksh Kabuk Programnn Ad

Bu terminal penceresinin notebook isimli bilgisayara ait olduu,

Bourne Again Shell C-Shell Bourne Shell Korn Shell T C-Shell

/bin/tcsh

Kullandnz kabuk program hangisi olursa olsun, temel UNIX kurallar deimeksizin geerli olacaktr. Yeni balayanlarn, eer mmknse, bash kabuk programn kullanmalarn neririz. Bu kitapta greceiniz rneklerin byk ounluu bash iin verilecektir. Hangisi olursa olsun, UNIX kabuk programlar, olduka gelimi yeteneklerle donatlmlardr, tabii bir o kadar da karmak! Kabuk programlaryla uygulama programlar bile yazlabilir. Gelimi programlama dillerinde yer alan while, if, case, call gibi programlama aralarnn hepsi u veya bu ekilde kabuk programlarnda da bulunmaktadr. rnein bash

128

LINUXla lk Tanma: KDE Masast Yneticisi

Programlama, tek bana 400-500 sayfalk bir kitabn konusu olacak kadar geni bir konudur.

logout: Sistemden k
LINUX iletim sistemi ile yapmakta olduunuz ileri tamamladnzda sistemden logout ederek LINUXla kiisel balantnz kesmenizi neririz. Aslnda bu gereklilik yalnzca bir gvenlik nlemidir. Amac, bilgisayarnzn bana geebilecek birisinin ak terminal ekranlarndan sizin kimliinizi kullanarak bir eyler yapmasn nlemektir. Dikkatinizi ekmek istediimiz nemli bir konu, logout ilemiyle sistemin kapatlmas ilemlerinin birbirlerinden farkl ilemler olmasdr. Tm kullanclar logout etmi olan bir LINUX bilgisayar, arka planda yapmas iin verilmi grevlerini yerine getirmeye devam edecektir. rnein web, e-posta alp verme, veritaban sunum servisi ve ftp servisleri gibi servisler, hibir kullanc sisteme bal olmasa bile kesintisiz devam edecektir. Sistemin banda grafik ekranla alyorsanz (rnein KDE altnda) sistemle balantnz kesmek iin masa st yneticinizin mensnden Login as different user seimini kullanmalsnz.

Sisteminize bir telnet yazlmyla uzaktan balandysanz iiniz bittiinde terminalinizde veya terminallerinizde exit veya logout komutlarndan birini kullanarak kiisel balantnz kesebilirsiniz.

129

Kim Korkar LINUXtan?

LINUX iletim sisteminde bir bilgisayar paylaan kullanclar sz konusudur. Bu durumda kullanclarn kaytl bilgilerini birbirlerine kar korumak gerekir. Bir sabah ie geldiinizde tm kaytl bilgilerinizin kaybolduunu dnebiliyor musunuz? Kullanclarn kaytl bilgilerinin yan sra, iletim sistemi, kendisini de hatal komutlara ve kt niyetli kullanclara kar korumak zorundadr. Bu koruma mekanizmasnn temelinde kullanc ad ve ifresi yer almaktadr. Her LINUX kullancs ifresini iyi korumak zorundadr. ifrenizi belki iyi koruyor olabilirsiniz; ancak logout komutunu vermeden terminalinizin bandan kalkarsanz, arkanzdan terminalin nne gelip oturan birisi, sizin kiiliinizle LINUXa verecei komutlarla, bilerek ya da bilmeyerek kaytl dosyalarnza zarar verebilir. Logout etmeniz, bilgisayar da kapatabileceiniz anlamna gelmez. Ltfen; ama ltfen, LINUX iletim sistemi ile alan bir bilgisayar iiniz bittiinde kt diye kapatmaynz. Bir LINUX bilgisayarnn salkl bir ekilde kapatlabilmesi iin bir dizi trensel ilem yaplmas gerekir.

130

LINUXla lk Tanma: KDE Masast Yneticisi

Isnma Hareketleri
Ne Var Ne Yok? Bir bilgisayarn bana ilk oturduunuzda genellikle elinizin altnda hangi dosyalarn ve dizinlerin bulunduunu grmek istersiniz. LINUXta disk(ler)de bulunan dosya ve dizinlerin listesini grmek iin uygulayabileceiniz birka yntem var. En basiti doal olarak KDEnin dosya yneticisini kullanmaktr. KDE dosya yneticisini altrmak iin masa stndeki ikonunu veya KDE panelindeki ikonunu tklayabilir veya KDE mensnden Home (Personal Files) seimini yapabilirsiniz.

KDE dosya yneticisi (Konqueror) aslnda bir web taraycsdr. Dosya ve dizinleri dzenlemek, kopyalamak, silmek, tamak iin kullanlaca gibi Location: kutusuna geerli URL adresleri vererek internet web sayfalarnda dolamakta da kullanabileceiniz bir yazlmdr.

Ne var; ne yok? sorusuna grafik kullanc arabirimi kullanarak yant aramay anlatmak istemiyoruz. Bu kitabn asl amac LINUX/UNIX retmek

131

Kim Korkar LINUXtan?

olduu iin ayn soruya LINUX komutlaryla yant aramann yolunu gstermenin daha yararl olacan dnyoruz. Bir terminal penceresi ap ls komutunu verdiinizde yukardaki grafik arayzde grntlenen listenin ilevsel olarak aynsn terminal pencerenizde greceksiniz:

Bu ekilde verilmi bir ls komutu, kiisel dizininizdeki dosya ve dizinlerin bir listesini retecektir. Bu listedeki alt dizinler isimlerinin sonunda bir / iaretiyle, altrlabilir program ieren dosyalar da isimlerinin sonunda bir * iaretiyle gsterilecektir. Basit dosyalarn (veri, yaz vs. ieren dosyalar) isimlerinin sonunda bir tantm iareti olmayacaktr. Daha kalabalk bir liste grmek iin ls /etc komutunu deneyiniz. home Dizini
LINUX ok kullancl bir iletim sistemi olduu iin her kullancnn kiisel dosyalarn saklayabilecei bir dzeni de salamak zorundadr. Bu nedenle, kullanc hesaplarnn almas srasnda her kullancnn kendi dosya ve dizinlerini yerletirebilecei bir dizin alr. Her kullanc kendi home dizininde her trl hakka sahip olur; ancak bir baka kullancya ait kiisel dizinde neredeyse hibir hakk olmaz. Apartman hayatndaki daireler gibi bir ey...

132

LINUXla lk Tanma: KDE Masast Yneticisi

Ben Kimim? lk bakta ok anlaml deilmi gibi grnen bu soru, UNIX dnyasnda zaman zaman sorulmas gereken nemli bir sorudur. Eer kullandnz UNIX bilgisayar byk bir bilgisayar ann bir parasysa ve siz bu a zerinden birok bilgisayara ulaabiliyorsanz ve bu deiik bilgisayarlardaki kullanc isimleriniz (user-id) farklysa, uzun alma seanslar srasnda herhangi bir pencere iinde geerli olan kullanc kimliinizi arabilirsiniz. Korkmayn, UNIX kimlik bunalmna yol aan bir iletim sistemi deildir. O baka bir iletim sisteminin zelliidir. Hemen,
whoami ve who am i

komutlarn vererek, LINUXun sizi o anda hangi kimlikle tandn renebilirsiniz. zellikle sistem yneticileri, zaman zaman baka kullanclarn kimliine brnme gereksinimi duyarlar. Bu ii su (switch user) komutuyla yaparlar. Bir o, bir bu kullanc kimliine brndklerinde de bazen armalar olur. Byle bir durumda hemen whoami komutunu vererek o penceredeki kimliklerini renebilirler. ifrenizi Deitirmek stediinizde... UNIX altnda alan bir bilgisayara sizin adnz (yani kullanc kodunuzu demek istiyoruz) kullanarak ulaabilen herkes, size gelen elektronik postalar okuyabilir, tm dosyalarnza ve dizinlerinize eriebilir, hatta silebilir ve deitirebilir. Belki daha da kts sizin adnz kullanarak nternette su olarak nitelendirilen iler yapabilir. LINUX eriim ifrenizi sk sk deitirmelisiniz. Ne kadar sk? diyorsanz alt ayda bir deriz. Elbette ifrenizin ortaya ktn dndnz olursa hemen deitirmelisiniz. Nitekim, baz sistem yneticileri, kullanclarn belirli sklklarda ifrelerini deitirmeye otomatik olarak zorlayan nlemler alrlar. (Password aging: ifre eskitme.) Bilgisayar dnyasnda geirdiimiz sre iinde ifresini kk sar katlara yazp ekrann zerine yaptranndan, salonun br tarafndan yahu senin ifren neydi? diye bararak sorulan soruya ayn ekilde bararak yant veren kullanclar bile grdk.

133

Kim Korkar LINUXtan?

ifre semek ve korumak ciddi bir itir. Setiiniz ifre, sizin tarafnzdan kolayca hatrlanacak, ancak bakalar tarafndan kolayca tahmin edilemeyecek bir karakter dizisi olmaldr. Einizin veya ocuunuzun ad, soyadnz, arabanzn plakas, doum tarihiniz, ifre olarak kullanlmas sakncal olan dizilerdir. ifre olarak ok karmak diziler seip, sonra da bu ifreyi unutmamak iin bir kenara yazmak da ok tehlikelidir. ifrenizi seerken, mmkn olduunca harf ve saylar kartrnz. Daha iyisi, hem byk, hem kk harfleri birarada kullannz. ifreniz ne ok uzun, ne de ok ksa olsun. 6-8 karakterlik diziler hem kolay hatrlanr, hem de klavyeden yazlrken pek hata yaplmaz.
ayfer AyfeR-1995 123456 Hehmi. x1e34TQ?w/&1+

ok kt bir ifre, hemen tahmin edilir. Eh.. Fena deil ama ifre krma programlar hemen zecektir. ok ciddiyetsiz, stelik klavyeden yazarken kolayca izlenir. Hayatta en hakiki mrit ilimdir sznn ba harfleri. Hem kolay hatrlanr, hem de tahmin etmesi ok gtr. yi bir ifre! Harika bir ifre, ama siz hatrlayabilecek misiniz bakalm?

Bilgisayara eriim ifrenizi (password) deitirmek istediinizde,


passwd

komutunu kullanmalsnz. ifreyi deitirebilmek iin o anda geerli olan ifreyi bilmeniz gerekecektir.

134

LINUXla lk Tanma: KDE Masast Yneticisi

Yeni ifreyi iki kez vermenizin istenmesi olduka mantkl deil mi? Klavyeden yazarken ekranda gremeyeceiniz bir ifreyi hatal yazarsanz, bir daha bu sisteme login etmeniz olanaksz hale gelecektir. ifrenizi unutursanz root kullancdan (sistem yneticisi) yardm alabilirsiniz. LINUX iletim sisteminde kullanc ifreleri tek ynl bir kriptolama tekniiyle ifrelenip saklanrlar. Tek ynl dememizin nedeni, bu kriptolama tekniinin geri dn, yani ifrelenmi bir diziye bakp bunun neyin ifrelenmi hali olduunu bulmann deneme-yanlma dnda bir yolu olmamasdr. Ancak root kullanc sistemde her eyi yapmaya, her dosyay ve dizini okumaya, silmeye, deitirmeye yetkili olduu iin istedii kullancnn ifresini istedii zaman deitirebilir. stelik eski ifresini de bilmesine gerek yoktur. Bu nedenle ifrenizi kaybettiinizde root kullanc size yeni bir ifre verebilir. Sisteminizin root ifrenizi unutursanz iiniz biraz zorlaacaktr. Unutulmu root ifrelerinin yenilenmesi konusunu kitabn Sistem Ynetimi blmnde bulabilirsiniz. mdaaaat!.. LINUX iletim sisteminde kullanlabilecek binlerce komut vardr. Seyrek kullanlan komutlarn genel yaplarn ve parametrelerinin hepsini hatrlamak pek kolay olmad iin, LINUX tm komutlarnn kullanm klavuzlarn standart ve evrim ii (online) olarak size sunmaktadr. Bir komutun nasl kullanlacan renmek ya da hatrlamak istediinizde,
man komut-ad

komutunu vermeniz, komut-ad adl komutun kullanm klavuzu sayfalarnn ekrannzda grntlenmesini salayacaktr. rnein, ls komutunun nasl kullanlacan, ne gibi seenekleriniz olduunu merak ederseniz,
man ls

komutunu kullanabilirsiniz.

135

Kim Korkar LINUXtan?

G... Daha Fazla G... Yapmay dndnz i iin yetkileriniz mi yetmiyor? root olun! Elbette root kullanc kimliine brnmek iin root ifresini bilmeniz gerekiyor; ama sistemi siz kurduunuza gre biliyorsunuzdur.
root kimliine brndnzde yetkileriniz snrszdr. Ancak bu snrsz

yetki, yannda byk de sorumluluk getirir.

Bir kere ne yaptnz iyi bilmelisiniz, zira LINUX, kendisine root tarafndan verilen komutlar sorgusuz sualsiz yerine getirir. Tm dizinleri silme komutunu verirseniz siler! Diski formatlama komutunu verirseniz formatlar! te yandan root kullanc iin sistemde ifreyle korunan hibir ey yoktur, root, istedii kullancnn istedii dosyasn ap deitirebilir, root istedii kullancnn ifresini deitirebilir; stelik eski ifresini bilmesine de gerek yoktur. Bu kadar yetki akas rktcdr. Geri dn olmayan hatalar yapma olasln ok arttrd iin gerekmedike root kimliine brnmeyin. Gerektiinde root olun ve iiniz bitince hemen normal kullanc kimliinize dnn.

136

LINUXla lk Tanma: KDE Masast Yneticisi

LINUXta root kimliine gemek iin terminal penceresinden


su -

komutunu verip arkasndan sorulduunda root ifresini girmelisiniz. iniz bittiinde de exit komutuyla root kimliinizi terkedin. (Aranzda politikaclar varsa bundan holanmayacaktr. root kimliine sahipken exit komutu vermek bakanlk koltuunu brakmak gibi bir ey olsa gerek). Aadaki ekranda cayfer isimli kullanc root kimliine brnmek iin su - komutunu verip mayfer isimli kullancnn ifresini deitiriyor ve ardndan /var/www/html/mayfer dizininin ve altndaki tm dosya ve alt dizinlerin sahibini mayfer yapyor.

kimliin ifresi sorulacaktr. Eer root bir baka kullanc olmak isterse ifre sorulmaz.

su komutu yalnzca root kimliine brnmek iin kullanlmaz. Kullanc kimliinizi hasan yapmak istediinizde su - hasan komutunu kullanabilirsiniz. Normal kullanclar su ile kimlik deitirmek istediinde yeni

137

Kim Korkar LINUXtan?

su mayfer komutunu verirseniz kimliiniz mayfer olur. Ayn komutu fer mayferin kabuuna brnrsnz; yani mayferin kiisel dizinindeki mayfer olursunuz. su - mayfer olarak verirseniz gene kimliiniz mayfer olur ama bu se-

su komutunu - parametresiyle kullanmann zel bir anlam vardr:

kabuk balang programlar altrlr. Bir baka deyile tam

Sisteminizde root kimliine brnme gereksinimi duyduunuzda verme-

niz gereken su komutunu su - eklinde vermeye almanz neririz. liyordu.)

(Hatrlyorsanz su komutuna kimlik belirtmezseniz root kimlii kabul edi-

LINUX Dosya-Dizin Yaps


Tm bilgisayar iletim sistemlerinin olduu gibi, LINUXun da en temel amalarndan biri, kullanclarn verilerini ve programlarn bilgisayar ortamnda dzenli bir ekilde saklamalarna yardmc olmaktr. LINUX iletim sisteminde tm veriler, programlar ve her biri aslnda bir program olan komutlar dosyalarda (file); dosyalarsa dizinlerde (directory) gruplanm olarak saklanr. LINUX dosya yapsn anlatrken okuyucunun MS-DOS/Windows iletim sistemlerine aina olduunu varsayacaz ve bu nedenle sk sk Windowsla karlatrmalar yapacaz.

Dosya-Dizin simleri
Tm UNIXlerde olduu gibi LINUXta da dosya-dizin isimlerinde kullanlacak harflerin byk ve kk olmas farkldr ve nemlidir. rnein;
veriler.2002.dat Veriler.2002.dat

ve

apayr iki dosya olarak nitelendirilir. Olas karklklar nlemek iin nerimiz mmkn olduunca kk harflerden oluan dosya ve dizin isimleri kullanmanzdr.

138

LINUXla lk Tanma: KDE Masast Yneticisi

LINUXta dosya ve dizin isimlerinde uzant (extension) kavram yoktur. Yani bir dosyann adnn uzantsna bakp o dosyann bir program dosyas olup olmadna karar veremezsiniz. Bir baka deyile LINUXta altrlabilir program dosyalarnn EXE, COM, BAT gibi uzantlar olmayacaktr. hesapla.dat isimli bir dosya pekala bir program dosyas olabilir ve altrlabilir. LINUXta dosya uzantsnn anlam olmad, dosya uzants kullanlamayaca anlamna gelmez. rnein Acrobat dokman dosyalarnn uzantlar genellikle .pdf olacaktr; C dili ile yazlm programlarn kaynak kodlarnn yer ald dosyalarn uzantlar .c olacaktr. Bu uzantlar ayn Windows dnyasndaki gibi geleneksellemi uzantlardr. LINUXtaki en nemli fark program dosyalarnn .EXE, .COM gibi uzantlar olmas gereinin olmamasdr. Bunun dnda kullanclara hayat kolaylatran dosya uzantlar her zaman yararl olmaktadr. LINUX dosya-dizin isimlerinde nokta ( . ) karakterinin zel bir anlam yoktur. Dosya ad iinde istediiniz kadar nokta kullanabilirsiniz. Ancak, nokta ile balayan dosya isimleri bir anlamda zeldir; ad nokta ile balayan dosyalar yar gizli dosyalardr. zellikle belirtmedike, dosya isimleri listelerinde bu tr dosyalar gremezsiniz.
ls komutunu -a parametresiyle kullanmadnz srece, ad noktayla ba-

layan dosyalar listede grnmez. Varl kullanclar pek ilgilendirmeyen, genellikle eitli uygulamalara ilikin kiisel tercihlerin sakland dosyalara, ls listelerinde kalabalk yapmasnlar diye noktayla balayan isimler verilir.

LINUX, Windowsdan da tandnz hiyerarik dosya-dizin yapsn kullanmaktadr. En st dzeyde bir root dizini ve bunun altnda gerektii gibi yerletirilmi olan dosya ve alt dizinler ile gene bu alt dizinler altnda yerletirilmi dosyalar ve gene alt dizinler...

139

Kim Korkar LINUXtan?

ematik olarak gstermek gerekirse:


/ home cayfer omer proje prog.c prog etc bin cat ls rm Dizinler Dosyalar disk2

...

Dikkat ederseniz, Windows dosya yapsndan farkl olarak root dizininin ad \ (back-slash) deil, normal / (slash) karakteridir. Ayn ekilde, bir dosyann dizinler arasndaki yerini tanmlarken, Windowstaki \ karakteri yerine / karakteri kullanlr. Bunu rneklerle gstermek gerekirse, yukardaki dosya-dizin yapsnda yer alan baz dizin ve dosyalarn tam isimleri yle yazlr:
/home/cayfer/proje /home/cayfer/prog.c /bin/cat

Her Horoz Kendi plnde... LINUX iletim sisteminde, her kullancnn kendisine ait bir kullanc dizini ya da kiisel dizini (UNIX terminolojisinde: home directory) vardr. Bu dizin, kullancnn sisteme tantm srasnda, sistem yneticisi tarafndan yaratlr. Her kullancnn kendi kullanc dizininde ve bu dizin altnda yer alan dosya ve alt dizinler zerinde snrsz yetkileri vardr. Bu dizin altnda istedii gibi dosya ve alt dizinler yaratr, bunlar siler, isimlerini ve ieriklerini deitirir vs. vs.

140

LINUXla lk Tanma: KDE Masast Yneticisi

Her kullancnn kendi dizinindeki bu yetkileri, baka kullanclarn dizinleri zerinde yoktur. Bir baka deyile, ayfer isimli kullanc, omer isimli kullancnn dizinindeki dosyalar silemez, deitiremez, omer izin vermedike okuyamaz; hatta varlndan bile haberdar olamaz. Sisteme balanan her kullanc, alma dizini, kendisine ait kullanc dizini olacak ekilde almaya balar. Sistem yneticileri, kullanc dizinlerini, genellikle /home dizini altna atklar dizinler olarak dzenlediklerinden (tipik bir UNIX gelenei), cayfer isimli kullancnn login ettiinde kendini /home/cayfer gibi bir dizinde bulmas doaldr.
login : cayfer Password : [cayfer@notebook cayfer]$

Bu rnekteki notebook, kullandnz LINUX bilgisayarnn addr. Eer bilgisayarnz bir bilgisayar ana balysa, bu adn sistemin hazr iaretinde (prompt) grnyor olmas terminal pencerenizin hangi bilgisayara bal olduunu gsterdii iin ok iinize yarayacaktr. zel bir kullanc olan root kullancsnn kiisel dizini /home dizini altnda deil, / dizini altnda yer alr (/root). Her ne kadar sisteme balandnzda LINUX sizi kendi kullanc dizininize yerletirirse de, bu yerleim mutlak deildir. sterseniz cd komutu ile alma dizininizi (default directory veya current directory) deitirebilirsiniz.

Neredeyim? alma dizininizin hazr iaretinde gsterilmesini salayan kullandnz kabuk programdr. (Buradaki rnekler bash kabuu iin verilmitir.) alma

141

Kim Korkar LINUXtan?

dizininizin tamamn hazr iareti iinde gremeyebilirsiniz. Komut satrnn ounu harcamamak iin bash kabuu hazr iareti iinde alma dizininin sadece son blmn grntler. Nerede olduunuzu hatrlatmaya yardmc olsun diye... Eer alma dizininizin tam yerini grmek istiyorsanz, yukardaki rnek ekranda da grebileceiniz gibi
pwd (print working directory)

komutunu kullanabilirsiniz. Yuvaya Dn alma dizininiz neresi olursa olsun cd komutunu parametresiz olarak verirseniz, kiisel dizininize dnersiniz.

Ne Var Ne Yok? (Ama Bu Kez Daha Bir Merakla...) ok doal olarak, bulunduunuz dizinde yer alan dosya ve alt dizinlerin bir listesini grmek isteyeceksiniz. Kullanacanz komut en basit haliyle:
ls

komutudur.

142

LINUXla lk Tanma: KDE Masast Yneticisi

Bu listede dizinler, isimlerinin sonuna yerletirilen / karakterleriyle; program veya komut dosyalarysa * ile belirtilmi olarak karnza kacaktr. Herhangi bir eki olmayan isimlerse, program dosyas veya dizin olmayan sradan dosyalara aittir. Baz isimlerin sonunda @ iareti greceksiniz. Bu iaretin anlamn aklamak iin henz biraz erken; ama imdilik u kadarn syleyebiliriz: @ iaretli dosya veya dizinler, aslnda orada olmayan dosya ve dizinleri belirler. Bu liste her zaman alfabetik srada ve dosya isimlerinin izin verdii lde birden fazla stun halinde dklecektir. Bu listeye nce ilk stunu, sonra dier stunlar grecek ekilde bakmaya almalsnz.
Dosyalar ve dizinler hakknda daha detayl bilgi istiyorsanz ls -l komuform ile alacanz listenin nasl yorumlandn ltfen ok ok iyi anlaynz. balayarak anlatlanlar olduka nemlidir. tunu kullanmalsnz. ls komutunun bu formunu mutlaka deneyiniz ve bu

LINUX dosya sisteminin mantn iyi kavrayabilmeniz asndan buradan

143

Kim Korkar LINUXtan?

ls -l (long list)

Bu ayrntl liste, inanamayacanz kadar ok bilgi iermektedir. Bu aamada btn detaylara girmeyeceiz; sadece satrlardan birkan rnek olarak ele alp, bir fikir verecek ekilde ksaca aklayacaz. Yukardaki ekran grntsnde d ile balayan satrlar dizinlere; - ile balayan satrlar ise dosyalara ilikin bilgi satrlardr. Her satrdaki rwxr-xr-x benzeri kalplarda grdnz kodlar, kullanclarn dosya (ya da dizin) zerindeki eriim yetkilerini tanmlamaktadr. LINUXta Eriim Yetkileri balkl blmde bu rwxr-x--- gibi kodlarn ne anlama geldii daha ayrntl bir ekilde aklanacaktr. imdilik ksaca aklayalm:

144

LINUXla lk Tanma: KDE Masast Yneticisi

Dosyalara Ait ls

-rw-r--r--

-rw-r--r-- 1 cayfer cayfer 736 Jul 8 2002 bashrc.txt

-l Satrlar

Bu satrn bir dosyayla ilgili olduunu (en bataki - iaretinden anlyoruz); bu dosyann sahibinin bu dosyada okuma (r: read), yazma (w: write) yetkilerinin olduunu; dier kullanclarn sadece okuma yetkilerinin bulunduunu belirtiyor. Bu satrn basit bir dosya hakknda bilgi ierdiini belirtiyor. Bu dosyann sahibinin cayfer isimli kullanc olduunu belrtiyor. Bu dosyann sahibinin cayfer grubunda olduunu belirtiyor. Dosyann uzunluunun 736 byte olduunu belirtiyor. Dosyann en son 8 Temmuz 2002de deiiklie uradn belirtiyor. Eer dosya en son iinde bulunduunuz ylda (2003) deitirilmi olsayd, bilgi satrnda yl yerine saat grnecekti. (addrbook.tar.gz dosyasnda olduu gibi.)

1 cayfer cayfer 736

Jul 8 2002

bashrc.txt

Dosyann adnn bashrc.txt olduunu gsteriyor.

Dizinler iin ls

-l satrnn grnm ve yorumlanmas biraz farkldr: Dizinlere Ait ls -l Satr

drwxr-xr-x 2 cayfer cayfer 4096 Feb 9 10:11 ctp208

drwxr-xr-x

Bu satrn bir dizinle ilgili olduunu (en bata d harfi var); bu dizinin sahibinin bu dizinde okuma (r: read), yazma (w: write) ve altrma (x: execute) yetkilerinin olduunu; dier kullanclarn sadece okuma ve altrma (dizin iin altrma yetkisinin zel bir anlam vardr) yetkilerinin bulunduunu belirtiyor.

145

Kim Korkar LINUXtan?

Bu satrn bir dizin hakknda bilgi ierdiini ve bu dizinin altnda baka bir dizin olmadn belirtiyor. (link says ad verilen bu parametre dizinler iin kendi altndaki alt dizinlerin 2 fazlasn gsterir; daha dorusu bu saynn iinde dizinin kendisi ve bir stteki dizin de vardr.) Eer bu ctp208 dizinin altnda tane alt dizin olsayd, bu say 5 olurdu. Bu dizinin sahibinin cayfer isimli kullanc olduunu belirtiyor. Bu dizinin sahibinin cayfer grubundan bir kullanc olduunu belirtiyor. Bu saynn dizinler iin pek ie yarayan bir anlam yoktur. Dosya sisteminden sistemine farkllklar gsterir. Dikkate almayabilirsiniz. Merakls iin unu syleyebiliriz: Dizindeki dosyalarn listesini, bu dosyalarn diskin hangi bloklarnda yer aldn gsteren bilgileri saklamak iin kullanlan disk alan miktarn byte olarak gsterir. Dizinin en son 9 ubat (iinde bulunduunuz yln 9 ubat), saat 10:11de deiiklie uradn, rnein bu saatte bir dosya/alt-dizin eklendiini, ya da dosya/alt-dizin silindiini belirtiyor. Bir dizinin altndaki bir dosyada yaplan deiiklikler dizinin son deiiklik saat ve tarihini deitirmez. Bu deiiklik iin dosya/alt dizin silinmesi ya da eklenmesi gerekir. Dizinin adnn ctp208 olduunu gstermektedir.

cayfer cayfer 4096

Feb 9 10:11

ctp208

ls komutunun dier yeteneklerini; daha dorusu seeneklerini renmek is-

tiyorsanz

man ls

komutunu kullanabilirsiniz. Bu komutu verdiinizde, aada bir ksm gsterilen uzun aklamalar ekrannza listelenecektir. Bu aklamalar, kullandnz LINUX iletim sistemine ait kullanm klavuzunun ls komutu ile ilgi-

146

LINUXla lk Tanma: KDE Masast Yneticisi

li blmleridir. man komutunu verdiinizde, listelenecek satrlar bir ekran sayfasndan fazlaysa, birinci sayfann listelenmesi tamamlandnda, ekrann sol alt tarafnda,
--- more ---

iareti greceksiniz. Bu mesaj, listelenen aklamalarn devam olduunu, bu sayfay okumay tamamlaynca klavyeden bir komut vererek listenin devamn grmenizin mmkn olduunu belirtmektedir.
--- more --- grndnde

Boluk tuuna (Space Bar) Return tuuna b (kk b) tuuna

basarsanz, bir sonraki sayfa, basarsanz, bir sonraki satr, basarsanz, bir nceki sayfa listelenir.

imdi, ls komutunun ayrntlarn renmek iin man ls komutunu bir deneyiniz.

ls komutunun man sayfalarna bakarak birka yararl seenek bulunabilir.

rnein:
ls -al

Tm dosya/dizinleri ve varsa gizli dosyalar da (isimleri noktayla balayan dosyalar ve dizinler) listeler.

147

Kim Korkar LINUXtan?

ls -hl

Dosyalarn uzunluklarn daha okunakl bir biimde (Kbyte ve MByte olarak) listeler. (h: human readable) ls -Rl Dosyalar listelerken varsa alt dizinlerin ieriklerini de listeler. ls -tl Dosyalarn ayrntl listesini retirken dosya ve dizinleri son gncellenme tarihlerine gre sralar. Son altrdnz komutun hangi dosyalar deitirdiini bulmak iin ok yararl bir zellik... man
UNIX dnyasnn nemli geleneklerinden biri de evrim ii komut dkmantasyonudur. man sayfalar diye anlan (ng.: Manual ksaltmas) dosyalarda tm UNIX komutlarnn nasl kullanlacaklarn, olas parametrelerini, seeneklerini ve rneklerini bulabilirsiniz. man fsck komutunu verip, fsck komutu hakknda ok ayrntl ve gerekten ie yarayan aklamalar alabilirsiniz. Hatta man komutunun ayrntlar iin man man komutunu bile kullanabilirsiniz. rnein fsck komutunun nasl kullanlacan hatrlayamadnzda

Dosyalar ve Dizinler
Kullanclarn bir bilgisayarla yaptklar almalarn meyveleri retilen dosyalardr. izim programlar kullanarak hazrladnz izimleri bir sonraki alma adm iin dosyalarda (disk, disket veya teypte) saklamalsnz. Yazdnz programlar da ayn ekilde... Ya da sistemin davrann dzenlemek zere deitirdiiniz konfigrasyon dosyalarn... Kendinize ait kiisel dosyalarnz veya sistem denetim dosyalarn dzenlemek, kopyalarn karmak, yedeklerini almak, gnlk ilerinizin nemli bir paras olacaktr; bu nedenle LINUXun dosya kavramn uzun uzun anlatmak istiyoruz. LINUXta dosyalar, ayn Windowsda olduu gibi, ilgili olduklar uygulamaya gre dzenlenmi ve isimlendirilmi dizinlerde (directory) saklanr. LINUXun ok kullancl bir iletim sistemi olmasndan dolay, diskin veya disklerin kullanclar arasnda paylalmas, dosyalarn konular yan sra,

148

LINUXla lk Tanma: KDE Masast Yneticisi

kullanclarn kimliklerine gre de gruplanmasn gerektirir. Hatrlarsanz, her kullancnn bir kiisel dizini ya da kullanc dizini olduundan daha nce sz etmitik. (home directory) Dosya ve dizinlerin kullanclar arasnda paylalmasndan dolay, bir kullancya ait dosyalarn ve dizinlerin bir eriim yetkisi mekanizmas ile dier kullanclara kar korunmas gerekmektedir. LINUXta bu koruma mekanizmas, kullanclarn sisteme tantlmas srasnda verilen kullanc ismi, kullanc numaras ve kullancnn ait olduu alma grubunun numarasna dayandrlr. Normal artlar altnda, kullanclarn kendilerine ait kullanc numarasn ve alma grubu numarasn bilmelerine gerek yoktur. Kullanc ismi ve kullanc numaras arasndaki balant, iletim sistemi tarafndan otomatik olarak salanr. Dosya Yaratmak Dosya yaratmann birok yntemi vardr: Grafik kullanc arabirimini kullanarak balatacanz herhangi bir uygulama programyla, Terminal veya konsoldan balatacanz herhangi bir uygulama program ya da LINUX komutuyla, Yazdnz bir C programn derleyerek, Eski bir dosyann kopyasn kararak, CDden veya teypten diske dosya kopyalayarak, Program ktlarn ynlendirerek (I/O Redirection) (Sabrl olun! Ne anlama geldiini anlatacaz) dosya yaratabilirsiniz. Biz en basitinden balayalm... cat Komutu UNIXte ok sk kullanlan, ok ilevli bir komuttur. Bu ilevlerden biri dz yaz ieren dosyalarn ieriini grntlemektir. En basit kullanm formu: eklindedir. Bu formda kullanld zaman, dosya_ad adl dosyay ekrana, daha dorusu, LINUX diliyle standart kt birimine (Standard Output)
cat dosya_ad (catenate)

149

Kim Korkar LINUXtan?

gnderir. Standart kt birimi genellikle ekran olduu iin, cat komutu bir dosyay ekrana listelemek iin kullanlr. Denemek iin,
cat /etc/issue

komutunu verebilirsiniz. Eee... Hani dosya yaratyorduk? formu ise biraz daha farkldr...
cat > yenidosya cat komutu dosya yaratmak iin kullanldnda verilmesi gereken komutun

Bu formda kullanldnda, cat komutu, standart girdi biriminden (klavyeden, Standard Input) ald bilgileri, yenidosya isimli bir dosyaya ynlendirecektir. (Bir baka deyile kopyalayacaktr.) imdi isterseniz dosya1 isimli ilk kk dosyanz yaratmak zere

cat > dosya1

komutunu veriniz, daha sonra imle (cursor) yeni satrn bana geldiinde, dosyann iinde yer almasn istediiniz satrlar giriniz. rnein,

Girdiiniz satrlar tamamlannca, imle satr bandayken Ctrl ve D tularna birlikte basarak (EOF: End of File karakteri) standart giri biriminizde dosyann sonuna geldiinizi belirtin. Dosya ad verirken dizin ad belirtmediiniz iin, dosya1 adl dosya alma dizininizde yaratlacaktr. Herhangi bir hata mesaj almadysanz, dosya problemsiz yaratld demektir. Eer dosya1in yaratlp yaratlmadn kontrol etmek isterseniz iki yntem nerebiliriz:

150

LINUXla lk Tanma: KDE Masast Yneticisi

Birinci yntem, cat komutuyla dosya1 dosyasndaki satrlar ekrana grntlemek olabilir. kinci yntemse, ls -l komutuyla dosyann adn, uzunluunu, ne zaman yaratldn ve sahibinin kim olduunu grebilirsiniz. ki yntemi de deneyiniz.
Eer cat komutunu parametresiz olarak verirseniz, komut pek de anlaml

olmayan bir i yapmaya, standart giri biriminden okuyup standart k bibastnz her tu, standart k birimine (ekran) kopyalanacaktr. Yanllkla debileceiniz bu durumdan kurtulmak iin, imle satr bandayken Ctrl-D tuuna basnz. Bu hareketiniz kopyalama iini sona erdirecektir. Bu ilem, diskteki dosyalarnz hibir ekilde etkilemez.

rimine kopyalamaya balayacaktr. Yani, klavyeden (standart giri birimi)

Kk bir varyasyonla cat komutunu ilgin bir i yapmak iin de kullanabilirsiniz:

cat komutunu bir de u ekilde deneyiniz:

Olmad deil mi?. (Permission denied: Bu ii yapmaya yetkiniz yok!) Nedeni ak... dosya1 isimli dosyay root (/) dizininin hemen altnda yarat-

151

Kim Korkar LINUXtan?

maya altnz ve sizin bu dizine kayt yapmaya yetkiniz olmamas da ok doal. Bu komutu root kullanc olarak vermi olsaydnz byle bir mesajla karlamayacaktnz ve dosyanz yaratlacakt. cp Komutu (copy) Bu komutun ne ie yaradn sylemeye gerek olduunu sanmyoruz; ama nasl kullanld nemli... En basit formuyla,
cp dosya1 dosya1 isimli dosyay dosya2 isimli dosyaya kopyalayacaktr.
Eer dosya2 isimli dosya yoksa, yaratlacaktr. (Tabii bu dosyann yer alaca dizinde dosya yaratmaya yetkiniz varsa...) Eer bu isimde bir dosya Byle bir durumda, eski bir dosyann zerine kayt yapmak zere olduunuz konusunda uyarlmayabilirsiniz! Dikkatli olmanz gerekir. eskiden varsa, zerine kopyalama yaplacak ve eski ierii kaybolacaktr.

dosya2 (copy)

formunda kullann. -i parametresi (interactive), eski bir dosyann zerine kayt yaplmas durumunda kullancnn Overwrite? mesaj ile uyarlmasn ve ancak y yant verilirse devam edilmesini salar.
-i parametresini kullanmay unutmaktan korkuyorsanz, kitabn alias ko-

cp -i

Eer dikkatinize gvenmiyorsanz, cp komutunu,


dosya1 dosya2

mutu ile ilgili blmn okuyunuz. Bu blmde eitli UNIX komutlarn kalc olarak deitirmenin, hatta kendinize zg UNIX komutlar yaratmann yollarn bulacaksnz.

Bir baka form:


cp dosya_ad dizin_ad

152

LINUXla lk Tanma: KDE Masast Yneticisi

dosya_ad isimli dosyay, dizin_ad isimli dizinin altna kopyalar. sterseniz -i seeneini gene kullanabilirsiniz.

Bu formla ilk form arasnda grn olarak hibir fark yoktur. kinci parametreyle verilen isim bir dizine aitse, verdiiniz komut ikinci formda kabul edilir ve birinci dosya bu dizinin altna kopyalanr. kinci parametreyle belirtilen isimde bir dosya varsa, ya da bu isimde hibir ey (dosya veya dizin) yoksa; komut ilk formda kabul edilerek ilk parametredeki dosyann kopyas karlr. Bir baka form:
cp dosya1, dosya2 ve dosya3 isimli dosyalar, dizin_adi isimli dizinin altna kopyalar. sterseniz -i parametresini kullanabilirsiniz.
UNIX cp komutunda, kopyalamann nereden nereye yaplacan mutlaka aka belirtmelisiniz. Yani,

dosya1 dosya2 dosya3 dizin_adi

eklinde bir komut kullanamazsnz. Bu ekilde yazacanz bir komut, /dizin1in altndaki dosya1 isimli dosyay, alma dizinine kopyala anlamna gelmez; hatal daha dorusu eksik bir komuttur.

cp /dizin1/dosya1

Dizin Kopyalamak LINUXta dizin kopyalamak iin gene cp komutu kullanlr; ancak zel bir parametreyle birlikte... Dizin kopyalamak iin kullanlan form: cp -r dizin1 dizin2 eklindedir. Bu formda verilen kopyalama komutu; varsa, dizinlerin alt dizinlerinin de kopyalanmasn salar. (r: recursive; zyinelemeli) yoruz:

cp komutu zerine birka ileri dzey rnek vererek bu konuyu gemek isti-

153

Kim Korkar LINUXtan?

Dosya ve Dizin Kopyalama rnekleri cp /etc/issue /tmp/issue2 /etc isimli dizinin altndaki issue isimli dosyay, /tmp isimli dizinin altna, adn issue2 olarak deitire/etc isimli dizinin altndaki issue isimli dosyay, /tmp isimli dizinin al-

cp /etc/issue /tmp

rek kopyalar.

cp /etc/issue .

tna, adn deitirmeden kopyalar.

/etc isimli dizinin altndaki issue

isimli dosyay alma dizinine (bir baka deyile, buraya) kopyalar.


cp /home/cayfer/prg1 ..

/home isimli dizinin altndaki cayfer dizininin altndaki prg1 isimli

dosyay alma dizininin bir stndeki dizine kopyalar.

cp -r /home/cayfer/dizin1 ..

li dizini alma dizininin bir stndeki dizine kopyalar.


rcp /etc/issue gunes:/home/cayfer (rcp: remote copy)

/home isimli dizinin altndaki cayfer dizininin altndaki dizin1 isim-

arpc bir rnek: /etc dizinindeki issue isimli dosyay gunes isimli bir baka bilgisayardaki /home dizininin altndaki cayfer dizinine kopyalar. Bu komutu verebilmeniz iin komutun verildii bilgisayarla gunes isimli bilgisayarlarn bir bilgisayar a ile birbirlerine bal olmalar ve sizin ikisine de eriim hakknz olmas gerekmektedir. Bu ve buna benzer komutlara daha sonra ayrntl olarak deineceiz. Dizin Yaratmak UNIXte dizin yaratmak iin mkdir komutu kullanlr.

154

LINUXla lk Tanma: KDE Masast Yneticisi

Formu basittir:
mkdir dizin mkdir eski_dizin/yeni_dizin

(make directory)

gibi... Doal olarak, yalnzca yetkiniz olan yerlerde dizin yaratabilirsiniz. alma Dizinini Deitirmek LINUX komutlarnda bir dosyadan sz ederken; rnein cat komutuyla bir dosyann iine bakmak zere dosyann adn verirken, dosyann yer ald dizini tam olarak belirtmezseniz, dosyann o andaki alma dizininizde (working directory, current directory) bulunduu varsaylr. alma dizinini deitirmek iin kullanlan komut,
cd yeni_alma_dizini (change directory)

rnekler vermek gerekirse:


alma Dizini Deitirme Komutu (cd) rnekleri cd /home/ayfer/proje1 cd ../proje2 cd ../../mektuplar cd ~omer cd

Pek aklama gerektirmiyor... Bir stteki dizinin altndaki proje2 isimli dizine geer.
lar isimli dizine geer.

ki st dzeydeki dizinin altndaki mektup-

Kullanc ad omer olan kullancnn kiisel dizinine geer (omerin home dizini). Her nerede olursa olsun, komutu veren kullancya ait dizine geer. (Yuvaya dn!)

155

Kim Korkar LINUXtan?

Dizinler arasnda gidip gelirken, zaman zaman kaybolmanz doaldr. zellikle hazr iaretiniz (prompt) alma dizininiz hakknda bilgi vermiyorsa... Kaybolduunuzda, pwd komutu ile (print working directory) o andaki alma dizininizin hangi dizin olduunu renebilirsiniz.

Dosya Silmek Artk diskte yer almasn istemediiniz dosyalar silmek iin kullanacanz komut,
rm dosyarm dosya1 dosya2 ... dosyaN (remove)

formlarndadr. Bir seferde (tek komutta), farkl dizinlerde yer alan dosyalar da silebilirsiniz.
rm /dizin1/dosya1 /baska_dizin/dosya2 ...

Eer dosyalar silinmeden nce onaylamak istiyorsanz -i parametresini kullanabilirsiniz:


rm -i /dizin1/dosya1 /baska_dizin/dosya2 ...

Bu komut formunu kullandnzda, silinecek her dosya iin teker teker,


rm: remove `/dizin1/dosya1?

sorusu sorulacak ve sadece y yantn verdiiniz dosyalar silinecektir. Dizin Silmek Artk diskte yer almasn istemediiniz dizinleri, altlarndaki dosya ve alt dizinleriyle birlikte silmek iin kullanacanz komut,
rm rm -r -r dizin dizin1 dizin2 ... dizinN (remove)

formlarndadr. (-r: recursive; zyinelemeli)

Bir seferde, farkl dizinlerde yer alan dizinleri de silebilirsiniz.

156

LINUXla lk Tanma: KDE Masast Yneticisi

rm

-r

/dizin1/alt_dizin1

/baska_dizin/dizin2 ...

Eer dizinler silinmeden nce onaylamak istiyorsanz -i parametresini kullanabilirsiniz:


rm -ir /dizin1/alt_dizin1 /baska_dizin/dizin2 ...

Bu komut formunu kullandnzda, silinecek her dizin ve altlarndaki dosyalar/dizinler iin teker teker,
rm: remove /dizin1/alt_dizin1?

gibi sorular sorulacak ve sadece y yantn verdiiniz dizinler silinecektir.


LINUX iletim sisteminde undelete (silinen dosyalar geri getirme) grevini yerine getirecek bir program ya da komut yoktur. Sildiiniz dosya ve tunu kullanmadan nce iyi dnmelisiniz. dizinler, bir daha geri getirilemeyecek ekilde silinir. Bu nedenle rm komu-

Dosya / Dizin Ad Deitirmek


mv mv eski_dosya_ismi eski_dizin_ismi yeni_dosya_ismi yeni_dizin_ismi (move)

Bir isim deiiklii yapmak istediinizde, doal olarak, sz konusu dosya veya dizinin yer ald dizinde, yeni isimde bir dosya ya da dizin bulunmamaldr. Dosya / Dizin Yeri Deitirmek Bu i iin kullanacanz komut gene mv (move) komutudur.
mv eskiyeri/dosya yeniyeri/dosya (move)

Bir yer deiiklii yapmak istediinizde, doal olarak, sz konusu dosya veya dizinin yer alaca yeni dizinde, ayn isimde bir dosya ya da dizin bulunmamaldr. Buraya kadar temel birka LINUX komutundan, sk sk da yetkilerden sz ettik. Artk u yetki meselesini biraz daha amann zaman geldi...

157

Kim Korkar LINUXtan?

LINUXta Eriim Yetkileri


LINUX iletim sistemi, kendisini ve denetledii kaynaklar, acemi veya kt niyetli kullanclara kar korumak zorundadr. te yandan, kullanclarn dosya ve dizinlerini de birbirlerine kar korumak gerekmektedir. Bir niversitenin bilgisayarndaki renci ileri mdrlnn kaytlarna herkesin eriebildiini hayal edebiliyor musunuz? Hele siz renciyken... LINUX iletim sistemi, olduka kuvvetli bir gvenlik sistemine sahiptir ve bu gvenlik sisteminin temelinde, kullanclarn sisteme tantm srasnda yaplan dzenlemeler yatar. Sistemin ynetiminden sorumlu olan kii(ler), genellikle kullanclar sistemi kullanm amalarna gre snflandrr(lar). rnein; renci ileri, ktphane, satn alma, mhendislik fakltesi, edebiyat fakltesi gibi... Bu snflara kullanc gruplar (user group) ad verilir ve her kullanc grubunun bir numaras olur. Sonra, sra her bir kullanc iin bir isim ve kullanc numaras vermeye ve bu kullanclarn ait olduklar gruplar belirlemeye gelir. zetlemek gerekirse, LINUX iletim sistemi ile alan bir bilgisayar kullanmak iin herkesin bir kullanc hesabna ve dolaysyla bir kullanc numarasna sahip olmas gerekir. Kullanclarnza sistemde daha nce kullanlmam ve onun kimliini hatrlatan bir kullanc ismi semek ve kullancnn grev tanmna uygun bir gruba yerletirmek size decektir. Kullancnn kiisel dizininin yerine de karar verdikten sonra artk kullancnn hesabn aabilirsiniz. imdi dnelim dosya ve dizinlerin eriim haklarna...

Yazma, Okuma, Program altrma Yetkileri


Hatrlarsanz, ls -l komutu ile bir dizinde yer alan dosyalarn (ve dizinlerin) ayrntl listesini aldnzda,
-rwxr-xr-x 1 cayfer cayfer 30704 Sep 8 2001 amavis

benzeri satrlar grmekteydiniz. Dosya ve dizinlere eriim yetki tanmlar rwxr-xr-xe benzeyen kod dizileriyle gsterilir. Bu dokuz karakterden oluan dizi aslnda er karakterlik paradan olumaktadr. (Bu rnekte rwx, r-x ve r-x)

158

LINUXla lk Tanma: KDE Masast Yneticisi

lk karakter dosyann sahibinin yetkilerini, ikinci l, dosyann sahibiyle ayn kullanc grubunda yer alan kullanclarn yetkilerini, son l ise dier kullanclarn bu dosya zerindeki yetkilerini tanmlamaktadr.
r w x r w x r w x

Sahibinin Yetkileri

Ayn Gruptakilerin Yetkileri Dier Kullanclarn Yetkileri

Her l de ayn kalptadr. Her lnn ilk pozisyonunda bir r harfinin varl, ilgili kullancnn dosyay okuma yetkisinin bulunduunu gsterir. Bu pozisyonda bir eksi iareti varsa, sz konusu kullanc tipi iin okuma yetkisi olmad anlalr. Bu mantkla,
r: Okuma yetkisi (read access), w: Yazma yetkisi (write access),

x: Dosya bir program dosyasysa, program altrma yetkisini gsterir

(execute access).

Birka rnek konuya iyice aklk getirecektir:

Dosya Eriim Yetki Kodlar rnekleri Dosya Yetki Kodu rwxrwxrwx Anlam

Bu dosyay herkes okuyabilir, herkes bu dosyaya kayt yapabilir, dosyann adn deitirebilir; hatta dosyay silebilir. Eer bu bir program dosyasysa, herkes bu program altrabilir. Bu dosyay herkes okuyabilir ve program dosyasysa altrabilir; ancak sadece sahibi bu dosyada bir deiiklik yapabilir. Bu dosya zerinde sahibi istedii tm ilemleri yapabilir; ancak dosya, dier kullanclara tamamen kapaldr.

rwxr-xr-x

rwx------

159

Kim Korkar LINUXtan?

rw-r--r--

Bu dosya bir program dosyas deil, nk hi kimsenin altrma (execute) yetkisi yok! Sahibi dosyay okuyup yazabilir ancak dier kullanclar sadece okuyabilir. Bu dosya da bir program dosyas deildir. Dosyann sahibi ve kendisiyle ayn grupta olan kullanclarn okuyup yazma yetkileri vardr, ancak dier kullanclarn hibir ekilde erimeleri mmkn deildir. Sahibi dnda kalan kullanclar, bu program dosyasn sadece altrabilirler.

rw-rw----

rwx--x--x

Dizinler iin de rwxr-xr-- yetki kodlar sz konusudur. Dosya yetki kodlarna ok benzemekle beraber, detaylarda baz nemli farkllklar vardr. Bu farklar daha sonra aklayacaz. Diskinizdeki dosya ve dizinlerin bazlarnn yetki kodlarnda r, w ve x

harflerinden farkl olarak s, S ve t gibi kodlar da grebilirsiniz. imdilik bunlara pek aldrmayn.

Bir kez daha zetlemek gerekirse: ls -l komutu verdiinizde alacanz dosya-dizin listesinde greceiniz yetki kalplar yan sayfadaki emaya gre yorumlanmaldr:

160

LINUXla lk Tanma: KDE Masast Yneticisi

Dosya/dizin ayrm yapan iaret Sahibinin bu dosya/dizin zerindeki yetkileri Sahibi ile ayn grupta olanlarn yetkileri Dier kullanclarn yetkileri

d rwx rwx rwx - rw- rw- --- rwx --x --x

Herkese tam yetkiye rnek Sahibi ve gruba okuma/yazma yetkisi Herkesin altrabilecei bir program

Doal olarak dosya ve dizinler zerindeki yetkileri deitirmek mmkndr; ancak eriim yetkilerini deitirmeye yetkili olmanz gerekmektedir. Bu yetki sadece dosyann veya dizinin sahibi ile root kullancsnda vardr. Dosya ve dizinlerin eriim yetkilerini deitirmek iin, chmod (change mode) komutu kullanlr. Bu komut iki deiik formda kullanlabilir. Kullanm greceli olarak kolay olan formu:
u g o a + = r w x s t

% chmod

dosya_adi

veya UNIX notasyonunda yazldnda


chmod [ugoa][+=-][rwxst] dosya_adi

formudur.

161

Kim Korkar LINUXtan?

Keli parantezler, aralarndaki karakterlerden biri seilmelidir diye okunur. Bu formda,


u: Dosya/dizinin sahibi (user) o: Dier kullanclar (others) a: Herkes (all) +: Yetki ekleme g: Dosya/dizinin sahibiyle ayn grupta olanlar (group)

=: Yetki eitleme -: Yetki karma r: Okuma yetkisi (read)

w: Yazma yetkisi (write)

x: altrma yetkisi (execute)

s: suid biti (daha sonra anlatacaz)

t: sticky bit (daha sonra anlatacaz)

Birka rnek vermek gerekirse:


chmod a+x adres

chmod o-w mhsb.z mhsb.z dosyasndan, dier kullanclarn yazma

komutu, adres isimli program dosyasna herkes iin altrma yetkisi verir. yetkisini kaldrr.

chmod go=rx adres adres isimli dosyann grup ve dierleri iin eriim yetkisini r-x kalbna eitler.

chmod komutunun bir dier formu da (ki LINUX ustalar tarafndan genel-

likle tercih edilen formdur), yetkilerin saysal olarak gsterildii formdur. Yetki tanm gruplar aadaki tabloya gre saysal birer deerle eletirilir: 4 2 1 4 2 1 4 2 1

Sahibi (Owner)

Ayn Gruptakiler (Group)

Dierleri (Others)

162

LINUXla lk Tanma: KDE Masast Yneticisi

Diyelim ki adresler dosyasnn eriim yetkilerinin rwxr-xr-x olmasn istiyorsunuz. Bu yetki kalbn er er ayrlm olarak dnp (rwx r-x r-x), yukardaki tabloya gre verilmek istenen yetkilere karlk gelen saylar l gruplar halinde toplaynz ve elde edeceiniz tane sayy yan yana getirip haneli bir say elde ediniz. Bir baka deyile: 4 2 1 4 1 4 1

5 755

chmod komutunda bu ekilde elde edilen sayy kullanarak dosya ya da dizinlerinizin eriim yetkilerini tanmlayabilirsiniz; chmod 755 adresler

Bir chmod komutu ile birden fazla dosyann eriim yetkilerini ayn anda deitirebilirsiniz:
chmod 755 *.pl *cgi

Bir dizindeki tm alt dizin ve onlarn altndaki tm dosyalarn eriim yetkilerini tek harekette deitirmek istediinizde
chmod -R 755 dizin1

komutundaki gibi -R parametresini kullanabilirsiniz.

Dizinlere Eriim Haklar


Dosyalar iin r, w ve x yetkileri yeteri kadar ak olmasna karn dizinler iin bu yetkilerin anlamlar biraz daha karmaktr. yle ki: Bir dizin iin r (read) yetkiniz varsa: O dizindeki dosyalarn isimlerini ls komutu ile grebilirsiniz. [Eer x (execute) yetkiniz yoksa, bir dizin iin ls komutunu kullanabilmenize karn, ls -l komutunu kullanamazsnz].

163

Kim Korkar LINUXtan?

Bir dizin iin w (write) yetkiniz varsa: O dizindeki dosyalarn yerleiminde deiiklikler yapabilirsiniz. rnein, dosyalarn adn deitirebilirsiniz veya dosyalar silebilirsiniz. Eer bir dizinde w yetkiniz varsa, fakat o dizin iindeki bir dosyaya w yetkiniz yoksa, o dosyann ieriini deitiremezsiniz, silemezsiniz veya adn deitiremezsiniz. Bir dizin iin x (execute) yetkiniz varsa: alma dizinizi bu dizin olarak deitirebilirsiniz. (cd komutunu bu dizin iin kullanabilirsiniz). Bir dizini alma dizini olarak kullanmak iin r (read) yetkisi yeterli deildir; x yetkisi de gerekir. inde gizli bilgiler olmayan ama gene de dier kullanclar tarafndan kurcalanmasn istemediiniz dizinler iin en uygun yetki dzenlemesi rwxr-xr-x (755) olarak kabul edilir. Eer bir dizininizi sizden baka kimsenin kullanmasn ve iine bakmasn istemiyorsanz, chmod go-rwx dizin_ad komutuyla o dizinin eriim yetkilerini rwx------ (700) olarak ayarlayabilirsiniz. Bir dizin iin w (write) ve x (execute) yetkiniz varsa: O dizinde yer alan bir dosyaya yazma yetkiniz olmasa bile o dosyay silebilir veya adn deitirebilirsiniz. Evet! Bu birlikte yaamas zor bir zellik! O yzden deerli dosyalarnz ieren dizinler iin kendinizden baka kimse iin yazma yetkisi vermemelisiniz. Bir baka deyile bir dizin iin verilmi olabilecek rwxrw-rw- ya da rwx---rwx gibi bir yetki kalb ok tehlikelidir. Bir nedenle bu tip bir yetki kalb kullanmak zorunda kalrsanz o dizinin sticky bitini de ayarlamalsnz. Bunun nasl yaplacan renmek iin bir iki sayfa daha sabretmelisiniz. umask: Dosya ve Dizinlerin Varsaylan Eriim Yetkileri Bu blm u aamada size fazla kark gelirse hi dnmeden atlayabilirsiniz. Aklnzda kalmas gereken tek ey, bir LINUX sistemde yeni yaratlan dosya ve dizinler iin atanacak varsaylan (default) eriim yetkilerinin umask deeriyle belirleniyor olduudur.
umask komutunu parametresiz kullanrsanz, o anda geerli olan umask de-

erini renirsiniz.

[cayfer@notebook cayfer]$ umask

164

LINUXla lk Tanma: KDE Masast Yneticisi

022

umask deerini deitirmek iin;


[cayfer@notebook cayfer]$ umask 033

gibi bir komut kullanmanz gerelir.


umask deerinin yorumlanmas biraz gariptir. umask deeri, verilen yetkile-

ri deil, kaldrlan yetkileri belirtir.

Bir rnekle anlatmak daha kolay olacak galiba: imdi; 022 saysn 0 2 2 eklinde 3 ayr say olarak dnn ve her sayy er haneli ikilik saylara (binary) evirin.
0 2 2: 000 010 010 gibi...

Bu diziyi, rw- rw- rw- ve rwx rwx rwx ablon yetki kodlar ile alt alta yazn.
umask Deerinden Varsaylan Eriim Yetkilerinin Hesaplanmas Dosyalar in Dizinler in rwx rwx rwx 000 010 010 rwx r-x r-x

ablon Yetki umask (022) Atanacak Yetki

rw- rw- rw000 010 010 rw- r-- r--

Bu dzenlemede 0larn altna gelen yetkilere dokunulmamakta, ancak 1lerin altna gelen yetkiler kaldrlmaktadr. Yani, umask deerinin 022 olarak atanmasndan sonra yeni yaratlan bir dosyann eriim yetkileri rw-r--r--; bir dizinin eriim yetkileriyse rwxrxr-x olarak belirlenecektir. Kararsz kullanclara nerimiz, umask deerini deitirmemeleri ve bylece varsaylan umask deeri olan 022yi kullanmalardr.

165

Kim Korkar LINUXtan?

Suid Biti ve suid Programlar


Birka sayfa nce, chmod komutundan sz ederken suid bit kavramndan bahsetmitik. Bir program dosyasnn suid bitini aktif hale getirmek (yani chmod +s prog gibi bir komut vermek), bu prog programn altran kullanclarn, program alt srece ve sadece bu program ile ilgili dosyalar asndan, program dosyasnn sahibinin yetkilerine sahip olmalarn salar. Biraz kark oldu ama, aadaki rnek aklayc olacaktr. (Bu aamada suid programlarn yarar size bir ey ifade etmiyorsa hi dert etmeyin).
ifresini deitirmek isteyen bir kullanc passwd komutunu kullanacaktr.

Bu program kullanldnda, ifre deiiklii, sahibi root olan /etc/shadow ya, LINUXun en nemli dosyalarndan birisi olduu iin ok iyi korunmakta ve sahibi (yani root) dnda kimsenin bu dosyaya ne okuma, ne de yazma yetkisi bulunmamaktadr. te suid kavram bu soruna bir zm gesuid biti set olduu iin, passwd komutunu veren kullanclar bu program geici olarak root yetkilerine sahip olacaklardr. alt srece ve /etc/shadow dosyasna eriim sz konusu olduunda tirmektedir. passwd programnn yer ald /usr/bin/passwd dosyasnn

dosyasnda bir kayt deiiklii yaplmasn gerektirecektir. Ancak bu dos-

suid programlar nemli birer emniyet gedii olabilirler. Bir programa suid zellii vermeden nce iki kez, hatta kez dnnz. Eer, suid zellii vermek istediiniz program, kullancya bir ekilde UNIX komutu verme olana salyorsa, bu programa kesinlikle suid zellii vermeyiniz. suid zelliine sahip dosyalar, ayrntl ls listelerinde bir s harfiyle gsterilir.
-r-s--x--x 2 root root 512 Feb 24 09:56 passwd* gibi.

Bir dosyay suid dosya yapmak iin;


chmod u+s dosya_adi

komutunu kullanabilirsiniz. Bu komutu kullanabilmek iin ya dosyann sahibi ya da root olmanz gerekir.

166

LINUXla lk Tanma: KDE Masast Yneticisi

Sticky Bit
Eski UNIX uyarlamalarnda, disklerin ortalama eriim srelerinin ve veri transfer hzlarnn dk olduu zamanlarda, program dosyalarnn disklerden bellee yklenebilmeleri iin geen sreler kullanclar rahatsz etmekteydi. Bu yzden, sk sk kullanlan komutlar oluturan programlarn disk dosyalarna sticky zellii verilirdi. Bu zellik sayesinde, bu tip programlar, bir kez bellee yklendikten sonra, programn almas sona erdiinde bile bellekten atlmazlard; bylece, komutun bir sonraki kullanm iin program bellekte hazr olurdu. sticky zelliine sahip dosyalar, ayrntl ls listelerinde bir t harfiyle gsterilir.
-rwxr-xr-t 2 root root 512 Feb 24 09:56 ls* gibi.

Artk, gnmz UNIXlerinde sticky bit kavram bu anlamda kullanlmamaktadr. Eer Dizinlere Eriim Yetkileri blmn dikkatli okuduysanz bakalar iin yazma ve okuma yetkisi vereceiniz bir dizinde yer alan dosyalarn tehlikede olduunu farketmi olmalsnz. LINUXta bu tehlikeyi ortadan kaldrmak iin sticky bit kullanlr. Bir dizinin sticky bitini kullanarak o dizine yazma-okuma yetkileri ne olursa olsun, sz konusu dosya zerindeki asl yetkilerin, dosyann kendi yetki kalb tarafndan belirlenmesini salayabilirsiniz. Bir dizinin sticky bitini devreye sokmak iin;
chmod +t dizin_adi

komutunu kullanabilirsiniz. Bu komutu kullanabilmek iin ya dizinin sahibi ya da root olmanz gerekir.

Yukardaki paragraf pek fazla bir ey ifade etmediyse hi dert etmeyin! Sticky Bit kavram bilgisayarnz LINUX altnda altrmanz iin mutlaka bilmeniz gereken kavramlardan biri deildir.

167

Kim Korkar LINUXtan?

Dosyalarn ve Dizinlerin Sahibini Deitirmek


chown (change owner)

Bu komutu sadece root kullanabilir! Eriim yetkileriyle ilgili olarak, zaman zaman dosya ve dizinlerin sahiplerinin deitirilmesi gerekebilmektedir. rnein, root kullanc bir nedenle, bir kullanc dizininde bir dosya ya da dizin yaratrsa ve bu yeni yaratlan dosya/dizinin o kullanc tarafndan tam yetkiyle kullanlmasn isterse, bunu salamann yolu, bu yeni yaratlan dosya/dizinin sahibini o kullanc yapmaktr. Bir dizindeki tm alt dizin ve onlarn altndaki tm dosyalarn sahiplerini tek harekette deitirmek istediinizde;
chown -R cayfer dizin1

komutundaki gibi -R parametresini kullanabilirsiniz.

Dosyalarn ve Dizinlerin Gruplarn Deitirmek


chgrp

(change group)

Bu komutu sadece root kullanabilir!

168

LINUXla lk Tanma: KDE Masast Yneticisi

Diyelim ki /home/cayfer/stok dosyasna pazarlama grubundaki tm kullanclarn eriebilmelerini istiyorsunuz. Ama dier kullanclarn bu dosyann ieriini grmelerini istemiyorsunuz. Bu durumda /home/cayfer/stok isimli dosyann eriim yetki kalb iin en uygun seimin
rw-r-----

olduu konusunda sanyoruz ayn grtesiniz. Bir de dosyann ait olduu grubu pazarlama yaparsanz i tamamdr. Bu ii de,
chgrp pazarlama /home/cayfer/stok

gibi bir komutla halledebilirsiniz. Ancak, bu komutun alabilmesi iin sistemde pazarlama isimli bir grup tanml olmaldr. Bir LINUX sistemde tanml olan gruplar /etc/group isimli bir dosyada saklanr. Bu dosyann sahibi root kullancdr. more /etc/group komutuyla sisteminizde tanml gruplar grebilirsiniz. Yeni bir grup eklenmesi gerektiinde root bu dosyay basit bir editrle ap istedii dzenlemeleri yapabilir. Bir dizindeki tm alt dizin ve onlarn altndaki tm dosyalarn gruplarn tek harekette deitirmek istediinizde;
chgrp -R pazarlama dizin1

komutundaki gibi -R parametresini kullanabilirsiniz.

Dosyalarn ve Dizinlerin Sahibini ve Grubunu Birlikte Deitirmek


Bir dosya ya da dizinin hem sahibini hem de grubunu tek komutla deitirebilirsiniz. Tabii ki root iseniz...
chown chown chown cayfer:pazarlama dosya_adi cayfer:pazarlama dizin_adi -R cayfer:pazarlama dizin_adi

gibi komutlar iinizi grecektir.

169

Kim Korkar LINUXtan?

bash Kabuk Program

UNIX Kabuk program (shell) kavramn iyi anlamanz ok nemlidir. Kabuk programlar, sistemde alan programlar saran, bu programlarn almas iin gereken ortam yaratan ve kucaklad programlarn iletim sistemiyle iletiim kurmasn salayan yazlmlardr. Sistemde alan neredeyse her program bir kabuk iinde alr. Kabuk programlarnn nemli ilevi vardr: 1. Yazlmlarn alma ortamn belirlemek. 2. Varsa, kullanclarla iletim sisteminin iletiimini salamak. (Bu cmle biraz garip kat galiba... Evet, kullancs olmayan programlar olabilir. rnein crond geri planda sessizce alan, sistem saatini ve crontab dosyalarn gzleyen, zaman geldiinde planlanm ileri balatan bir yazlmdr. Bu yazlmn herhangi bir kullancs olmad iin kullanc-iletim sistemi iletiimi anlaml deildir.) 3. Yazlmlarn almasn denetleyebilecek kodlarn yazlabilecei bir programlama dili ortam salamak. Byk olaslkla daha iyi tandnz Windows-MSDOS dnyasndan bir benzetme yapmak gerekirse, COMMAND.COM yazlm aslnda bir kabuk programdr. UNIX kabuk programlar da aynen bu ileri yapar. Ancak, UNIX iletim sistemi ok kullancl olduu iin her program iin ayr bir kabuk gerekir. nemli bir fark da, UNIX dnyasnda ok eitli kabuk programlar olmas ve kullanclarn kendi kabuk programlarn seebilmesidir. Nitekim, bir terminal penceresi atnzda, sizi, kullanc hesabnz alrken tanmlanm olan kabuk program karlayacaktr. LINUX dnyasnn en popler kabuk program bash olduu iin eer deitirmediyseniz sisteme yaptnz her balant iin balatlacak kabuk bash olacaktr. Eer bir nedenle bash kabuk programn beenmiyorsanz, ya da teknik bir nedenle rnein csh kabuuna gereksinim duyuyorsanz, bash kabuunuz iinde /bin/csh komutunu vererek C-Shell kabuuna brnebilirsiniz.

170

LINUXla lk Tanma: KDE Masast Yneticisi

UNIX Kabuk programlarnn hepsi son derece gl bir programlama dili desteine sahiptir. O kadar ki, sadece kabuk komutlar kullanarak bir bordro program bile yazmak olasdr. Bir UNIX sisteme telnet ile balandzda ya da X ekrannzda yeni bir terminal penceresi atnzda o terminal iin hemen bir kabuk balatlacak ve balatlan bu kabuk program size bir hazr iareti gsterecektir. Terminal pencerenizde verdiiniz tm LINUX komut satrlarn bu kabuk irdeleyecek, verdiiniz komuta uygun program diskten bellee ykleyecek ve varsa, verdiiniz parametreleri bu programa aktaracaktr. imdi kullancnn bir terminalden yazd komutun bash tarafndan irdelenmesi ve yerine yerine getirilmesi aamalarn bir rnekle aklamaya alalm:
cp ./a* /home/ugur

komutu verilip de Return tuuna bastnzda, komut satr nce paralanarak bileenlerine ayrlacaktr. Paralama iin boluk, virgl gibi noktalama iaretleri ve tab karakterleri ayra olarak kullanlacaktr. Satrbandaki ilk bileenin bir komut ad olduu; komut satrnn geri kalannn da bu komutun parametreleri olduu kabul edilerek komut satr zmlenmeye allacaktr.

cp

a* /home/ugur

Komut

Parametreler

Kabuk program a* parametresini ayrrken * (asterisk) karakterini grnce yle bir duralayp alma dizininde yer alan ve ad a harfi ile balayan tm dosya ve dizinlerin isimlerini bulacak ve sanki herbiri klavyeden yazlmasna komut satrna yerletirecektir. Sonra da /home/ugur karakterlerini son parametre olarak deerlendirecektir. Sonuta, ilk verdiiniz komut,
cp abc aktifler acik.doc /home/ugur

ekline dnecektir. (Tabii ki alma dizininizde abc, aktifler ve acik.doc isimli dosyalar olduunu varsayarsak.)

171

Kim Korkar LINUXtan?

Sonra da, cp komutuna ait program dosyas PATH (path de olabilir) isimli kabuk deikeninde (shell variable) yer alan dizinlerde aranacak ve bulunursa bellee yklenerek altrlacaktr. (PATH ve path kabuk deikenleri daha sonra anlatlacaktr.) Komut satrnn geri kalan ksmysa, yani abc aktifler acik.doc /home/ugur, cp komutuna parametre olarak gnderilecektir.
Tm kabuk programlarnda dikkat edilmesi gereken nemli bir nokta var: Dosya isim kalplar (wildcards) kullanlan komutlarda, bu kalplarn almas ilemi komut altrlmadan nce yaplr ve bu alm halleri, ilgili komut programna parametre olarak aktarlr. Bir baka deyile; ltrlmadan nce kabuk tarafndan alabildii kadar alr; ondan sonra komut altrlarak bu alm dosya isimleri parametre olarak gnderilir. cp *dat /tmp gibi bir komut verdiinizde *dat parametresi komut a-

Yani, sizin *dat ve /tmp diye iki parametre ile altrmay dnerek girdiiniz bir komut, alma dizininizdeki dosyalar arasnda ka tane ad dat ile biten dosya bulunduuna bal olarak deiebilecek sayda pa-

rametre ile altrlr.

Dosya isim kalbn, altrmak istediiniz programa kabuk tarafndan dokunulmadan gndermek istediinizde (find komutunda bu konuyu daha ayrntl olarak anlatacaz) dosya kalbnz trnaklar arasna yerletirmelisiniz.
komut *dat /tmp gibi.

Dosya sim Kalplar


Kullanacanz bir LINUX komutunda birden fazla dosyann adndan sz etmek mantklysa (rnein cp komutu gibi) ve bu dosyalarn isimleri belli bir kalba uyuyorsa (rnein sz konusu dosyalarn isimleri a ile balyorsa, veya bu isimlerin hepsinin sonu dat ise, veya dosyalarn isimleri iinde cayfer geiyorsa) bu dosyalarn isimlerini teker teker yazmak yerine dosya isim kalplarn kullanabilirsiniz.

172

LINUXla lk Tanma: KDE Masast Yneticisi

cp cp cp

a* /tmp *dat /home/cayfer *cayfer* /var/yedek

gibi... Kabuk programlarnda dosya kalplarnda kullanlabilecek joker (wilcard) karakterleri zet olarak unlardr:

Dosya sim Kalb Karakterleri *

Her trl karaktere uyar. Tm dosyalar seen bir kalp kullanmanz gerekirse tek bir * karakteri yeterli olacaktr. MSDOStaki gibi *.* yazarsanz, adnn iinde en az bir nokta olan dosyalar semi olursunuz; yani adnn iinde nokta olmayan dosyalar sememi olursunuz! Herhangi bir tek karaktere uyar.
a veya b veya c karakterlerinden birine uyar.

[a,b,c] [0-9]

0dan 9a kadar rakamlara uyar.

rnekler cat kitap[1-3] > hepsi kitap1, kitap2 ve kitap3 dosyalarn pepee ekleyerek hepsi isimli dos-

yaya kopyalar.

chmod a=x *.[o,sh]

chmod a=x *[.o,.sh] cp ?? /tmp

Adnn son karakterleri .o veya .sh olan tm dosyalarn eriim yetkilerini herkes iin --x olarak deitirir. Yukardakinin ayndr. Ad iki karakterden oluan dosyalar /tmp dizinine kopyalar.

173

Kim Korkar LINUXtan?

lerine uyar. rnein,

* kalp karakteri, ad . (nokta) ile balayan dosyalar hari tm dosya isim-

cp * /home/ayfer/sakla
komutu, alma dizinindeki, ad nokta ile balayanlar dndaki tm dosyalar /home/ayfer/sakla dizinine kopyalayacaktr. Eer ad nokta ile balayan dosyalar da (.login, .bashrc gibi) kopyalamak istiyorsanz,

cp .* * /home/ayfer/sakla
veya

cp .l* .b* * /home/ayfer/sakla


gibi komutlar kullanmalsnz.

Ortam Deikenleri
Bir LINUX bilgisayarna login ettiinizde, bir shell (kabuk) alma seans balatm olursunuz. Bu seans boyunca kullanacanz birtakm programlar almalarn dzenleyen baz deikenlerin (kabuk deikenleri) belirli deerlere sahip olmasn isteyebilirler. rnein, crontab program (sisteminizde belirli aralklarla, rnein her Pazartesi saat 23:30da, altrlmasn istediiniz programlar dzenler) EDITOR isimli bir kabuk deikeninde (ortam deikeni, shell deikeni) kullanaca editor grmek isteyecektir. Benzeri ekilde bash kabuu PATH isimli bir ortam deikeninde tam yeri belirtilmeyen komutlara ilikin program dosyalarn aramas gereken dizinlerin sral listesini bulmak isteyecektir. Geleneksel olarak ortam deikenlerinin isimleri byk harflerle yazlr. Ortam deikeni yaratma, deer verme, deer deitirme iin kullanlan komutlar kullandnz kabua gre deiecektir. bash kabuunda bir ortam deikeni yaratmak ya da deerini deitirmek iin komut satrna
DEGISKEN=2003

veya

174

LINUXla lk Tanma: KDE Masast Yneticisi

export DEGISKEN=2003

gibi bir komut yazmanz yeterlidir.

PATH Ortam Deikeni


Vereceiniz komutlarn program dosyalarnn aranmasn istediiniz dizinlerin listesini vermek istediinizde
PATH=/bin:/usr/bin:/usr/local/bin:.

gibi bir komut verebilirsiniz. O andan itibaren terminalden vereceiniz tm komutlara ait program dosyalar ncelikle /bin dizininde; orada bulunamazsa /usr/bin dizininde; orada da bulunamazsa /usr/local/bin dizininde; orada da bulunamazsa alsma dizininizde (sondaki noktaya dikkat) aranacaktr. Sz konusu program dosyas ilk olarak bu dizinlerden hangisinde bulunursa o program dosyas bellee yklenerek altrlacaktr. Eer program dosyas bu dizinlerden hibirinde bulunamazsa;
bash: xyz: command not found

hata mesajyla dllendirilirsiniz. Eer PATH deikenine yeni bir dizin ekleme gereksinimini duyarsanz; gibi bir komutla eski PATH deikeninin deerine /usr/local/prog dizinini ekleyebilirsiniz. Dikkat ettiyseniz bir ortam deikeninin deerini kullanmanz gerektiinde, o ortam deikeninin adnn bana bir $ iareti koymanz gerekiyor.
PATH=$PATH:/usr/local/prog

Dier nemli Ortam Deikenleri


SHELL: Herhangi bir anda, iinde altnz kabuk programnn adn ve

bu kabuun program dosyasnn yerini ve adn ierir.

echo $SHELL

komutunu verirseniz, /bin/bash gibi bir yant alrsnz.

175

Kim Korkar LINUXtan?

TERM: Kullandnz terminalin tipini belirler. En ok kullanlan TERM deerleri xterm ve vt100dr.
Uygulama programlarnn imlecin ekrandaki yerini denetleyebilmesi, ekrana yazlacak metinlerin renk, aydnlk olma, alt izgili grntlenme gibi zelliklerini kullanabilmesi iin kullandnz terminalin tipini bilmesi gerekir. Unutmayn, LINUX ok kullancl bir iletim sistemidir ve kullanclarn bir LINUX bilgisayar kullanabilmek iin onun nne gelip oturmas gerekmez. Uzaktan, kimbilir hangi yazlm ve/veya donanm kullanarak balanabilen kullanclarn ekran tiplerini LINUXa bildirmeleri gerekmektedir.

deeri verilir bu i genellikle otomatik olarak yaplr. Windows ve Mac gi-

TERM ortam deikeni ite bu amala kullanlr. X-Window ortamnda da alan terminal programlar iin bu TERM deikenine genellikle xterm

bi platformlarda alan terminal programlaryla bir LINUX bilgisayara i grecektir. Makul terminallerin hepsi 20 yl ncesinin mkemmel terlar gibi davranacaktr.

balandnzda ise genellikle TERM deikenine vt100 deerini vermek minali olarak tarihe gemi olan DEC marka VT100 modeli terminal cihaz-

Herhangi bir anda alma ortamnz iin tanml olan ortam deikenlerini ve deerlerini grmek isterseniz
env

komutunu kullanabilirsiniz.

Ortam Deikenlerinin Kalc Olarak Deitirilmesi


bash kabuunda alrken terminalden vereceiniz
PATH=$PATH:/yeni/path

gibi bir komutun etkisi yalnzca o terminal iinde almakta olan kabuk kopyasnda grlecektir ve o kabuk program sona erdirildiinde (rnein pencere kapatldnda) sz konusu ortam deikeni ayarlar kaybolacaktr. Bu deiikliklerin kalc olmasn ve bundan sonra sisteme her balandnzda ve her atnz terminal penceresinde geerli olmasn istiyorsanz bunu bir yerlere kaydetmelisiniz.

176

LINUXla lk Tanma: KDE Masast Yneticisi

Unutmayn! Bir terminal penceresi atnzda o pencere iin yeni bir kabuk program balatlr. Her bir kabuk da sanki siz bilgisayara yeni balanmsnz gibi davranr. Yaratacanz veya yeni deer vereceiniz ortam deikenlerinin her terminal balantnzda karnza kmasn istiyorsanz ortam deikeni atama deyimini kiisel dizininizdeki .bashrc dosyasna eknda otomatik olarak altrlr. lemeniz gerekir. Bu dosyadaki bash komutlar her bash kabuu balatld-

bash kabuk program her almaya baladnda, nce kendisini altran kullancnn kiisel dizinindeki .bashrc isimli dosyann iindeki kabuk komutlarn altrr. Bu i, kabuk program her baladnda yaplr. Atnz her pencere yeni bir kabuun altrlmasna neden olduu iin kiisel dizininizdeki .bashrc dosyasnn iindeki komutlar her terminal penceresi atnzda altrlacaktr. bash kabuk program bir ekilde durdurulduunda (rnein penceresi kapatldnda ya da exit komutu verildiinde) o kullancnn kiisel dizinindeki (varsa) .bash_logout isimli dosyada yer alan komutlar altrr. Her kabuk programnn kendine gre balang dosyalar vardr. rnein csh iin bu dosyalar .cshrc, ksh iin .kshrc gibi isimler alrlar.

bash Balang Dosyalar

Bir kabuk programnn almaya son vermesi iin ilgili pencere kapatlabilir; kullanc o kabuk programna exit veya logout komutunu verebilir. Kullanc kabuk programnn komut satr yorumlaycsna dosya sonuna gelindii anlamnda ^D (Ctrl-D) karakteri gnderebilir; ya da bir baka terminalde alan yetkili birisi (ki genellikle ancak root kullanc veya iin sahibidir) kill komutuyla kabuk programna kendini ldrmesi emrini gnderebilir. Bu kabuk balang dosyalar ii size biraz kark geldiyse hi dert etmeyin. LINUX bilgisayarnz standart iler iin kullandnz srece bu dosyalara bakmanz bile gerekmeyecektir. Ama gene de merak ettiyseniz kiisel dizininize geip (cd komutu parametresiz olarak vermeniz bunu salayacaktr)

cat .bashrc

komutunu veriniz.

177

Kim Korkar LINUXtan?

Aklnzn bir kesinde bulunsun; Windows ve MS-DOS iletim sistemlerine benzetmek gerekirse bu kabuk balang dosyalar kiisel StartUp veya AUTOEXEC.BAT dosyalar gibidir; sadece ok daha gelimi yeteneklerle donatlmlardr.

Sistem yneticisi iseniz genellikle bashrc balang dosyasnda yapacanz bir deiikliin tm kullanclar iin geerli olmasn istersiniz. Her kullancnn kiisel dizinindeki .bashrc dosyalarn deitirmek ya da deitirmelerini istemek yerine sistemin her kullanc iin otomatik olarak altraca komutlar ieren /etc/bashrc dosyasnda gerekli deiiklikleri yapmak yeterli olacaktr.

Kabuk program sona erdiinde altrlan kiisel .bash_logout dosyasna ise gereksiz dosyalar temizleyen komutlar yerletirilebilir. Tm kullanclar iin geerli olan bir bash_logout dosyas ise gene /etc dizininde yer alabilir.

bash History

bash kabuunun ok kullanl bir zellii vardr: Son verdiiniz bir sr

komutu saklar ve ekranda hazr iareti varken klavyenizde her yukar ok tuuna bastnzda bir nce verdiiniz komut getirilir. bash history zellikle son komutu tekrarlamak gerektiinde ok kullanldr. Diyelim ki olduka uzun bir komutu yanl yazp gnderdiniz:

178

LINUXla lk Tanma: KDE Masast Yneticisi

co /home/cayfer/tez/arastirma/bulgular1 /tmp/cayfer/gecici

Yukar ok tuuna basnca son komut olan bu hatal komut ekrana gelecektir. Sola okla da en bataki o harfinin sana gelip nce backspace tuu, sonrada hatay dzeltmek zere p tuuna basp komutu tekrar gnderebilirsiniz. En son ka komutun saklanaca HISTSIZE ortam deikeninde belirtilir. Varsaylan deer son 1000 satrn saklanaca anlamnda 1000dir. Bunu deitirmek istediinizde kiisel dizininizdeki .bashrc dosyasndaki ilgili satr deitirmeniz ya da dosyann iine
HISTSIZE=750

gibi bir satr eklemeniz yeterli olacaktr. Bir kullancnn son kulland 1000 (veya HISTSIZE deikeninde belirtildii kadar) komut o kullancnn kiisel dizinindeki .bash_history isimli dosyada saklanr.

! Arac
Daha nce verilmi komutlar arasnda, c harfi ile balayan en son komutu tekrarlamak iin !c komutunu kullanabilirsiniz. Daha kesin tanmlamalar gerekirse, !ca gibi daha uzun diziler kullanabilirsiniz. Son vermi olduunuz 1000 komutu grmek iin history komutunu kullanabilirsiniz. Bu komutu verdiinizde, daha nce vermi olduunuz komutlar, birer sra numarasyla ekrana listelenir. Bu listedeki komutlardan herhangi birini tekrarlamak istediinizde ! iareti ve hemen yanna tekrarlamak istediiniz komutun sra numarasn yazp Enter tuuna basmanz yeterlidir. (!14 gibi..). bash kabuu, verilen komutlarn tamamn deil; $HISTSIZE ortam deikeninin deeri kadar komutu saklar. $HISTSIZE ortam deikeninin varsaylan deeri 400dr.

179

Kim Korkar LINUXtan?

Birok komutu yazarken gerek komut adn, gerekse komutun parametresi olabilecek dosya isimlerinin tamamn klavyede yazmanz gerekmez. rnein, OpenOffice paketindeki kelime ilemci olan oowriter programn komut satrndan balatmak istediinizde klavyeden oowriter szcnn tamamn yazmanza gerek yoktur. dizinlerde ad oo ile balayan altrlabilir program dosyalar aranr. Bu oo yazp <tab> tuuna bastnzda PATH ortam deikeninizde belirtilmi

art salayan tek bir dosya bulunursa sanki siz klavyeden oowriter yazmsnz gibi komut otomatik tamamlanr. Yok eer ad oo ile balayan birden fazla altrlabilir program varsa, karnza bu kalba uyan dosyalarn bir listesi karlr. Bir harf daha; rnein w ekleyip gene <tab> tuu-

balayan tek komut byk olaslkla oowriter olaca iin komutunuz bash tarafndan tamamlanacaktr. Ayn kolayl dosya isimlerinde de kullanabilirsiniz. rnein:

na bastnzdaysa bu kez ad oow ile balayan komutlar aranr. oow ile

cp

prozgui-3.04.source.tar.gz <Tab>

sil.gz

yazmanz gerektiinde klavyeden cp pr yazdktan sonra <tab> tuuna ve ad bu kalba uyan dosyann ad otomatik olarak tamamlanacaktr. bastnzda alma dizininizde ad pr ile balayan dosyalar taranacak

Kendi Komutlarnz: Aliases


Daha nce LINUXta kendi komutlarnz yaratmann mmkn olduunu belirtmitik. te bu amala kullanlan alias komutuna birka rnek...
alias alias alias alias alias alias dir=ls copy=cp -i ll=ls -l mroe=more h=history ls=ls -F

alias dir=ls komutu, MS-DOS alkanlklarndan kolay vazgeemeyen kullanclar iin yararl olabilir. Bu komutu verdiinizde, artk, dosya listesi

180

LINUXla lk Tanma: KDE Masast Yneticisi

Ayn mantkla cp komutunun -i parametresiyle kullanlan eklini copy diye yeni bir komut olarak tanmlayabilirsiniz. ok ilgin bir ekilde klavyesi hzl olan kullanclar ska more yerine mroe yazarlar. Tularn yerleiminden olsa gerek... Siz de bu hatay ok yapanlardansanz olduka sk kullanlan more komutunu yanl yazma olaslna kar nceden nlem alp, eanlam more olan bir mroe komutu tanmlayabilirsiniz. Artk klavyeden more da yazsanz, mroe da yazsanz ayn komut alacaktr.
alias komutunu kullanarak kendi komutlarnz yaratmak ya da mevcut

almak iin isterseniz dir isterseniz ls komutunu kullanabilirsiniz. dir ve ls komutlar artk eanlaml olur.

komutlarn sizin istediiniz parametrelerle almasn istediinizde gerekli alias komutlarn kiisel dizininizdeki .bashrc dosyasnn sonuna ekleyebilirsiniz. Eer bu alias tanmlarnn tm kullanclar iin geerli olmasn istiyorsanz bu eklemeleri /etc/bashrc dosyasna yapmalsnz. imdi sorduunuzu duyar gibiyiz: Peki! Bir dosyada nasl deiiklik yapacam? Bunun yant da bir sonraki blmde...

181

Kim Korkar LINUXtan?

BUNLARI BLYOR MUYDUNUZ?

CD Tabanl Linux Datmlar


Bir bilgisayarda LINUX kullanabilmek iin o bilgisayarn diskine LINUX kurmak zorunda olmadnz biliyor muydunuz? CD tabanl LINUX datmlarndan birini kullanrsanz, diskinizi hi bozmadan bilgisayarnz LINUX iletim sistemiyle ap kullanabilirsiniz. Elbette ki bu ekilde kullanlan bir iletim sisteminden ok fazla i beklemek doru deildir ama denemek ve renmek iin pek fena da saylmaz. u sralar olduka popler olan, CD tabanl LINUX datm Knoppixi deneyebilirsiniz. Eer nternet balant hznz bir CD dolusu dosyay indirmeye uygunsa www.knoppix.org adresini bir ziyaret etmenizi neririz. Eer balant hznz CD indirmeye uygun deilse, Knoppix CDlerini www.linux34.com adresinden son derece makul bir fiyata smarlayabilirsiniz.

182

Editrler: Kedit vs. ve En nemlisi: vi


vi: Visual Editor vi Bir Kelime lemci Deildir! Beenseniz de Beenmeseniz de, vi renmelisiniz! Dosya Amak / Yaratmak vi Editrnn Durumlar gvim

04

LINUX iletim sistemiyle birlikte kullanlabilecek pek ok editr vardr. Bunlar KDE, GNOME gibi masa st yneticileri altnda kullanlabilecek grafik arabirimli editrler ve grafik olmayan ekranlarda kullanlabilecek konsol editrleridir. KDE ile beraber yklenen dosya editrlerini KDE Mens More Applications Editors altnda bulabilirsiniz.

183

Kim Korkar LINUXtan?

Bunlar deneyip zevkinize uygun birini seebilirsiniz. Bu mendeki grafik kullanc arabirimli (GUI) editrlerin kullanm son derece kolaydr.

Konsol editrlerine gelince durum biraz deiir. Bunlar grafik ekranlar daha bilgisayar dnyasnda ortaya kmadan yazlm editrler olup her trl bilgisayar terminalinde alacak ekilde gelitirilmitir. imdi diyeceksiniz ki grafik ekran olmayan bilgisayar m kald ki? Kald tabii.. Kalmaya da devam edecek gibi grnyor. Niye bilgisayar denince yalnzca PC aklnza geliyor? Hi ekran olmayan bilgisayarlar bile var. Bu nedenle konsol editrleri hala profesyonel bilgisayarclarn; daha dorusu UNIXcilerin eli ayadr. Konsol editrleri arasnda en ok sevilenler pico, emacs ve vi editrleridir. Bunlar arasnda tm UNIX uyarlamalarnda standart olan vi editrdr. Bu nedenle UNIX dnyasna admn atan herkesin vi renmesi olduka nemlidir.

184

Editrler: Kedit vs. ve En nemlisi: vi

vi: Visual Editor

vi bir editrdr! Yalnzca basit metin dosyalar zerinde kullanldnda ie yarar. Font, kaln yaz, italik yaz gibi kavramlar vida yoktur. Yani mektuplarnz, hele tekliflerinizi ve raporlarnz vi ile yazmaya almak anlamsz olacaktr. Bu gibi iler iin OpenOffice, KOffice gibi yazlmlar daha uygundur.

vi Bir Kelime lemci Deildir!

Eer kelime ilemci gereksiniminiz bilimsel makalelere ynelik ve zellikle matematiksel sembollerle doluysa o zaman TeX, LaTeX, Lyx lsn renmenizi neririz. Dzleme izilebilecek ve yazlabilecek her trl dkuman uluslararas standartlarda gelitirebilirsiniz.

Beenseniz de Beenmeseniz de, vi renmelisiniz!


le alan her bilgisayarda bulunur.

vi UNIX dnyasnn standart editrdr. UNIX veya herhangi bir treviy-

ca bir kitap yazmak gerekir. nce temel editr ilemlerinden balayalm isterseniz...

vi ile ilk karlaan kullanclar genellikle bu ne ya.. diye tepki gsteriyorlar. Bunlar arasnda sabrl olanlar bir sre sonra vi kullanmayanlara hayretle bakmaya balyorlar. ok gl bir editr olmasna ramen bu kitapta vi hakkndaki hereyi anlatmayacaz. Zaten pek anlatamayz da.. vi iin ayr-

185

Kim Korkar LINUXtan?

Dosya Amak / Yaratmak


Bir dosyay dzenlemek zere amak iin komutunu verebilirsiniz. rnein vi /etc/bashrc komutunu verdiinizde karnza
vi dosya-ad

gibi bir ekran gelecektir. Ekrann sol alt tarafnda dzenlenen (edit edilen) dosyann ad, yalnzca okuma iin ([readonly]) ald, satr says ve ka byte uzunluunda olduu belirecektir. Bu rnekte /etc/bashrc dosyasnn yalnzca okuma iin almasnn nedeni root kullanc dndakilerin bu dosya zerinde yazma yetkisi olmamasndandr.

186

Editrler: Kedit vs. ve En nemlisi: vi

Eer vi komutuna parametre olarak verdiiniz dosya diskte yoksa, yeni ve bo bir dosya yaratlarak karnza

ekran gelecektir. Bu ekrandaki ~ iaretleri, bo satrlar ile olmayan satrlar karmasn diye grntlenir.

vi Editrnn Durumlar
1. Ekleme durumu 2. Komut durumu

vi editr herhangi bir anda iki durumdan birindedir:

Ekleme Durumunda, klavyeden bastnz herey imlecin bulunduu noktadan balayarak dosyaya eklenecektir. Komut Durumunda klavyeden bastnz herey bir vi komutu olarak deerlendirilecektir.
vi editrn ekleme durumuna sokmak iin i tuuna (kk i: insert) bir kez basmanz yeterlidir.

Ekleme durumundan komut durumuna gemek iin ise Esc tuuna bir kez basmanz gerekmektedir. Esc tuuna birden fazla kez basmanz bir ey deitirmeyecektir. Yani komut durumundayken Esc tuuna basarsanz gene komut durumunda kalrsnz.

187

Kim Korkar LINUXtan?

vi ekleme durumundayken (insert mode) ekrann sol alt tarafnda -- INSERT -- iaretini grrsnz.

Sa tarafta ise dosyann kanc satrnda ve o satrn hangi yatay pozisyonunda olduunuzu izleyebilirsiniz. Ekleme Durumu Dosyanz ekleme durumundayken (bu duruma gemek iin bir kez i tuuna basmalsnz) birka satr veri giriniz. Satrlarn sonuna geldiinizde Enter tuuyla satr ba yapabilirsiniz.

Komut Durumu Dosyay kaydetmek iin yani editre kaydet (write) komutunu verebilmek iin ekleme durumundan (hatrlarsanz en bata bir kk i harfi ile bu duruma gemitiniz) kp komut durumuna gemeniz gerekecektir. Ekleme durumundan kmak iin bir kez Esc tuuna basmanz yeterlidir. (Fazla Esc basmann bir zarar olmaz. Sisteminiz her fazla bas iin bir kez ddk alacaktr; o kadar.) Ekranda komut durumunda bulunduunuza ilikin bir iaret aramayn. Yoktur! Ekleme durumunda olmamanz komut durumunda olduunuzu gsterir. Ancak, hangi durumda bulunduunuzdan emin olmak istiyorsanz, bir kez Esc tuuna basp komut durumunda olmay garantileyebilirsiniz.

188

Editrler: Kedit vs. ve En nemlisi: vi

Tekrar deneme almanza dnersek; son bastnz Esc tuundan tr komut durumunda bulunduunuzu biliyorsunuz. Diske yazma komutu vermek amacyla : (iki nokta st ste) tuuna bastnzda, imle ekrann en alt sol kesine inecek, bastnz : karakterini burada gsterecek ve komut bekleyecektir. Komut olarak w harfini girip [w (write) komutu] Enter tuuna basnz.

Dosyay kaydetme ileminin baarl olduunu u mesajdan anlayabilirsiniz:


yeni_dosya [New] 13L, 511C written

vi editryle iiniz bittiinde komut durumundayken : tuuna basp q

komutunu verebilirsiniz. Dosyada henz kaydedilmemi deiiklikler varsa vi sizi uyaracaktr. Yaptnz deiikliklerden vazgetiyseniz, dosyay kaydetmeden kmak iin q! komutunu vermelisiniz. za dnm olmalsnz. imdi dosya isimlerini listeleme komutuyla bu yeni yarattnz dosyann adn grebilmelisiniz. (pucu: ls komutu.)

q (quit) komutundan tr, vidan tamamen km ve LINUX kabuunu-

Dosya Aarken Karlaabileceiniz Sorunlar Diskte bulunduunu bildiiniz bir dosya ad vermi olmanza ramen, ekrann en altnda [New File] mesajn grebilirsiniz. Bu durumda byk olaslkla ya dosyann adn yanl yazmsnzdr ya da o dosya belirttiiniz dizin-

189

Kim Korkar LINUXtan?

de deildir. Eer dizin belirtmediyseniz o dosya alma dizininizde de olmayabilir. Bir baka olaslk da, dosya adn yazarken byk harf-kk harf konusuna dikkat etmemi olabilirsiniz; hatrlarsanz LINUX iletim sisteminde deneme ile Deneme farkl dosya adlardr! Aadaki mesajlardan birini grrseniz:
[Read Only] File is Read only Permission denied

veya veya

sz konusu dosyaya ya da bulunduu dizine yazma yetkiniz yok demektir. Normal olarak yapabileceiniz bir ey olmadndan vi seansn bir an nce durdurup, dosyann sahibi ile grmeniz ya da uygun bir kullanc kimliine brnmeniz gerekmektedir.
File System full mesajn grrseniz, altnz disk ya da kotanz dol-

mu demektir; gereksiz dosyalar silerek yer amanz gerekmektedir.

UNIX iletim sisteminde, kullanclarn disklerde kullanabilecekleri alanlarn toplam bykln snrlama (kota koyma) olana vardr. Byle bir snrlamann olup olmayacana, olacaksa her kullanc iin kotann ka megabyte olacana sistem yneticisi karar verir.

Kullanclar kotalarn doldurduklarnda bir mesajla uyarlr ve genellikle kotalarn biraz amalarna izin verilir; ancak birka gn iinde tekrar kota limitlerinin altna inmezlerse, sistem daha fazla yeni dosya yaratmalarna veya eski dosyalarn bytmelerine izin vermeyecektir.
vi editr, terminal penceresinin tamamn kullanan tam-ekran (full screen)

bir editrdr. Bu nedenle temel ilevler iin en iyi hakim olunmas gereken komutlar, imleci ekranda dolatrma komutlardr.

mle Dolatrma Komutlar Bu komutlarn verilmesi srasnda, editr komut konumunda bulunmaldr. (Yani editr yeni balatlm olmal veya ekleme konumundan kmak iin Esc tuuna baslm olmaldr. Hatrlayacaksnz, fazla Esc basmann bir zarar yoktu; dolaysyla bulunduunuz konumla ilgili bir pheniz varsa, komut durumuna gemek iin hi ekinmeden Esc tuuna basnz.)

190

Editrler: Kedit vs. ve En nemlisi: vi

Normal koullarda imleci ekranda dolatrmak iin klavyedeki ok tularn kullanabilirsiniz. Ama UNIX dnyasnda ne zaman nasl bir terminal veya terminal emlasyon program kullanacanz belli olmaz; bu nedenle ok tular bulunmayan bir terminali kullanrken gerekebilecek imle dolatrma komutlarndan sz etmekte yarar var:
vi mle Ynlendirme Komutlar Tu mle Hareket Yn

Oklar
h j k l

... Sola bir karakter. Aa bir satr. Yukar bir satr. Saa bir karakter. (Kk L harfi)

Tabii bu arada Return (veya Enter) tuu ile BackSpace tuunun da srasyla satrba ve bir geri anlamna geldiini hatrlatmakta fayda var. Birok vi komutu gibi, imle hareket komutlarnn da bana bir say koyarak, bu say kadar saa, sola, aa ve yukar hareket salanabilir.
3h 2k

3 karakter sola. 2 satr yukar, gibi.

Birerli admlar dnda hareket salayan ve ok kullanlan imle dolatrma komutlarndan bazlarysa:
0 $ w b

(Sfr) mlecin bulunduu satrn bana. mlecin bulunduu satrn sonuna. Bir sonraki szcn bana. Szcn bana. (Ya da bir nceki szcn bana)

191

Kim Korkar LINUXtan?

Ekleme Komutlar Editr kullanrken en ok yaplan ilerden biri, eski bir metnin bana, sonuna ve araya satr/kelime/harf eklemektir. vi editrnde ekleme konumuna gemenin yntemlerinden birini (i komutu) daha nce belirtmitik. Yine de tekrarlamak istiyoruz:
i

mlecin, zerinde bulunduu karakterin hemen solundan balayarak, Esc tuuna basncaya kadar baslan her karakteri metne ekler. Varsa, eski metin saa doru itelenir.

Dier ekleme komutlar:


a

mlecin, zerinde bulunduu karakterin hemen sandan balayarak, Esc tuuna basncaya kadar, baslan her karakteri metne ekler. Varsa, eski metin saa doru itelenir. mlecin, zerinde bulunduu satrn sonundan balayarak, Esc tuuna basncaya kadar, baslan her karakteri metne ekler.

Bu komutlarn byk veya kk harflerle verilmesi farkl ve nemlidir. Dikkatli olun.

Yaz Silmek Daha nce yazlm metin paralarn silmek iin kullanlan komutlar aadaki tabloda rnekleriyle zetlenmi olarak bulacaksnz:
Metin Silme Komutlar x

mlecin zerinde bulunduu tek karakteri siler. mlecin zerinde bulunduu karakter dahil, saa doru 3 karakter siler. mlecin bulunduu yerden kelime sonuna kadar siler. Eer imle szcn bandaysa, szc siler.

3x dw

192

Editrler: Kedit vs. ve En nemlisi: vi

2dw dd

mlecin bulunduu yerden balayarak 2 szck siler. mlecin bulunduu satr siler. mlecin bulunduu satr dahil, aa doru iki satr siler. mlecin bulunduu yerden satr sonuna kadar siler. (d$ komutuna edeerdir)

2dd D

d$

Satrn sonuna kadar siler. (D komutuna edeerdir)

Yanllkla Silerseniz... Eer hatanz hemen fark ederseniz, u komutuyla (undo) son silme ilemini geri dndrebilirsiniz. Undo aslnda yalnzca son silme ilemini deil, son deiiklii geri dndrr. Undo komutunu U harfiyle (byk U) verdiinizde en son deiiklik yaplm olan satrdaki tm deiikliklerin hepsi birden geri alnr. Metin Bloklarnn Yerini Deitirmek vi editryle metin bloklarnn yerini deitirmek istediinizde kullanacanz yntem kes-yaptr yntemidir. Yerini deitireceiniz metin blounu nce bulunduu yerden, uygun bir komutla (rnein tek satr iin dd komutu gibi) silmeli (kesme ilemi), daha sonra p komutuyla (put) yeni yerine yaptrmalsnz. Eer yapmak istediiniz ilem bir metin blounu silmekse, kesme ileminden sonra baka bir yere yaptrmamanz yeterlidir. Bu ilemleri bir rnekle anlatmak daha kolay olacak: Aadaki rnek metindeki, - Ryalarnz szcyle balayan nc satr en st satra tamak istediinizi varsayalm. nce imleci bu satrn zerine getirmelisiniz. (dd komutuna hazrlk.)

193

Kim Korkar LINUXtan?

lee alnacaktr.

dd komutunu verdiinizde, bu satr ekrandan kaybolacak ve geici bir bel-

Daha sonra imleci en st satra karp ardndan keserek bellee aldnz satr imlecin bulunduu satrn stne P (byk p) komutuyla yaptrabilirsiniz. Kk p ise bellekteki satr imlecin bulunduu satrn altna yaptrr.

194

Editrler: Kedit vs. ve En nemlisi: vi

Dikkat ederseniz kk bir bozukluk oldu. Yaznn estetik btnln korumak iin Ryalarnz... satrn altndaki bo satrla birlikte tamak gerekiyordu.
dd komutuyla tek satr kesmek yerine 2dd komutuyla iki satr kesseydik ve P ile bu iki satr yaptrsaydk byle olmayacakt. Neyse ok nemli deil. Oldu artk. imdi en kolay birinci satrn altna bir bo satr eklemek ve 0, 1, ... satrndan sonraki ift bo satrdan birini silmek.

Bunu yapmak iin imle birinci satrn stndeyken o (kk o) (open line) komutunu deneyin. mlecin altna yeni bir bo satr eklenecektir. Tekrar Esc tuuyla ekleme durumundan kn. Sonra imleci birini silmek istediiniz ift bo satrdan birinin zerine gtrp dd ile bir satr kesin ama hibir yere yaptrmayn. Oldu ite!

195

Kim Korkar LINUXtan?

sterseniz imdi de vi komutlarnn birarada kullanlmasyla elde edilebilecek ilgin bir etkiyi gsterelim: Metnin herhangi bir yerinde, x ve p komutlarn pepee veya birarada kullanrsanz (xp) imlecin altndaki karakterle sandaki karakterin yerini deitirmi olursunuz. Ltfen deneyiniz! Metin Bloklarn Kopyalamak
vi editr ile metin bloklarn kopyalamak istediinizde kullanacanz yn-

tem kopyala-yaptr yntemidir. Kopyalayacanz metin blounu nce bulunduu yerde, y (yank) komutuyla (tm satr iin yy komutu veya Y gibi) geici bellee aktarmal ve daha sonra kopyalanaca yere p komutu (put) ile yaptrmalsnz.

Bu ilemleri de bir rnekle anlatmak daha kolay olacak galiba... Yukardaki rnek metindeki, Ryalarnz... szcyle ile balayan ilk satr, biraz dikkatli... szckleriyle ile balayan satrn altna kopyalamak istediinizi varsayalm: nce imleci ilk satrn zerine getirin. Sonra yy komutuyla bu satr geici bellek sahasna aln. Ekranda bir deiiklik olmayacaktr. Daha sonra imleci biraz dikkatli... satrna indirerek, p (kk p) komutu ile yeni yerine yaptrn.

196

Editrler: Kedit vs. ve En nemlisi: vi

bulunduu satrn altna, P (byk p) ise stne yapar.

Kopyalama ve yer deitirmede kullanlan p (kk p) yaptrmay imlecin

Son Komutu Tekrarlamak Bir nedenle, son deiiklik komutunuzu baka yerlerde de tekrarlamanz gerekirse, . (nokta) komutu ile bunu yapabilirsiniz. Metin Eklemenin / Deitirmenin Birka Deiik Yolu Komut durumundayken baslacak tularla baz nemli metin deitirme ilevleri yerine getirilebilir. Bunlar arasnda ska kullanlanlar aadaki tabloda bulabilirsiniz. Komutlarn hangi ngilizce szcklerin ksaltmalar olduunu da ngilizce bilen okurlarn hatrlamalarn kolaylatrmak iin tabloya ekledik.
Baz nemli Metin Deitirme Komutlar Komut I o ngilizcesi Aklama

Insert Open Line

(Byk I) mlecin bulunduu satrn BAINA eklemeye bala. (Esce kadar) (Kk o) mlecin bulunduu satrn ALTINA bir bo satr a ve oraya eklemeye bala. (Byk O) mlecin bulunduu satrn STNE bir bo satr a ve eklemeye bala.

O s

Open above

Substitute Char mlecin bulunduu yerdeki karakteri sil ve yerine yeni metni eklemeye bala. (Esce basncaya kadar) Substitute Line mlecin bulunduu satr sil ve yerine yeni metni eklemeye bala.

197

Kim Korkar LINUXtan?

r R

Replace Char Replace Text

mlecin bulunduu karakteri bir sonra baslacak karakterle deitir. mlecin bulunduu noktadan itibaren, yeni metni eski metnin zerine yerletir. (Esce basncaya kadar) (Byk j) mlecin bulunduu satrla arkasndaki satr birletir. mlecin bulunduu szc, yeni girilecek szckle deitir.

J cw

Join

Change Word

lanabilir. (Ayn cebirdeki gibi...)

Birok vi komutu, bana bir arpan yerletirerek birden fazla kez tekrar-

rnein, satr silmek iin kullanlan dd komutu, 5dd eklinde verildiinde 5 satr sil anlamna gelir. Komutlarn bu zelliini daha nceki rneklerde fark etmi olmalydnz.

Metnin inde Dolamak u ana kadar hep birka satrdan oluan dosyalarda altk. Hayat her zaman bu kadar kolay deildir. zellikle elektronik posta iin metin yazarken ya da program gelitirirken, sk sk metin iinde sayfa sayfa (bir baka deyile ekran ekran) ileri-geri gitmek gerekir. Bu ilemler iin kullanlan komutlar burada ksaca bir tablo halinde sralayacaz. Birer kere denemenizi neririz. zerinde almak iin uzun bir dosya hazrlamak yerine, sisteminizin /etc dizinindeki termcap dosyasn kendi dizininize kopyalayp bu dosya zerinde alabilirsiniz. (cp /etc/termcap ~ sonra vi termcap)

198

Editrler: Kedit vs. ve En nemlisi: vi

Metin inde Dolama Komutlar Komut ngilizcesi Aklama

Ctrl-F
Ctrl-B Ctrl-D Ctrl-U Ctrl-R

Forward Backward Down Up Redraw

Bir ekran ileri. Bir ekran geri. Yarm ekran ileri. Yarm ekran geri. Ekran yeniden dzenle. (alrken sistemden gelebilecek mesajlar ekrannzdaki grnty bozarsa bu komut, vi ekrann ekran silip yeniden oluturarak dzenleyecektir.) Ekran bir satr aa kaydr, imle yerinde kalsn. Ekran bir satr yukar kaydr, imle yerinde kalsn. (Kk z) mlecin bulunduu satr ekrann en stne gelecek ekilde ekran dzenle. (Kk z ve nokta) mlecin bulunduu satr ekrann ortasna gelecek ekilde ekran dzenle. (Kk z ve eksi ) mlecin bulunduu satr ekrann en altna gelecek ekilde ekran dzenle.

Ctrl-Y Ctrl-E z RETURN z.

z-

H M L
RETURN

Home Mid Screen

Ekrann en st satrna git. Ekrann orta satrna git.

Lower Screen Ekrann en alt satrna git. Bir sonraki satrn ilk karakterine git.

199

Kim Korkar LINUXtan?

Yukarda aklanan komutlarn baz zel kullanmlar vardr. Bunlar ender kullanlan zellikler olup, burada sadece bir fikir vermek amacyla birka rnek vereceiz:
200z RETURN 4H 5L

200. satr ekrann en stne getir. Ekrann en st satrnn 4 altndaki satra git. Ekrann en alt satrnn 5 stndeki satra git.

Metnin inde Arayarak Dolamak Diyelim ki, program yazyorsunuz ve deiiklik yapmak istediiniz satrn yeri hakknda bir fikriniz yok. Tek hatrladnz, deitirmek istediiniz satrda kayit_says++ diye bir karakter dizisi var. Bu diziyi ieren bir satr bulmak iin komut durumunda,
/kayit RETURN

yazmanz yeterli olacaktr. mle, iinde bu dizi geen ilk satrda duracaktr. Arama, imlecin bulunduu yerden ileriye doru yaplr. Eer geriye doru arama yapmak isterseniz / yerine ? karakterini kullanmanz gerekir. Diyelim ki, programn ilk rastlad kayit szc, sizin ilgilendiiniz deil ve aramaya devam etmek istiyorsunuz. Bu durumda n (next) tuuna basmanz yeterlidir. Tm arama komutunu yeniden yazmanz gerekmez. Eer aramann ynn deitirmek isterseniz n yerine N komutunu veriniz. Eer aramann halen hangi ynde olduunu hatrlamyor, fakat aramay ileriye doru yneltmek istiyorsanz / tuuna, tam tersi iinse ? tuuna basabilirsiniz. Bulup Deitirmek Diyelim ki, bulunduunuz satrda Linux diye bir szck var ve bu szc LINUX olarak deitirmek istiyorsunuz. Bu ii yapmak iin imleci i harfinin zerine gtrerek 4rINUX komutunu vermeniz yeterli olacaktr. Bu yntemde bulma grevini siz; deitirme grevini ise vi stlenmi oluyor. Her iki ii de vin yapmasn istiyorsanz, deiikliin yaplmasn istediiniz satrn zerine gelip,
:s/Linux/LINUX :s/inux/INUX

veya

komutlarn verebilirsiniz. Bu komutlar yalnzca ilk rastladklar Linux ka-

200

Editrler: Kedit vs. ve En nemlisi: vi

rakter dizisini LINUX dizisiyle ve inux dizisini INUX dizisiyle deitirecektir. Bir satrdaki tm Linux karakter dizilerini LINUX olarak deitirmek iin,
:s/Linux/LINUX/g

komutunu kullanmalsnz. imdi, s komutuna birka ileri dzey rnek vererek bu komutun baka yeteneklerini de gstermek istiyoruz:
leri Dzey s Komutu rnekleri Komut :1,100s/Unix/UNIX/g Aklama

Dosyann 1. ve 100. satrlar arasnda rastlanan tm Unix dizilerini UNIX olarak deitir. Dosyann 1. ve sonuncu satrlar arasnda rastlanan tm Ugurlar Ugur Ayfer olarak deitir.
% iareti tm dosya anlamndadr.

:1,$s/Ugur/Ugur Ayfer/g

:%s/Ugur/Ugur Ayfer/g :%s/teh/the/gc

:g/Ayfer/s/Ugur/U./g

Tm dosyada Ayfer dizisini arar (g/Ayfer/); Ayfer bulduu her satrdaki tm Ugur dizilerini U. ile deitirir. Dosyadaki tm Perl dizilerini PERL ile deitirir. (\U byk harfe dntrr; & ise, aranan diziyi batan yazmamak iin kullanlan bir ksaltmadr.)

Dosyadaki tm tehleri the olarak deitirir; ancak her bir deiiklik iin kullanc onay ister. (c: confirmation)

:%s/Perl/\U&/g

201

Kim Korkar LINUXtan?

:g/^$/d

Tm bo satrlar bulur ve siler. (^ iareti satr ba anlamna; $ ise satr sonu anlamna gelir. Bu rnekte iinde hibir karakter olmayan (ba ve sonu yanyana olan) satrlar silinecektir; boluk karakterleri ieren satrlar bu kalba uymayacandan silinmeyecektir. Eer iinde boluk karakterleri olan satrlar da silmek istiyorsanz, :g/^ *$/d komutunu kullanmalsnz. (^ iaretinden sonraki bolua dikkat!) lgn bir rnek! Bir dosyadaki satrlarn srasn ters evirir... (Son satr birinci satr, sondan ikinci satr ikinci satr,...). Nasl m? Balangc olan her satr (^) (zaten her satrn bir balangc vardr) sfrnc satra tar. (mo, move anlamndadr) Bu ksack komutun bu ii yapacana inanmyorsanz bir deneyin.

:g/^/mo0

Metnin inde Satr Numaralarn Kullanarak Dolamak de satr numaralarn kullanarak dolamanz gerekiyorsa (40. satra git, sonra 75. satra git, vs.), ekranda satr numaralarn grmek ok yararl olacaktr. Satr numaralarn ekranda grebilmek iin:
:set number vi editr, normalde ekranda satr numaralarn gstermez. Eer metnin iin-

Sra numarasn bildiiniz bir satra gitmek iin kullanacanz komut:


nnG (nn numaral satra git, rnein 55G, 134G) olacaktr.

202

Editrler: Kedit vs. ve En nemlisi: vi

:55 ve :134 komutlar da imleci srasyla 55. ve 134. satrlarn bana gtrecektir.

Tu Ksaltmalar Metninizi yazarken baz kelime ya da kalplar ok sk tekrarlamanz gerekebilir. rnein, metninizin birok yerinde Aircraft Owners and Pilots Association adl organizasyonun adn yazmanz gerekecekse,
:ab aopa Aircraft Owners and Pilots Association

komutuyla bir ksaltma (abbreviation) tanm yapabilirsiniz. Artk, klavyeden her aopa yazdnzda, sanki ak ak Aircraft Owners and Pilots Association yazmsnz gibi kabul edilecektir. Bu ksaltmann iptal edilmesini istediiniz zaman;
:unab aopa (unabbreviate)

komutu yetecektir. (vidan ktnzda ksaltmalarnz yok olur.)


ab komutu ile yaplan tu tanmlamalar, sadece insert modunda, yani
saltmay kullanmadan nce i, a, A, o veya O komutlarndan birini vermi

araya metin girme konumunda anlamldr. (Tanmlam olduunuz bir kolmanz gerekir).

203

Kim Korkar LINUXtan?

Eer sk kullandnz vi komutlarna ilikin bir ksaltma tanmlamak istiyorsanz, bu tanmlamanz map komutuyla yapmanz gerekir. rnein,
map ^Y dd

tanmlamas, Ctrl-Y tuunun, bulunduunuz satrn silinmesini salayan dd komutu ile e anlaml olarak kullanlmasn salar. Eer map komutu ile F2 fonksiyon tuuna tm bo satrlar silme komutunu tanmlamak isterseniz,
map #2 :g/^$/d

komutunu kullanabilirsiniz. map ile yaplm tanmlamalar iptal etmek iin unmap komutunu kullanmalsnz. (unmap #2 gibi) Bu tip ksaltmalarnzn kalc olmasn istiyorsanz .vimrc dosyas ile ilgili blm okuyunuz. vi Balatrken Verebileceiniz Komutlar ok nemli olmamakla birlikte, editr balatrken komut satrndan verebileceiniz birka vi komutu vardr.
vi +230 mektup1.mail vi + telefonlar

230. satra gtr. satra gtr.

mektup1.mail dosyasn a ve imleci

telefonlar dosyasn a ve imleci son

204

Editrler: Kedit vs. ve En nemlisi: vi

Dosya lemleriyle lgili Komutlar


vi editr ile yarattnz veya zerinde alarak deiiklikler yaptnz

dosyalar diske kaydetmek ve buna benzer ilemler iin kullanlan komutlar aada sralanmtr. Bu komutlar kullanmadan nce komut durumuna gemi olmanz gerekmektedir: Komut durumuna gemek iin en az bir kez Esc tuuna basmanz gerektiini hatrlyorsunuz, deil mi?
Dosya lemleriyle lgili Komutlar Komut ZZ :q :q! :w :wq :x :w dosya2 :1,100w bolum1 :r dosya3 Aklama

Dosyay son haliyle diske kaydet ve vidan k. (:wq komut dizisine edeerdir.) Dosyada deiiklik yaplmayacak, vidan k. (quit) Yaplan deiikliklerden vazgeildi, dosyay deitirmeden vidan k. (quit) Dosyay diske kaydet. (vida kal) (write) Dosyay diske kaydet ve vidan k. (write-quit)
vidan k, deimise dosyay diske kaydet. (exit)

zerinde allmakta olan dosyay, dosya2 adyla diske kaydet. (write) zerinde allmakta olan dosyann ilk 100 satrn bolum1 isimli bir dosyaya kaydet. dosya3 adl dosyay oku ve imlecin bulunduu noktadan balayarak araya ekle. (read)

205

Kim Korkar LINUXtan?

Bazen, vi programyla bir dosya zerinde alrken, geici olarak kabuunuza dnp, baka bir UNIX komutu altrmanz gerekebilir. Diyelim ki, zerinde almakta olduunuz dosyann iine, bir baka dosyay kopyalamanz gerekti, ama bu dosyann tam adn hatrlayamadnz. ls komutunu bir kullanabilseniz, bu dosyann adn hemen hatrlayacaksnz. Byle durumlar iin, vi, size kabuk programnza bir k olana vermektedir. Bu olanaktan yaralanabilmek iin Esc tuu ile komut durumuna geip,
!ls

vi inden UNIX Komutu Vermek

komutunu veriniz. UNIXin zerafetine bir rnek: Diyelim ki, bir program iin kullanm klavuzu yazyorsunuz ve klavuzunuzun bir blmne, sz konusu programn bir ktsn eklemek istiyorsunuz. Kullanabileceiniz komut,
:r !prog

Bu komutu verdiinizde, prog isimli program altrlacak ve kts vi ile dzenlenmekte olduunuz dosyada, imlecin bulunduu noktaya yerletirilecektir. (Sanki diskten bir dosya okumusunuz gibi...) Birden Fazla Dosyay Pepee lemek
vi programn balatrken, dosya ad olarak birden fazla parametre verebi-

lirsiniz. rnein,

vi dosya1 dosya2 veya vi dosya*

Bu durumda, vi nce dosya1 isimli dosyay dzenlenmek zere ekrana getirecektir. Bu dosyayla iiniz bitip de, w n komutuyla birinci dosyay (dosya1) kaydettikten sonra (write) komutuyla ikinci dosyaya (dosya2) geebilirsiniz. (next)

206

Editrler: Kedit vs. ve En nemlisi: vi

.vimrc Dosyas

.vimrc dosyas, vi programyla ilgili zel tercihlerinizi belirttiiniz dosyadr. Eer kiisel dizininizde .vimrc isimli bir dosya (dosya adnn bandaki noktaya dikkat ediniz) varsa, vi programn her balattnzda, bu dosyann iindeki vi komutlar otomatik olarak altrlacak ve bylece tercihleriniz ayarlanm olacaktr. .vimrc dosyas basit bir text dosyas olup, vi dahil her trl editrle yaratlabilir. Bu dosyada yer alabilecek baz vi komutlarna

rnekler vermek istiyoruz.

map ^Y dd

map #2 :g/^$/d

Ctrl-Y satr sil anlamnda. F2 tuu, bo satrlar sil anlamnda. cua bir ksaltma olarak kullanlm.

ab cua Can Ugur Ayfer

Daha Ayrntl Bilgi in...


vi program hakknda daha yazlabilecek ok ey var. Eer ilginizi ekiyorsa, OReilly Mediann Learning the vi Editr (yazar Linda Lamb; ISBN 0937175-67-6) isimli kitabn hararetle tavsiye ederiz.

207

Kim Korkar LINUXtan?

vi Komutlar zeti
Komut A a I i O o b w e $ H S ^F Aklama Komut x Aklama

Satr sonuna eklemeye bala mlecin sana eklemeye bala Satr bana eklemeye bala mlecin soluna eklemeye bala Bu satrn stne satr ekle Bu satrn altna satr ekle Bir nceki kelimenin bana git Bir sonraki kelimenin bana git

dd d3 d$ u U r cw

mlecin bulunduu karakteri sil mlecin olduu satr sil mlecin olduu yerden 3 karakter sil mleten sonrasn sil Son deiiklii iptal et (Undo) Satr iin Undo Tek karakter deitir Kelime deitir Satrn tamamn deitir Satr bana git Ekrann sonuna git Sayfa geri (Ctrl-B) Dosyay kaydet (w yeni-isim de olabilir) k (Quit) Kaydet ve k Deiikliklerden vazge ve k Blok kopyalamak iin: Blok bana gidiniz. rnein 8yy ile tampon bellee sekiz satr alnz Kopyalayacanz yere gidip, p komutunu veriniz.

Bir sonraki kelimenin sonuna git cc ^ Satr sonuna git Ekrann bana git Sayfa ileri (Ctrl-F) Satrn tamamn deitir Dosyada diziyi bul (ileriye doru) Dosyada diziyi bul (geriye doru) Satrlar numarala Blok tamak iin: Blok bana gidiniz. rnein 8dd ile sekiz satr siliniz Tayacanz yere gidip, p komutunu veriniz.
L ^B :w :q zz :q!

/dizi ?dizi :nu

Bu sayfann fotokopisini ekinmeden ekebilirsiniz. Dava amayz...

208

Editrler: Kedit vs. ve En nemlisi: vi

gvim
Eer vin gcnden yararlanmak, ama grafik ortamda alyor olmann avantajlarn da kaybetmemek istiyorsanz, gvim isimli mkemmel bir editr daha var. Bu editr vin btn zelliklerini korurken ayn zamanda fare kullanmn da destekleyerek grsel birok yenilik getiriyor.
gvim, Graphical vi Improved (grsel ve gelitirilmi vi) szcklerinden elde edilmi bir ksaltmadr. Terminal ekrannzdan gvim yazarak altrabi-

leceiniz gibi bu editr KDE mensnde Applications Editors altnda da bulabilirsiniz.

Btn vi komutlar gvimde de aynen alr. Ek olarak farenizi kullanarak imlecin yerini deitirebilir ve metin zerinde deiiklikler yapabilirsiniz. Kes-yaptr tr hareketler bu sayede daha rahat olur.
Eer 3 tulu bir fareniz varsa X kullanrken pencereler iinde veya arasnda metin kopyalamak ok kolaydr. Fareyle setiiniz her metin paras otomatik olarak kopyalanr ve farenizin orta butonunu tkladnzda imlecin bulunduu yere yaptrlr. Ayrca Ctrl-C, Ctrl-V gerekmez. Eer KDE kullanyorsanz Klipper program da kes-yaptr ilemlerine bir sr ek zellik ekler. Eer tulu bir fareniz yoksa, genellikle iki tua birden basarak ayn sonuca ulaabilirsiniz. Fare ayarlarndaki emulate 3 buttons seenei bunun iindir.

Ekrannzn sa altndaki ikonuna tkladnzda nceden kopyaladnz 10 metin parasna ulaabilirsiniz. (Tabii ki bu sayy ve Klippern daha birok zelliini deitirebilirsiniz.)
gvimin en ho zelliklerinden biri, aklnza gelebilecek her trl program-

lama diline uygun yazm kural seilebilme zelliidir. Eer geleneksel dosya isimleri kullanyorsanz gvim kullanarak atnz dosyalar zaten belirtilen dosya uzantsna uygun dilin yazm kurallarna gre dzenlemeler yapacak ekilde alacaktr. rnein ad .c diye biten bir dosyay atnzda gvim dosyanz otomatik olarak C dilinin yazm kurallarna gre renklendirecektir. Bylece eitli parantez, trnak gibi aldysa kapatlmas gereken gramer unsurlar kolay al-

209

Kim Korkar LINUXtan?

glanabilecek ekilde ekrannza gelecektir. gvim programnn Syntax mensn kullanarak bu renklendirmenin hangi programlama diline gre yaplacan seebilirsiniz.
vidan farkl olarak gvim kullanrken karnzda bir yardm mens vardr. gvim ile ilgili hereyi bu yardm mensnden ulaacanz dkmanlarn

iinde bulabilirsiniz.

210

nemli LINUX Kavram ve Komutlar


nemli LINUX Kavramlar Standart Giri ve Standart k ekirdek: Kernel Dosya Sistemleri Sreler Link Kavram ve ln Komutu Pipe Kavram Biraz Nefes Alalm Kullanl LINUX Komutlar

05

nemli LINUX Kavramlar


Standart Giri ve Standart k
Standart Giri ve Standart k, LINUX iletim sisteminin ok nemli iki kavramdr. LINUX konsol komutlarnn yzde doksan, ilevlerini standart giri biriminden okuyacaklar veriler zerinde yerine getirip, varsa sonularn standart k birimine gnderir. Bir baka deyile, LINUX komutlarnn yzde doksan, grevlerini klavyeden okuyacaklar veriler zerinde yerine getirip, varsa sonularn ekrana gnderir. Standart giri birimine LINUX terminolojisinde STDIN, standart k birimine de STDOUT denir. rnein wc komutu (word count) standart giriten okuyaca verilerdeki karakter, szck ve satrlar sayar; bu sonular da standart k birimine grntler.

211

Kim Korkar LINUXtan?

wc komutunun kts olan satrda 3 say greceksiniz. Birincisi, programa girdi olarak verilen dosyadaki satrlarn says; ikincisi szcklerin says; sonuncusu da karakterlerin saysdr. wc komutunun biraz daha ayrntl olarak anlatmn birka sayfa ileride bulacaksnz.
Bir programa standart giriten girilen verilerin sonunu belirtmek iin Ctrl-D tuuna baslr. Bir baka deyile klavyenin dosya sonu Ctrl-D ile belirtilir. Bu nedenle yukardaki rnei denerken wc programna karakterlerini, szcklerini ve satrlarn saymas iin girdiiniz satrlar bitince imle satr bandayken Ctrl-D tuuna bir kez basmalsnz. Sadece bir kez basmanz nemlidir. ki kez basarsanz kabuk programnza da standart giriin sonuna geldiinizi belirtmi olursunuz ki bu kabuk programnzn iini bitirdiini zannedip sona ermesine ve telnet penceresinin kapanmasna yol aar. Eer yanllkla baslan Ctrl-D tuunun bash kabuunu sonlandrmamasn; onun yerine akca exit komutunun kullanlmas gerekmesini istiyorsanz rnein gibi bir komutla bash kabuunun ancak pepee sekiz tane Ctrl-D baslmas durumunda kendini ldrmesini belirtebilirsiniz. Elbette bu komutu kiisel dizininizdeki .bashrc dosyasna yerletirerek sisteme her balannzda, bir baka deyile sizin iin bash kabuunun her balatlnda bu komutun otomatik olarak almasn salayabilirsiniz. Eer IGNOREEOF ortam deikeninin tm kullanclar iin 8 deerini almasn istiyorsanz export IGNOREEOF=8 komutunu /etc/bashrc dosyasna yerletirebilirsiniz.

export IGNOREEOF=8

212

nemli LINUX Kavram ve Komutlar

Giri ve k Ynlendirmek altrldnda rettii ktlar standart ktya (ekrana) yazan bir komut veya uygulama programnn ktlarn saklamak isterseniz standart kty bir disk dosyasna ynlendirebilirsiniz. Bunun iin program altran komut satrnn sonuna kk bir ekleme yapmanz gerekecektir:
ls -al /tmp > dosya_adi

Yukardaki komutta ls -al /tmp komutu altrlmadan nce standart kt, diskteki alma dizininde yer alacak dosya_adi isimli dosyaya ynlendirilecektir. Bu durumda ls komutunun retecei tm ktlar dosya_adi isimli dosyaya kaydedilecektir. alma dizininde dosya_adi isimli bir dosya zaten varsa ve eriim yetkileri uygunsa ls programnn kts bu dosyadaki kaytlarn zerine kaydedilecektir, yani dosyann eski ierii kaybolacaktr. Baz durumlarda, standart ktnn ynlendirilecei dosyada bulunan eski kaytlar bozmadan yenilerini bunlarn arkasna eklemek isteyebilirsiniz. Bu durumda ynlendirmeyi >> ile yapmanz yeterli olacaktr.
ls -al /tmp >> dosya_adi

almak iin gereksinim duyduu verileri standart giriten (klavyeden) okumak zere yazlm bir programn, sz konusu verileri diskteki bir dosyadan almasn salamak iin standart giri ynlendirmesi yapmalsnz. rnein,
sort < sirasiz_kayitlar

komutu, sralanacak satrlar diskteki sirasiz_kayitlar isimli dosyadan alacaktr. Verilerini standart giriten okuyup, ktsn standart k birimine gnderen programlara filtre programlar denir. sort komutu bu filtre programlara gzel bir rnek oluturur nk program standart giriten gelen kaytlar sralayp standart ka gnderir.

213

Kim Korkar LINUXtan?

Giri ynlendirme ve k ynlendirmeyi birlikte kullanabilirsiniz. rnein sirasiz isimli dosyadaki satrlar sralayp, sralanm satrlar sirali isimli bir dosyaya kaydetmek iin aadaki komutlardan birini kullanabilirsiniz:
sort < /tmp/sirasiz > /tmp/sirali sort > /tmp/sirali < /tmp/sirasiz

STDERR UNIX programclarnn geleneksel yaklamlarndan biri, yazdklar programlarn hata mesajlarnn standart ktda deil, standart hatada (yani STDERRde) belirecek ekilde kod gelitirmeleridir. Aksi belirtilmedike STDERR, ekran ortamdr; ite bu yzden hata mesajlarn da ekranda grrsnz. STDOUT ve STDERR ayrm, gerektiinde hata mesajlarnn ayr bir ortama ynlendirilmesini salar. rnein normal bir kullanc olarak (yani root olmadan)
du -s /

komutunu verirseniz, ekranda

214

nemli LINUX Kavram ve Komutlar

[cayfer@cayfer /]$ du -s /

du: cannot change to directory `/bcc/mail: Permission denied du: cannot change to directory `/bcc/bcc2: Permission denied du: `/etc/cups/certs: Permission denied du: cannot change to directory `/etc/cups/ssl: Permission denied du: cannot change to directory `/etc/skel/tmp: Permission denied du: cannot change to directory `/etc/uucp: Permission denied

gibi hata mesajlar alrsnz. Bu mesajlar aslnda STDOUTa deil, STDERRe gnderilmektedir. Nitekim du komutunu, ktsn /tmp/du_raporu diye bir dosyaya ynlendirmek zere
du -s / > /tmp/du_raporu

eklinde verseniz bile bu hata mesajlar du_raporu dosyasna deil, gene ekrana grntlenecektir. /tmp/du_raporu dosyasna yalnzca diskte kaplad alan baaryla hesaplanabilen dizinlere ilikin satrlar ynlendirilecektir. Bylece; zellikle geri planda alan ilerin hata mesajlaryla terminal penceresini kirletmelerini nlemek ve kaybolmasn diye hata mesajlarn ayr bir dosyada biriktirmek iin STDERRi bir dosyaya ynlendirmek mmkndr:
du -s / > /tmp/rapor 2> /tmp/hatalar &

Yukardaki komuttaki > karakteri STDOUTu ynlendirmek istediinizi; 2> karakterleri ise STDERRi ynlendirmek istediinizi; en sondaki & ise program geri planda altrmak istediinizi belirtmektedir. Standart Giri ve Standart k kavramlarnn yan sra, LINUX iletim sisteminde, iyi kavranmas gereken birka nemli kavram daha var. Bu kavramlar, ilk okuduunuzda ok kark ya da anlalmaz gelebilir; ama LINUX sistem yneticisi olma yolunda ilerlemeyi dnyorsanz ltfen dikkatlice okuyunuz, gerek duyarsanz baka kaynaklara bavurunuz ama bu kavramlar anlamadan gemeyiniz. Bu kavramlar: ekirdek... ngilizce, daha dorusu UNIXesiyle kernel, Dosya Sistemleri; UNIXesiyle file systems, Sreler; UNIXesiyle process,

215

Kim Korkar LINUXtan?

Balantlar; UNIXesiyle links, pipe kavram.

ekirdek: Kernel
Modern iletim sistemleri, tm ilevlerini yerine getirecek modlleriyle birlikte bellee yklenmezler. Bunun en nemli nedeni bellekten tasarruf edebilmektir. letim sistemi ne kadar az bellek kullanrsa uygulama programlarna o kadar fazla bo bellek kalacaktr. Bu nedenle modern iletim sistemleri, bellekte kalmas kanlmaz ve kernel ad verilen ekirdek modller ve bunun etrafnda gerektike bellee yklenen yan modller topluluu olarak gelitirilir. LINUX ekirdeinin temel grevleri bellek ve sreleri denetlemek ve donanm birimlerini ynetmektir. rnein, ekirdek, bilgisayara takl olan IDE disk srclerin tm teknik ayrntlarnn farkndadr. Dnme hzndan yazc kafann nasl hareket ettirileceine kadar ince ayrntlar bilir. Benzeri ekilde ses arabirimlerini, Ethernet arabirimlerini tanyp bunlar denetleyebilen yazlmlar birer ekirdek modldr. UNIX ve dolaysyla LINUX ekirdeklerinin en nemli zellii, tandklar bu evre birimlerini dier iletim sistemi modllerine ve uygulama programlarna birer zel dosyaym gibi gstermeleridir. UNIXin 30 yl akn bir sredir bilgisayar dnyasnda baaryla yer alabilmesinin en nemli nedeni ekirdein bu zelliidir. ekirdek iin IDE elektronik arabirim standardnda retilmi, 7200 rpm hznda dnen, 6 plakas ve 12 okuma-yazma kafas olan bir disk, ekirdek dnda kalan modller iin /dev dizini altnda yer alan hda isimli bir zel dosyadr (node). Benzer ekilde bilgisayarn birinci disket srcs /dev/fd0, birinci Ethernet kart /dev/eth0dr. Sistemin al srasnda ilk yaplan ilerden biri ekirdein bellee yklenmesidir. ekirdek bellee yklenince sistemin denetimini zerine alacak, al tamamlamak zere gereken modlleri kendisi ykleyecek; ii biten ya da bekleyebilecek modlleri bellekten atacaktr. Baz iletim sistemi ilevlerini yerine getiren yazlm modlleri ekirdekte yer almaldr. rnein, bellein yetmemesi durumunda disk takas alanlarnn bellek gibi kullanlmasn salayan modller her zaman gerek bellekte (RAM) bulunmaldr. Eer bu modller bellek yetmiyor diye diske atlrsa

216

nemli LINUX Kavram ve Komutlar

bir daha onlar gerek bellee geri almak mmkn olmaz. Benzeri ekilde diskin nasl kullanldn bilen modl, bellekte yer amak iin diske atlrsa, geri yklenmesi olanaksz olacaktr. letim sisteminin baz modlleri de performans asndan her zaman bellekte yer almaldr. Sistemde yksek ncelikle alan ve hibir zaman sanal bellek ilemlerine tabi tutulmayan sreler genellikle ekirdein bir paras olacak ekilde gelitirilmitir. rnein disk kotas denetimleri, IP paket filtreleme ileri, IP paket ynlendirme ileri olabildiince yksek performans gerektiren iler olduklar iin ekirdekte yer alan programlarla yaplrlar. Ancak, her ii ekirdekte halletmek de olas deildir. Bata LINUX olmak zere, moderm iletim sistemleri, tm modlleriyle birlikte bellee yerletirilemeyecek kadar byktr. Modern LINUX srmleri bu sorunu Loadable Kernel Modules; yani yklenebilir ekirdek modlleri kavramyla zmtr. Kendi ekirdeinizi oluturmanz iin imdilik bir neden grememekle birlikte LINUXun kaynak kodlarn yeniden derleyerek kendinize zel bir ekirdek oluturmanzn mmkn olduunu belirtmeden geemeyeceiz.

Dosya Sistemleri
Microsoftun MS-DOS/Windows iletim sistemlerinde dosya ve dizinlerin yerini belirtirken A:, C: gibi src isimleri kullanlmas tercih edilmitir. Bir baka deyile, kullanclar kullandklar bilgisayara bal disklerin saysn ve isimlerini bilmek ve ilgilendikleri dizin ya da dosyalarn bu fiziksel ortamlardan hangisinde bulunduunu bilmek ve gerektiinde belirtmek zorundadr. LINUXta durum biraz, hatta olduka farkldr. imdilik, LINUX bilgisayarnzn tek bana (bir bilgisayar ana bal olmakszn) alan bir bilgisayar olduunu varsayalm. Bilgisayarnzn iki disk, bir disket, bir de CD-ROM srcs olsun. Disklerinizden ilki en az 2 paraya (partition) blnmtr. (Bir blm LINUX iletim sistemi iin, ikincisi de takas alan iin; hatrladnz m?) kinci diskiniz ise byk olaslkla tek paradr.

217

Kim Korkar LINUXtan?

Yukardaki varsaymlarmza gre bilgisayarnzn be diski varm gibi dnebilirsiniz. (ki paraya ayrlm birinci disk ve tek para olan ikinci disk, disket src ve CD-ROM src.) MS-DOS ya da Windows kullanyor olsaydnz, bu disklere A:, C:, D:, E: ve F: isimleriyle eriirdiniz. imdi sk durun: LINUX kullanclarnn, disklerin ne ekilde ayrlm olduundan, hatta bilgisayarda ka disk srcs bulunduundan haberi olmas bile gerekmemektedir. LINUXta tm diskler ve disk blmleri (partition), disket srcler ve CD-ROM srcler, /dev dizinin altnda birer alt dizin olarak yer alr. ematik olarak gstermek gerekirse:
/

/dev/hda /usr

/dev/hdb /home

/dev/fd0 /mnt/floppy

/dev/cdrom /mnt/cdrom

Her disk ve disk paras zerinde dierlerinden bamsz bir dosya sistemi (file system) bulunmaldr. Dosya sistemi, dorudan eriimli bir veri saklama biriminde (disk, disket, CD-ROM gibi) dolu ve bo alanlarn ynetimini, dizin ve dosyalarn yaratlmasn, silinmesini ve en nemlisi bunlara hzl eriimi salayan bir veri yaps bulundurur. Bu veri yaplar disklere formatlama (bir trl biemleme demeye alamadk; zorla deil ya...) srasnda kaydedilir. zet olarak, dosyalar oluturan disk alan bloklarnn diskin fiziksel olarak nerelerinde yer aldnn, bu bloklarn kime ait olduklarnn ve eriim haklarnn sakland veri yaplarna dosya sistemi (file system) denir. LINUXta disklerinizde kullanabileceiniz birden fazla dosya sistemi seenei vardr. Biz, ext3 ad verilen sistemi kullanmanz neririz.

218

nemli LINUX Kavram ve Komutlar

LINUXta dosya sistemleri, diskler (daha dorusu disk blmleri) zerinde, formatlama ileminden sonra mke2fs, mkreiserfs gibi komutlarla yaratlr. (Merak etmeyin; bu ii sistem kurulumu srasnda farketmeden yaptnz bile.) Hatrlarsanz LINUXunuzu kurarken root (/) dizininin hangi disk blmne balanacan belirtmitiniz. (/dev/hda6 gibi) te hiyerarik LINUX dosya yapsnn en tepe noktas bu root dizinidir. Sisteminizdeki tm disk blmleri, diskler, disket srcleri, CD-ROM srcleri, hatta baka bilgisayarlar zerinde eriebileceiniz disk/dizinler hep bu root dizinin altnda alt dizinler olarak grnr. rnein, /home dizini (kullanclarn kiisel dizinlerinin yer ald dizin) bilgisayarnzn ikinci diski zerinde olabilecei gibi / disk blmnde yer alan gerek bir alt dizin de olabilir. zellikle merak edip bakmadka bir dizinin hangi diskte yer aldn gremezsiniz. Yani ls komutu size bir dizinin hangi disk blmnde ya da srcde yer aldn sylemez. Bilgisayarnzda disk blmlerinin ve disket src gibi evre birimlerinin hangi dizinler altnda eriilebilir olduunu grmek iin mount komutunu kullanabilirsiniz. rnein, tek diskli ve bu diskte hem LINUX hem Windows barndran bilgisayarda verilen mount komutu aadaki gibi bir rapor retir:

219

Kim Korkar LINUXtan?

Ayn komutu daha karmak disk yaps olan, rnein birden fazla diski olan ve bu diskleri de ayrca blmlendirilmi olan bir bilgisayarda verirseniz alacanz rapor aadakine benzer ekilde olacaktr:

Evet, biliyoruz! Feci bir grnt ama zamanla allyor. LINUX sistem yneticisi olmak kolay deil. aka bir tarafa; bu ilerin ounu KDE veya GNOME altnda altrabileceiniz ynetim aralaryla da yapabilirsiniz. Ancak LINUXu konsol komutlaryla kullanabilecek ekilde renmek sizin iin ok daha yararl olacaktr. LINUX dnda UNIX makinelerin bana getiinizde de i yapabilmeniz iin KDEsiz, GNOMEsuz yaamay renmelisiniz. Yararl bilgiler ieren satrlar griye boyadk. Dier satrlar yararsz deil elbette ama imdilik o satrlar anlamaya almak iin erken. Bu listeyi dikkatlice incelediinizde, bilgisayarda sadece iki fiziksel disk bulunduunu (sadece /dev/hda ve /dev/hdc serisi disklerin ad geiyor) ve bu disklerin birinci IDE kanalnn ilk diski (Primary master, hda) ve ikinci IDE kanalnn da gene ilk diski (Seconday Master, hdc) olduunu greceksiniz. Bu arada unu da belirtmek gerekir: Bu bilgisayarda baka diskler de takl olabilirdi; rnein /dev/hdd diye bir disk de olabilirdi.

220

nemli LINUX Kavram ve Komutlar

/dev/hda1 on / type ext3 (rw)

/dev/hdc2 on /depo type ext3 (rw)

satr, bilgisayarn birinci IDE kanalnn ilk diskinin (hda) bir numaral blmnn (hda1) bu sistemin root dizini olarak kullanldn gsteriyor. Ayrca bu disk blmnn okunabilir ve yazlabilir (rw) durumda olduunu ve ext3 dosya sistemi formatnda yaratldn gsteriyor.

satr, bilgisayarn ikinci IDE kanalnn ilk diskinin (hdc) iki numaral blmnn (hdc2) bu sistemin / dizini altndaki depo isimli bir dizine balandn gsteriyor. Yani bu diske bakmak isteyenler /depo dizinine bakmallar. Ayrca bu disk blm zerindeki dosya sisteminin ext3 olduu ve u anda okunabilir/yazlabilir durumda olduunu gsteriyor. Tabii yetkisi olanlar iin...
none on /mnt/cdrom type supermount (rw,dev=/dev/cdrom,fs=iso9660)

satr, bilgisayarn CD srcsnn (/dev/cdrom) sistemin /mnt dizinin altnda cdrom isimli bir dizine (/mnt/cdrom) balandn gsteriyor. En bataki none, CD srcde u anda bir CD bulunmadn belli ediyor. Ayrca bu dizine iso9660 dosya sistemine (standart CD dosya sistemidir) sahip CDlerin taklabilecei ve bu CDlerin oku/yaz kullanlabileceini gsteriyor; yani /mnt/cdrom, yazlabilir CDleri de destekliyor. supermount szc bu srcye bir CD takldnda LINUX ekirdeinin bu CDyi belirtilen dizine otomatik olarak balayacan gsteriyor. Srcye bir CD takp iine bakmak isteyen birisi /mnt/cdrom dizinine bakmaldr. Benzer bir mantk disket srcler iin de kullanlr.
none on /mnt/floppy type supermount (rw,dev=/dev/floppy,fs=vfat)

satr, bilgisayarn disket srcsnn (/dev/floppy) sistemin /mnt dizini altndaki floppy isimli bir dizine (/mnt/floppy) balandn gsteriyor. Yani disket takp iine bakmak isteyen birisi /mnt/floppy dizinine bakmaldr. Ayrca bu dizine vfat dosya sistemine (standart MS-DOS disket dosya sistemidir) sahip disketlerin de taklabileceini gsteriyor. supermount szc bu srcye bir disket takldnda LINUX ekirdeinin bu disketi belirtilen dizine otomatik olarak balamaya alacan gsteriyor.

221

Kim Korkar LINUXtan?

Gene yukardaki rapora gre hda diskinin sekiz numaral blm (hda8) /home dizinine, be numaral blm /var dizinine; yedi numaral blm de /var/spool/mail dizinine balanmtr. zerinde bir dosya sistemi olan bir disk birimine veya blmne okuma veya yazma amacyla ulaabilmeniz iin, o dosya yapsnn, / dosya yapnzda bir yerlerdeki bir alt dizine mount edilmi (ilitirilmi) olmas gerekmektedir. (/ dizini, bilgisayarn almas srasnda otomatik olarak ilitirilmektedir. Eer bu / dizini, bilgisayarn almas aamasnda balanamazsa, o bilgisayar zaten alamaz.) Bir bilgisayarda mount edilmi disk ve disk blmlerini daha ksa ve anlalr ekilde grebilmek iin df komutunu da kullanabilirsiniz.

Sistemin al srasnda eitli dizinlere otomatik olarak ilitirilmesi istenen disk blmleri /etc/fstab dosyasnda belirtilir. imdilik bu dosyayla ilgili bir ey sylemek istemiyoruz; biraz erken. Sisteminize kurulum srasnda yerletirilen /etc/fstab dosyas daha uzun sre iinizi grecektir. Bu dosyann ieriini merak ediyorsanz more /etc/fstab komutuyla grebilirsiniz. LINUXtaki dosya yaplarn ters duran bir aaca benzetirsek, dosya sistemlerini ilitirme ilemini, bir aac, bir baka aacn dallarndan birine ilitirmek (monte etmek) gibi dnebilirsiniz.

222

nemli LINUX Kavram ve Komutlar

/ home bin disk2 /mnt/cdrom /mnt/floppy

yedek ...

proje

docs data

mp3

foto

mp3

kinci disk zerindeki dosya sistemi

CD zerindeki dosya sistemi

Disket zerindeki dosya sistemi

LINUX iletim sisteminde mount komutu yalnzca balanm diskleri listelemek iin kullanlmaz. Sistem alrken disklerin balantsn zmek, yeni disk ya da disk blmlerini balamak iin de kullanlr.
mount etmek derken disklerin bilgisayara fiziksel olarak taklp karlmasndan sz etmiyoruz! O ii bilgisayar kapatmadan yaparsanz banz derde girer.

mount komutunu bu ekilde kullanabilmek iin root kullanc yetkilerine sahip olmanz gerekecektir; yani eer root kullanc deilseniz, mount komutunu yalnzca parametresiz olarak kullanmanza izin verilecektir. mount ko-

mutu hakknda daha ayrntl bilgiyi sistem ynetimi ile ilgili blmlerde bulabilirsiniz.

223

Kim Korkar LINUXtan?

Disket srcleri ve CD-ROM srclerini de kk birer disk src olarak dnmelisiniz; bu nedenle, bu srcleri kullanlabilmeniz iin nce lp karlabilir birimler olduklarndan, bilgisayar alrken otomatik olarak / dizini altnda bir yerlere ilitirilmeniz gerekir. Disketler ve CDler, tak-

ilitirilmezler (mount edilmezler). Ancak LINUX ekirdei bu srclere bir disket ya da CD takldnda ve yeni taklan birimi kullanan bir komut verdiinizde bu birimi otomatik olarak ilitirir (supermount). Bu otomatik ilitirme ileminin baarl olabilmesi iin zerinde anlaml bir dosya yaps olan disket ya da CD takmalsnz. Yani formatsz bir disket ya da bo bir CD takarsanz doal olarak otomatik ilitirme ilemi baarl olamayacaktr. Supermount kavramnn bir nemi de root yetkileri olmayan kullanclarnn da sisteme disket ve CD takp karabilmelerini salamaktr. Biliyorsunuz, ilitirme amacyla mount komutunu yalnzca root kullanabilir.

i biten disket ve CDler (bazen de diskler) unmount edilmelidir; yani, bu birimlere takl medyalar zerindeki dosya sistemlerinin, / dosya sistemiyle balants kesilmelidir. Bir dosya yapsnnn bal bulunduu dizinle ilikisini kesmek iin:
umount /cdrom umount /dev/hdc1 umount /var/spool/mail

gibi komutlar kullanlr. Dikkat ederseniz hangi dosya sisteminin umount edileceini, isterseniz src adyla (/dev/hdc1 gibi), isterseniz de bal bulunduu dizin adyla belirtebiliyorsunuz.
umount komutunu kullanabilmeniz iin root kullanc olmanz gerekir. Nor-

mal kullanclarn CD-ROM src ve disket srcleri zebilmeleri iin eject komutunu kullanmalar gerekir.
eject cdrom eject floppy eject

224

nemli LINUX Kavram ve Komutlar

Parametresiz kullanldnda, varsa CDROM srcdeki CD unmount edilir ve kapa alr.


Siz hala sormadnz; bari konuyu biz aalm: mount komutunun verdii lis-

tede sistemin kurulmas srasnda ayrdnz takas alannn (rnein nk takas alan root dahil hi kimsenin eriemeyecei bir alandr. Takas takas alanyla ilgili tek denetim ans takas ilemlerini durdurmak ve barek olmaz.

/dev/hda5) nereye ilitirildiini gremiyorsunuz. Bu son derece normal

alannn ynetimi tamamen LINUX ekirdeine aittir. Sistem yneticisinin latmaktr. (swapon ve swapoff komutlar). Ancak bu ii yapmaya da pek ge-

fsck LINUX dosya sistemleri (ister ext2, ister reiserfs olsun) olduka karmak veri yaplardr. zellikle g kayb ya da reset dmesine baslmas nedeniyle kapanan sistemlerde bu dosya yapsnn bozulma, daha dorusu tutarllnn kaybolmas olasl vardr. Bir dosya sistemi iindeki tutarllk bozulduunda, sistem kullanlmaya devam edilirse sorun gittike byr. Bu nedenle LINUX, sistemin dzgn kapatlp kapatlmadn izlemek iin birtakm mekanizmalar kullanr. Dzgn olmayan bir kapatmadan sonraki ilk aln hemen banda dosya sistemleri zerinde otomatik olarak tutarllk testi balatlr ve bu test bir ekilde baaryla geilmeden sistem tam olarak almaz. Sorun karma potansiyeli olan dosya sistemleri fsck programyla test edilir. Test srasnda rastlanan sorunlarn ou fsck tarafndan otomatik olarak dzeltilir. fsck yapaca bir dzeltmenin tehlikeli olabileceini, yani dzeltmenin baarl olmama olasln hissederse yapaca deiiklik iin izin ister. Genelikle bu izinleri vermek zorundasnzdr. Dosya sistemlerinin tutarl olmas ok nemli olduu iin LINUX her dosya sistemini belli bir sayda; rnein 20 mount edite bir fsck ile kontrol eder. Bu nedenle sisteminizin baz allar altnz sreden uzun srer. Bir dosya sisteminin fsck ile kontrol edilme sresi o diskin byklne baldr. 20 GByte ve olduka dolu bir disk iin bu sre 5 dakika kadar srebilir. Srenin uzun olmas nedeniyle, birden fazla dosya sistemi kontrol edilecekse fsck kendi kendinin gerei kadar kopyasn paralel olarak balatr.

225

Kim Korkar LINUXtan?

Tipik LINUX bilgisayarlarn ylda, bilemediniz 3-5 kez kapatlmas gerekebileceini dnrseniz, bu 20 seferde bir otomatik fsck balatlmasnn kullanclar ve sistem yneticisini pek de rahatsz etmeyeceini belirtmeliyiz.

Sreler
LINUX iletim sisteminin ok kullancl ve ok ili bir iletim sistemi olduunu imdiye kadar birka kez vurgulamtk. Burada bir daha aklamak gerekirse; LINUX iletim sisteminin denetimindeki bir bilgisayar ayn anda birden fazla kullancya hizmet edebilir. Her kullanc iin birden fazla program altrabilir; ve bu arada geri planda eitli servisler altrlarak a zerinden gelen isteklere de yant verilebilir. (Veritaban sunucusu, web sunucusu gibi) Bir LINUX bilgisayar zerinde alan iler: Kullanc programlar, Servis (sunucu) programlar ve Sistemin kendi gereksinimi iin altrlan programlardan oluur. letim sistemi, yneticisinin ve kullanclarnn belirttii iler dnda kendi ilerini de bir sr program ayn anda altrarak yrtr. rnein, at komutuyla belli bir tarih ve saatte balatlmas gereken ileri izleyen atd program gibi; bilgisayar a zerinden gelebilecek TCP/IP isteklerini deerlendiren inetd program gibi, belirli aralklarla disklere yaplan kayt ilemlerinin fiziksel olarak disklere kaydedilmesi iini dzenleyen (flushing disk buffers) update program gibi sistem yazlmlar geri planda alr. Kimi srekli alr, kimi de gerektii zaman alr, ii bitince durur. Tipik bir LINUX bilgisayarnda, kullanc programlar dnda ok sayda sistem program srekli alyor durumdadr. Bir LINUX bilgisayarnda, belirli bir anda, merkezi ilem birimini (ya da birimlerini) ve bellei paylaarak birlikte alan programlara genel anlamda sre (process) ad verilir. Sre kavram program kavramndan biraz daha deiiktir. Bir program birden fazla sreten meydana gelebilir; hatta tek bir sre olarak almakta olan bir program gerek grdnde kendisinin bir kopyasn karp onu da yeni bir sre olarak altrmaya balayabilir. Bunun en yaygn rnei web sunumu iini yapan httpd (apache) ve veritaban

226

nemli LINUX Kavram ve Komutlar

ynetim/sunum iini yapan mysqld yazlmlardr. Sistem yneticisi, sistemin al srasnda bu programlardan birer tane balatr. Bu programlar, a zerinden istek geldike kendi kendilerinin kopyalarn karp onlar da altrmaya balarlar. (LINUX dilinde spawn ve fork) Srelerin Merkezi lem Birimi (MB) zamann paylamalar iletim sisteminin ekirdei tarafndan koordine edilir. MB paylamna ilikin nemli bir terim de zaman dilimi (time slice) kavramdr. Her sre, MBni belirli ve ksa bir sre (tipik olarak 10-100 milisaniyelik zaman dilimleri) iin kullanabilir. Zaman dilimini dolduran sreler beklemeye alnp, MB, srada bekleyen bir baka srece tahsis edilir. Bu ekilde tm sreler ayn anda alyormu gibi bir etki elde edilir. Bu srelerin birden fazla kullancya ait olmalar durumunda da, MB kullanclar arasnda paylatrlm olur. Eer bilgisayarda birden fazla MB varsa, LINUX ekirdei ileri bu MBlerine otomatik olarak databilir. LINUXun ok kullancl olma zelliinin altnda yatan temel mekanizma budur. Herhangi bir anda, bilgisayarda alan srelerin neler olduunu grmek isterseniz,
ps ax

komutunu kullanabilirsiniz.

227

Kim Korkar LINUXtan?

ps ax komutuyla alnan alan sreler listesi genellikle ok uzundur. (Tipik olarak 300 satr kadar.) Yalnzca iinde almakta olduunuz kabukla ilgili sreleri grmek iin ps komutunu parametresiz olarak kullanabilirsiniz. Kendinize ait sreleri grmek isterseniz (farkl kabuklar iinde alyor olabilirler) kullanmanz gereken komut: ps u cayfer

gibi olmaldr. Her srecin PID (Process ID) denilen kendine zg bir numaras vardr. Bir srele bilgi alveriinde bulunmak ya da o srece mesaj gndermek isteyen dier sreler, bu numaralar kullanrlar. rnein 4261 numaral sreci kesmek (LINUX terminolojisinde ldrmek) iin bu srece kendini ldr anlamnda bir mesaj gndermek gerekir. LINUXta temel baz haberleme ileri iin numarayla ve harf dizileriyle kodlanm mesajlar vardr. rnein bir sreci ldrmek istiyorsanz o srece kendini ldr anlamnda 9 mesajn gndermeniz yeterli olacaktr. Tabii ki, bu srecin sizin sznz dinleyip intihar etmesi iin sizin ya root olmanz ya da sreci balatan kullanc, yani srecin sahibi olmanz gerekir. alan srelerin listesini daha ayrntl bir ekilde grmek isterseniz
ps alx

komutunu kullanabilirsiniz.

228

nemli LINUX Kavram ve Komutlar

Bu listedeki nemli bilgiler unlardr:


ps Komutu Rapor Ayrntlar Bilgi Alan UID PID Aklama

Srecin sahibinin saysal kullanc kodu. (Process ID) Sre tantm numaras. Sreci bir baka sre balattysa o srecin numaras. (Parent Process ID) (Teletype: ok eskilerden kalan bir alkanlk.) Srecin hangi terminalden balatldn belirtir.
?: Herhangi bir teminalden deil, sistemin kendisinin ptsN: (pts1, pts2 gibi) A zerinden balanm ttyN: (tty1, tty2 gibi) Seri arabirim zerinden

PPID TTY

balatt sreleri gsterir.

kullanclar tarafndan balatlm sreleri gsterir.

(modemle balant gibi) bal kullanclar tarafndan balatlm sreleri gsterir.

STAT

(Status) Srecin bulunduu duruma ilikin bir kod. R (Runnable): alabilir durumda, srasn bekliyor. S (Sleeping): Uyuyor. Bir eylerin olmasn bekliyor Z (Zombie): Bu sre ile balantl tm dier sreler bitmi veya lm; bunun da bitmi olmas gerekirdi ama bir nedenle lememi. ps listesinde hl grnyor olmas zararszdr. Srecin ne kadar zamandr altn gsterir. Sreci balatan komut satrdr. (Varsa)

TIME

COMMAND

229

Kim Korkar LINUXtan?

eytanlar (Daemons) LINUX sreleri arasnda daemon (deymn diye okunur) szcyle tanmlanan bir zel sre eidi vardr. Bunlarn normal srelerden tek fark hibir ekilde konsola ya da ekrana mesaj gndermemeleridir. Daemonlar geri planda sessizce alrlar. Eer balarna kayda deer bir i gelirse bunu /var/log/syslog dosyasna ya da kendi log dosyalarna kaydederler. Genellikle sistemin alyla birlikte balatlp sistem kapanncaya kadar srekli alrlar. Bir kural olmamakla birlikte daemon tipi srelere ilikin programlarn isimleri genellikle d harfiyle biter. (httpd, ftpd, named gibi)
Daemon, ngilizcede eytan, zebani anlamnda kullanlan bir szcktr. Geri planda sessizce ama srekli alan programlara daemon ad verilmesinin ilgin bir nedeni var: Byk fiziki Maxwell, gazlarn dinamiini kolay anlatmak iin iki blml hayali bir kutu tasarlam. Kutunun iki blm arasnda ancak bir gaz molekl geebilecek kadar bir delik olduunu ve ancak yeteri kadar kinetik enerjiye sahip molekllerin bu delikten dier tarafa geebileceini sylermi. Molekllerin kinetik enerjileri de scaklklaryla doru orantl olduu iin bir sre sonra kutunun iki blmnn ssnn eitleneceini byle aklarm. Kavram dramatize etmek iin de deliin banda bir zebaninin oturduunu ve delikten gemeye alan tm molekllerin enerji dzeylerini kontrol edip ancak yeteri kadar hzl olanlarn gemesine izin verdiini anlatrm. (Maxwellin eytan hakknda daha ayrntl bilgiyi Bilim ve Teknik dergisinin Haziran 2003 saysnda bulabilirsiniz. MULTICS iletim sistemini gelitiren ekipte yer alan ve asl meslei fizik olan Fernande J. Corbato da arka planda sessizce alp dier sreleri denetleyen programlara, Maxwellin zebanisinden esinlenerek daemon adn vermi.

Daemonlara klasik rnekler olarak httpd ve named gsterilebilir. httpd web sunucu yazlm, named ise www.pusula.com gibi alfabetik internet adreslerininin saysal IP karlklarn bulan DNS yazlmdr. Bazen daemon tipi sreler lebilirler. Bunun nedeni genellikle programn bir hatas ya da iinden klamaz bir sorun yznden sistem yneticisi tara-

230

nemli LINUX Kavram ve Komutlar

fndan zellikle ldrlmeleridir. Byle durumlarda daemon programn yeniden balatlmas ounlukla sorunu zer. Sre ldrmek Diyelim ki balattnz bir i kontrolden kt ve istediiniz ya da beklediiniz gibi davranmyor ya da yanl i balattnz farkettiniz. Doal olarak bu ii hemen kesmek istiyorsunuz. lk denemeniz gereken Ctrl-C tuudur. Olmazsa Ctrl-D tuu... (Fazladan basacanz Ctrl-D kabuk programnz sona erdirip terminal ekrannzn kapanmasna neden olabilir.) Ctrl-C ve Ctrl-D tularyla bir sreci ldrebilmeniz iin, o srecin altrld ekrann ak olmas ve daha nemlisi o srecin sahibi olmanz gerekir. ldrmek istediiniz bir program Ctrl-C veya Ctrl-D tularyla ldremiyorsanz o programa ilikin srecin numarasn renip, srece l mesajn gndermeniz gerekir. Bunun iin: 1. Sre size ait deilse root kullanc olun. Bunun iin herhangi bir telnet penceresinden,
su -

2. Uygun bir ps komutuyla (ps ax) almakta olan srelerin bir listesini aln. 3. Bu listeye bakarak sorun karan srecin numarasn renin. (Diyelim ki 5443)

komutunu verip ardndan sorulan ifreyi girin.

4. kill 5443 komutuyla 5443 numaral srece kendini ldr mesajn gnderin. 5. Tekrar ayn ps komutunu kullanarak srecin listeden kaybolup kaybolmadn kontrol edin. 6. Eer sorun yaratan sre hala direniyorsa,
kill -9 5443

komutuyla biraz daha sert bir emir olan kendini koulsuz ldr (geber) mesajn gnderin.

231

Kim Korkar LINUXtan?

Gene olmad diyelim. Sreci hl ldremiyorsanz, kabuk programnz ldrmeyi deneyiniz. Hl direniyorsa, ba bozuk sreci ylece brakmay da dnebilirsiniz. Bu srecin sisteme ne kadar yk getirdiini top komutuyla grebilirsiniz. Eer bu sre performans asndan ya da bir baka ekilde sorun karmyorsa brakn ortalkta zombi gibi srnsn. Yok eer sorun karyorsa sisteminizi dzgn olarak kapatp tekrar an.
Sisteminizde denetimden km, ldremediiniz sreler varsa ve bunlar dier ileri bozuyorsa sisteminizi kapatp amaktan baka seeneiniz kalmam demektir. Ancak byle bir durumda bile bilgisayarnz elektrik anahtarndan kapatmay veya reset dmesine basmay aklnzdan dahi geirmemelisiniz! LINUX altnda alrken byle bir durumla karlama olaslnzn ok ok dk olduunu belirtmek isteriz.

Baz programlar bellekte birden fazla kopya olarak yer alr ve alrlar. Bunun en ok rastlanan rneklerinden biri ok sayda pencerede alan Mozilla ya da Netscape web tarayclardr. Bu yazlma ait srelerin hepsini birden ldrmeniz gerekirse, teker teker sre numaralarn bulup ldrmektense

killall -9

numaras deil sre ad belirtiliyor. Web taraycnzn alrken balatm olduu srelerin isimlerini bilmiyorsanz ps ax komutu iinize yarayacaktr.

komutunu kullanabilirsiniz. Dikkat ederseniz killall komutunda sre

mozilla-bin

Link Kavram ve ln Komutu


imdi biraz mistik bir konudan sz edeceiz. LINUX iletim sistemi altnda baz dosyalar aslnda bulunduklar yerde olmayabilirler. Evet, yanl okumadnz! Diskin zerinde yer alan baz dosyalar aslnda orada olmayabilir; hatta bir dosyann sistemde tek bir kopyas olmasna ramen, bu dosya birden fazla dizinde, stelik farkl isimlerle yer alabilir. Kavramas ve kullanmas zor bir kavram fakat bir kez mecbur kalp da kullandnz m hounuza gideceine emin olabilirsiniz.

232

nemli LINUX Kavram ve Komutlar

Galiba en iyisi bir rnekle anlatmak: Farzedin ki, bilgisayarnza matlab isimli yeni bir uygulama program yklemeniz gerekiyor. Ancak, programn bir gerei olarak, program paketine ilikin dosyalarn /usr/local/matlab diye bir dizinin altna yer almas gerekiyor. Eh! Olabilir. Ancak bir sorun var! /usr diskinde, yeni programa ilikin dosyalar iin yeterli bo yer yok ve burada silebileceiniz gereksiz dosyalar da yok! te mistik ln kavram, bu problemi LINUXun anna yarar bir yntemle zmenizi salar. Yeteri kadar bo yeri olan disk blmlerinden birinde, rnein /home dizininin bulunduu disk blmnde, yeni ykleyeceiniz program iin bir dizin yaratnz: (/home dizini altnda yeni dizin yaratabilmek iin root kullanc olmanz gerekecektir.)
mkdir /home/matlab

Sonra, bu dizini, /usr/local altnda yer alyormu gibi gsterebilmek iin,


ln -s /home/matlab /usr/local/matlab

komutunu veriniz. Bylece, gerekte /home altnda yer alan matlab dizini, ayn zamanda /usr/local altnda da varm gibi olacaktr. Bu dizini kullanrken isterseniz /home/matlab, isterseniz /usr/local/matlab dizin adreslerini kullanabilirsiniz. Bylece matlab dizinini /usr/local altnda grmek isteyen matlab yazlmn kandrm oldunuz. Link kavramnn ok ie yarayabilecei, bir ncekine benzeyen bir senaryo daha anlatabiliriz. Diyelim ki, elinizde mhsb2002 isimli bir dosya var ve muhasebe departmannn kulland muhasebe program bu dosyay mutlaka bu isimde grmek istiyor. te yandan yeni satn aldnz bir mali analiz program, ayn muhasebe verilerini acct2002 adyla grmek istiyor.

233

Kim Korkar LINUXtan?

Sz konusu dosyann ad mhsb2002 olduu zaman muhasebe departmannn sorunu yok ama siz mali analiz programn altramyorsunuz. Analiz almalar iin dosyann adn deitirseniz, siz alabiliyorsunuz ama bu sefer muhasebe departmanndaki program kullanlamyor. Dosyann adn mhsb2002 olarak tutup, kendi analiz almalarnz iin acct2002 adl bir kopyasn karmak da dnlebilir ama ok kullancl ortamda siz analizler zerinde alrken te taraftan muhasebe personeli yeni kaytlar girip sizin analizlerinizi eskimi kaytlar zerinde yapmanza neden oluyorlar. te byle bir durumda link kavram ve ln komutu gene sizi kurtaracaktr. Bu komutla mhsb2002 dosyasn acct2002 isimli bir dosyaya baladnzda (aslnda sadece tek bir asl kopya var; o da mhsb2002. acct2002 isimli bir dosya ise aslnda yok, acct2002 asl dosyann bir baka ad), bu sayede mhsb2002 dosyasnda yaplan her deiiklik acct2002 diye tannan dosyada da aynen gzlenebilecektir. in bir baka yararl taraf da, acct2002 isimli dosyann diskte hi yer kaplamayacak olmasdr. Bu rnekler arasnda, dikkatinizi ekmi olduunu umduumuz nemli bir fark var. lk rnekte, yani matlab rneinde, ln komutunda -s diye bir parametre kullandk; oysa ikinci muhasebe rneinde kullanmadk! Eer ln komutuyla birbirlerine balanacak olan dosya sistemi elamanlar birer dizinse; -s parametresini kullanmak zorundasnz.
ln ./mhsb2002 ./acct2002

Eer ln komutuyla birbirlerine balanacak olanlar birer dosyaysa ama farkl dosya sistemlerindeyse (rnein, farkl disklerdeyse), gene -s parametresini kullanmak zorundasnz. ln komutuyla, bir dizini ve bir dosyay birbirlerine balayamazsnz. Balanacak olanlarn ikisi de dizin, ya da ikisi de dosya olmaldr.

Ayn dosya sisteminde yer alan ve -s kullanlmadan balanm olan dosyalardan birini silmeniz dierini etkilemez. Asl dosyay silseniz bile, LINUX balanty fark edip dosyay diskten gerekten silmeyecektir. LINUX her dosya iin yaplm balantlar sayar ve her silme ileminde balant saysn bir azaltr. Gerek silme ii bu balant says sfrlannca yaplr.

234

nemli LINUX Kavram ve Komutlar

Farkl dosya sistemlerinde yer alan balantlar iin bu balant sayma iine gvenmeyiniz. Farkl dosya sisteminde balants olan bir dosyay silerseniz banz derde girer. Asl dosya silinir ve dier sistemde gerekte var olmayan bir dosyay gsteren bir balantnz kalr.

Bir dosyann gerekten var olan bir dosya m, yoksa sadece bir balant m (link) olduunu anlamak iin ls komutunu -l seenei ile kullanmanz gerekir. inde balantl dosyalar bulunan bir dizinde ls -l komutunu vererek, alacanz listede balantl dosyalar ve hangi dosyaya balantl olduklarn aka grebilirsiniz.

Bu rnek listeye gre, aslnda /etc/rc0.d diye bir dosya bulunmad, bu isimde /etc dizini altndaki rc.d dizinin altndaki rc0.d dosyasna bir balant yaplm olduu anlalmaktadr. (/etc/rc0.d rc.d/rc0.d) Dikkat ederseniz, ls -l komutunun verdii listede, gerek bir dosya (dizin) deil de, balant olan dosyalara (dizinlere) ait satrlarn banda bir l harfi bulunmaktadr. pin ucunu karmayacanza eminseniz, balantlara balant yapabilirsiniz.

Pipe Kavram
Pipe (boru) kavram, daha nce aklam olduumuz Giri/k Ynlendirme kavramyla kolayca kartrlan, bu yzden de dikkatle ele alnmas gereken bir kavramdr. Ksaca bir tekrarlamak gerekirse; k ynlendirme (>), altrlan bir programn, standart kt birimine yazaca satrlarn bir dosyaya ynlendirilmesi ilemidir. Ayn mantkla, verilerini standart giri biriminden okuyan programlar iin giri ynlendirme (<); verilerin bir dosyadan okunmasn salayan ilemdir.

--

235

Kim Korkar LINUXtan?

Piping ilemiyse, gene bir eit ynlendirmedir; ancak, bir programn standart kts, bir baka programa standart girdi olarak ynlendirilir. Pipe kurmak iin, ayn komut satrnda en az iki program birden balatmal ve bu iki programa ilikin komutlarn arasna karakterini yerletirmeniz gerekir. imdi grep ve more komutlarn birlikte kullanarak (biliyorsunuz; pipe kurmak iin en az iki komut gerekiyor) pipe kavramnn kullanmna birka rnek verelim: (grep programn imdilik ylesine bir komut olarak dnn ltfen. grep hakknda syleyecek o kadar ok ey var ki, ona da drtbe sayfa ayrdk.)
grep ayfer * more --

Bu komut satrnda grep ve more programlar ayn anda balatlyor. ayfer ve * grep programna parametre olarak gnderiliyor. grep programnn kts ise more programna girdi olarak ynlendiriliyor. grep ayfer * komutu alma dizini iindeki dosyalarda ayfer karakter dizisini arar ve bulduu dosyalarla bu dosyalar iinde ayfer szc geen satrlar standart kt birimine listeler. Eer bu liste ok uzunsa, terminal pencerenizin iinde akar gider ve siz pek bir ey gremezsiniz.
grep programnn ok uzun olabilecek ktsn more programna girdi olarak ynlendirdiinizde more program standart giriten gelen satrlar iinde

bulunduu terminal ekranna sayfa sayfa listeleyecektir. Ekran her dolduunda sol alt kede -- more -- iareti grnecek ve listelemeye devam edilmesi iin sizin bir tua basmanz beklenecektir. Bir baka rnek:
ps ax grep in.named --

grep kendisine gnderilen satrlar arasnda, iinde in.named szc geenleri bulur ve sadece bu satrlar listeler.

ps programnn ax parametresiyle kullanldnda olduka uzun olabilecek ktsn grep programna girdi olarak gnderir,

ps ve grep programlarn birlikte balatr,

236

nemli LINUX Kavram ve Komutlar

imdi de sk bir pipe rnei...


echo Sistemde

`who

wc -l` kullanici var

Bu komut satrnda birka kademeli bir ilem yaplmas istenmektedir. Ayrca bu komutta kullanlan trnak iaretinin karakter dizilerini snrlayan trnaktan olmadna, Q-Trke klavyede virglle ayn tuta yer alan ters trnak iareti olduuna dikkatinizi ekeriz.
who ve wc programlar birlikte balatlacak ve who programnn kts standart giriindeki satr, kelime ve karakterleri sayan wc programna gnderilecektir. (-l seenei yanlzca satrlarn saylmasn salyor.) wc programnn ktsysa, (who komutunun listeledii satrlarn says) trnaklar arasna

yerletirilerek; rnein kullanc varsa, Sistemde 3 kullanc var dizisine dnecektir. Bu dizi de echo programna girdi olarak transfer edilecektir. echo program ise parametrelerini aynen ekrana gnderir. Bylece ekranda Sistemde 3 kullanc var dizisinin grnmesi salanr.

Bu rnekteki komutu, kiisel dizinizdeki .bashrc dosyasna eklerseniz, sisteme her balandnzda, sistemde siz dahil, ka kiinin altn renmi olursunuz.

Biraz Nefes Alalm


LINUX iletim sisteminde yzlerce komut var! Bunlarn bir ksmn belki de hi kullanmayacaksnz. Bir ksmn ise ok sk kullanacaksnz. Genellikle hangi komutlardan yararlanacanz tamamen bilgisayar ne amala kullandnza baldr. nceki blmlerde biraz fazla teknik ayrntya katmzn farkndayz; bu yzden bu blmde biraz nefes almak amacyla, ok nemli olmayan, fakat kullanm da ho olan birka komuttan sz etmek istiyoruz. Bu komutlardan sz ederken kullanacamz genel form doal olarak
komut [ -seenekler ] [ parametre] [ parametre] ...

olacaktr. Tm LINUX konsol komutlar zaten bu formdadr. Bu formdaki [ ] karakterleri, aralarnda yer alan seenek ve/veya parametrelerin istee bal olduunu (optional) gstermektedir. rnein;

--

237

Kim Korkar LINUXtan?

cp [-ri] dosya1 dosya2

formunda verilen bir komutta -r veya -i veya -ri istee bal parametreler; dosya1 ve dosya2 ise zorunlu parametreler olarak anlalmaldr.

Kullanl LINUX Komutlar


cal [ay] [yl]
(calendar)

Parametresiz kullanrsanz, iinde bulunduunuz ay iin bir takvim yapra listelenir.

Parametre olarak herhangi bir yl girerseniz, o yl iin 12 aylk bir takvim listelenir.

238

nemli LINUX Kavram ve Komutlar

sleep n

n parametresi olarak verilen saniye kadar bekler. Herhalde aklnza ilk ola-

rak byle bir komutun ne ie yarayaca sorusu gelmitir. lk bakta pek ie yaramazm gibi grnen bu komut, kabuk programlar yazmaya baladnzda (shell programming) iinize yarayacaktr.

komut komutunu, n parametresi olarak verilen saniye aralklarla srekli olarak altrr. rnein,
watch n 5 who

watch [n saniye] komut

who komutunu her 5 saniyede bir tekrarlar. Sisteme balanmasn beklediiniz birisi varsa onu beklerken bu komut ok iinize yarayacaktr. watch

program Ctrl-C ile kesilinceye kadar alr. LINUXta programlar durdurmann tek yolu Ctrl-C deildir. Srelerle ilgili blmde almakta olan programlar durdurmann ve davranlarn denetlemenin, bir baka deyile alan srelere sinyal gndermenin yntemini renmitiniz.

wc [-lwc] [dosya]

(word count)

Parametresi olan dosyadaki satr, szck ve karakterleri sayar. Eer parametre olarak bir dosya ad belirtilmezse, standart giriteki satrlar iin bu saym iini yapar. Saym sonularn standart ka yazar.
-l seenei verilirse, yalnzca satrlar, -w seenei verilirse, yalnzca szckleri,

-c seenei verilirse, yalnzca karakterleri sayar.

Hem satrlar, hem de szckleri birlikte saydrmak isterseniz, -lw seeneini kullanabilirsiniz.

239

Kim Korkar LINUXtan?

Bir dosyann son n satrn grntler. Eer n belirtilmezse son 10 satr grntlenir. Kullanl deil mi? Hele bir de f parametresini renince bu komutu ok seveceksiniz...
f parametresiyle birlikte kullanldnda dosya sonuna geldiinde tail

tail [-n] [-f]

program iini bitirmez ve dosyaya yeni satrlar eklendike onlar da gstermeye devam eder. En iyisi durumu bir rnekle anlatmak:

Diyelim ki sisteminiz web servisi verecek ekilde kurulmu. Eer ldrmadysanz web servisini apache isimli programla veriyor olmalsnz. apache hem performans hem gvenlik hem de gvenilirlik asndan dnyann en gelimi web sunucu yazlmdr ve tm LINUX datmlarnda standart olarak bulunur.
Bir anmz anlatmadan geemeyeceiz... Birka yl nce (2000 falan) Web sunucu gvenlii konularn tartmak iin bir liste almt. Listenin aldn duyuran ahs burada gvenlikle ilgili tartmalar yapp bilgi ve deneyim paylaacaz demiti. Birka saat sonra ayn listeye birisi Microsoft IIS gvenlii de tartlacak m? diye bir soru gnderdi. Yant ok ilginti : IISin gvenlikle ne ilgisi var ki?

Neyse, bu kadar amur atma yeter. (imdilik) rneimize dnelim... apache web sunucusu (aksi belirtilmedike) sunduu web sayfalarn ziyaret edenlerin log dosyasn tutar. (log yerine uygun bir Trke szck bulamadk.) Bu dosyada hangi saatte hangi dosyalarn hangi istemciler tarafndan istendiinin

240

nemli LINUX Kavram ve Komutlar

kayd tutulur. Bu bilgiler birok web sitesi ileticisi iin ok deerlidir. Log kaytlar zerinde ayrntl istatistik almas yaparak en ok hangi sayfalarn ziyaret edildiini, ziyaretilerin bu sayfalarda ne kadar zaman geirdiini, en ok hangi lkeden ziyareti geldiini falan renebilirler. Apache log dosyalarnn analizi iin bir sr hazr ve zgr program bulabilirsiniz. Bunlarn en poplerlerinden biri analog isimli pakettir. (www.analog.cx) Neyse... Apachenin log kaytlarn dosyaya eklendike grmek isterseniz;
tail f /var/log/httpd/access_log

komutunu kullanabilirsiniz. Bu komut /var/log/httpd/access_log dosyasnn son 10 satrn gsterecek fakat f parametresi verildii iin dosya bitince durmayacaktr. Dosyaya yeni satrlar eklendike onlar da listelemeye devam edecektir. Bylece web sitenizin ziyaretilerini gerek zamanda izleyebileceksiniz. (Bu komutu deneyebilmeniz iin sisteminizde bir web sunucusu kurulu ve alyor olmaldr; stelik birilerinin de web sitenizi ziyaret ediyor olmas gerekir ki log dosyasna yeni kayt dlsn.)

more
Uzun metin dosyalarn; rnein log dosyalarn, ekrana sayfa sayfa listelemek iin kullanlr. Dosyann ekrana veya terminal penceresine sd kadar grntlendikten sonra sol alt kede
--More--(12%)

gibi bir satr grnr. Bu iaret dosyann yzde 12sine geldiinizi ve daha grntlenecek satrlar olduunu belirtir. Boluk tuuna basarak dosyada sayfa sayfa ilerliyebilirsiniz. Satr satr ilerlemek iin Enter tuunu, geri dnmek iinse b tuunu kullanabilirsiniz. Blme iaretiyle (/) ayn vida olduu gibi arama da yapabilirsiniz. rnein --More-- iaretinin karsna /Ayfer yazarsanz dosya iinde ilk rastlanan Ayfer dizisine kadar ilerlersiniz. Son aramay tekrarlamak iin n tuuna basmanz yeterlidir.

less

more komutunun neredeyse aynsdr; ancak ekrana enine smayan satrlar

241

Kim Korkar LINUXtan?

iin saa sola ok tularyla yatay kaydrma yapmanz da mmkndr. Ayn more komutunda olduu gibi blme iaretiyle dosyann iinde istediiniz karakter dizisini arayabilirsiniz.

top
Bilgisayarnz yavaladnda, bilgisayarnz en fazla megul eden ileri grmek iin kullanabileceiniz bir komuttur. Hem merkezi ilem biriminin kullanm oranlarn hem de takas alan kullanm oranlarn grebilirsiniz.

En st satrdaki
10:42am up 1 day, 10:35, 7 users, load average: 1.39, 1.35, 1.24

satr sistemin 1 gn , 10 saat ve 35 dakikadr almakta olduunu gstermektedir. Gene ayn satrda o anda 7 kullancnn sistemi kulland (7 telnet balants yapm tek kii de olabilir) belirtiliyor. Bu kullanc says sistemde kabuk program altran kullanc saysdr; yani bu makinedeki web sitesini ziyaret edenler ya da bu makinedeki veritaban sunucusundan yararlananlarn saysn iermez.

242

nemli LINUX Kavram ve Komutlar

Ayn satrda ortalama yk orannn son bir dakika iinde 1.39, son be dakika iinde 1.35, son 15 dakika iindeyse 1.24 olduunu gryorsunuz. Bu ortalama yk oranlar greceli saylardr ve tipik olarak birden kktr. Zaman zaman iki, , hatta 9a kadar kmas da normaldir. Yk oranlarnz genellikle 1 civarnda deerlerde dolayorsa sisteminizi tam ve ideal kapasiteyle kullanyorsunuz demektir. Yk oranlar genellikle iki veya ten byk deerlerde dolayorsa makinenize biraz fazla ykleniyorsunuz demektir; yani artk merkezi ilem biriminizi daha hzl biriyle deitirmenin zaman gelmi demektir. Ancak st modele gemeye karar vermeden nce, top komutunun rettii rapordaki
Mem: 255428K av, 242040K used, 13388K free, 0K shrd, 54324 Kbuff Swap: 248936K av, 10352K used, 238584K free 80480K cached

satrlarn da gzlemenizi neririz. Eer takas alannn kullanm ortalamas yksekse (yukardaki rnekte grntnn alnd anda takas alannn pek kullanlmad grlmektedir) merkezi ilem birimini deitirmektense ncelikle belleinizi arttrmak daha yararl olabilir.
top, ekrann her birka saniyede bir gncelletirir. Gerek bu gncelletirme skln, gerekse rapor dzenini deitirmek iin top programna klavyeden

bir tua basarak verebileceiniz komutlardan bazlar aadaki tabloda listelenmitir:


top Komutlar Tu q Aklama

top programn durdurur.

P (Byk P) leri merkezi ilem birimi kullanm oranlarna gre listeler. M T s

leri bellek kullanm oranlarna gre listeler. leri almakta olduklar srelere gre listeler. Ekrann gncelleme skln deitirmek iin kullanlr. Ekran gncelletirmek iin kullanlr.

boluk tuu

243

Kim Korkar LINUXtan?

which
Kabuk programnzn komut satrndan bir LINUX komutu yazdnzda, bu komuta ilikin bir program dosyasnn diskten bellee yklenip almaya balayacan biliyorsunuz. Peki bu program dosyasnn hangi dizinde bulunduunu bilebiliyor musunuz? Hatrlatmakta yarar var; sisteme verdiiniz komutlara ilikin program dosyalar PATH ortam deikeninizde belirtilen dizinlerde ve belirtildii srayla aranacaktr. PATH ortam deikeninizdeki dizinleri grmek iin
echo $PATH

komutunu kullanabilirsiniz.

which komutuna, parametre olarak vereceiniz bir komutun hangi dizindeki program dosyas kullanlarak altrlacan renebilirsiniz.

Yukardaki rnekte, telnet ekrannzda ooffice komutunu vermeniz durumunda, /usr/bin dizinindeki ooffice program dosyasnn bellee yklenerek altrlaca grlyor.

zip
PC dnyasnn yakndan tandnz dosya sktrma programdr.

244

nemli LINUX Kavram ve Komutlar

Genel formu:
zip [ -r ] zip_dosyas dosya1 dosya2 ... dosyaN

olan bu komutun rettii sktrlm dosyalar MS-DOS serisi iletim sistemi iin Phil Katz tarafndan gelitirilmi olan PKZIP programnn rettii dosyalarla uyumludur.

-r seeneiyle birlikte kullanldnda sktrlacak dosyalar arasnda dizinlerin de bulunmas durumunda, o dizinleri ve varsa, alt dizinleri de sktrarak zip_dosyas iine yerletirilecektir. Komutun tm seenekleri hakknda aklayc bilgi iin zip komutunu hi parametre kullanmadan verebilirsiniz.

Adndan da anlalaca gibi zip komutuyla sktrlm dosyalar aan programdr.

unzip

gzip
Dosya sktrma programlar arasnda LINUX dnyasnda en popler olan, gzip programdr. GNU organizasyonu tarafndan genel kamu lisansyla bilgisayar kullanclarna armaan edilmitir.

245

Kim Korkar LINUXtan?

gzip programnn kullanma mant zipe gre biraz farkldr. gzip dosya-

lar teker teker ve kendi zerlerine sktrr. rnein:

gzip mail2002.log

bir komut verilirse, mail2002.log mail2002.log.gz dosyasna dntrlr. diye


gzip *log

dosyas

sktrlarak

diye bir komut verildiinde alma dizininde ad log ile biten be tane dosya varsa, i bittiinde alma dizininde ad .gz ile biten be tane sktrlm dosya oluur. Bir dizindeki dosyalar ve alt dizinlerini birlikte sktrp tek bir sktrlm dosya elde etmek istediinizde kullanacanz komut gzip deil, tar komutu olmaldr. tar komutunu ileride ayr bir blmde anlatacaz.

gzip komutuyla sktrlm dosyalar amak iin kullanlr. gzip komutunun dosyalar teker teker sktrmas gibi gunzip de sktrlm dosyalar teker teker aar.

gunzip

Daha nce gzip ile sktrlm mail2002.log.gz dosyasn gunzip ile amak istediinizde;
gunzip mail2002.log.gz

komutunu vermeniz yeterlidir.

bzip2 son yllarda hzla yaygnlaan bir dosya sktrma programdr. Sktrma oran konusunda GNU Lisansyla datlan gzipden daha baarl olduu sylenir. gzip ve gunzip gibi kullanlr. bzip2 buyuk_dosya bunzip2 buyuk_dosya.bz2

bzip2

246

nemli LINUX Kavram ve Komutlar

BUNLARI BLYOR MUYDUNUZ?

Linuxun Destekledii Donanm Platformlar


LINUX iletim sistemi; Intel, AMD, Cyrix, Digital Alpha, SUN Sparc, Apple Macintosh, RS6000, Crusoe, PowerPC, Motorola 68K, Atari, NEC Alpha, IBM S/390, IBM S/370, VAX, MIPS, Playstation, XBox, Fujitsu AP1000+ serisi ve daha birok merkezi ilem birimine uyarlanm ve baaryla kullanlmaktadr. Tm bu gereklere ramen LINUXun gelecei konusunda pheleri olanlara diyecek bir ey bulamyoruz.

247

Kim Korkar LINUXtan?

248

evreyi Tanyalm
/dev Dizini /etc Dizini lost+found Dizinleri

06

yi bir bilgisayar kullancs elinin altndaki kaynaklar tanmal, o kaynaklarn kuvvetli ve zayf taraflarnn yan sra kullanm alanlarn da iyi bilmelidir. LINUX iin bu tanma sreci, Windows serisi iletim sistemlerine gre daha uzun srer. Sanldnn aksine, bu gecikme LINUXun zorluundan deil, kapsaml olmas ve esnekliinden kaynaklanmaktadr. Eh tabii, kapsaml olunca biraz da karmak oluyor ama gene de renilemeyecek kadar deil. evrenizi tanmaya balamak iin bilgisayar dnyasnn ne var ne yok? sorusu olan ls komutunu / dizininde verdiinizde

benzeri bir liste alrsnz. LINUX / dizininde pek fazla dosya ve dizin bulunmaz. Elbette siz isterseniz buraya dosya da koyabilirsiniz ama pek gerekmeyecektir; daha nemlisi geleneklere aykr decektir.

249

Kim Korkar LINUXtan?

/ Dizinindeki Dizinler Dizin bin Kullanm Amac

Tipik LINUX kullanclarnn kullanaca komutlara ait program dosyalarnn (binaries) sakland dizindir. LINUX komutlar arasnda neler var acaba? diye merak eden okuyucular bu dizindeki dosyalarn listesini alp sradan man sayfalarna bir gz atp komutlar deneyebilirler. Bu komutlar denerken root kimliini kullanmamanz hatrlatmak isteriz. root kimliiyle verdiiniz tm emirler yerine getirilecektir; tm dosya sistemini silmek buna dahildir. Normal kullanc kimliiyle ise sisteme zarar veremezsiniz; olsa olsa kendi dosyalarnz yok edersiniz ya da bozarsnz. Sistemin al srasnda kullanlan dosyalar ve en nemlisi LINUX ekirdei burada saklanr. Buradaki dosyalar pek kurcalamasanz iyi olur. ok zel bir dizindir. Bu dizin altndaki dosyalar normal birer dosya deildir. /dev dizininin dosya listesini aldnzda greceiniz dosyaya benzer eyler aslnda birer dosya deil, dmdr (node). Bunun ne demek olduunu biraz sonra anlatacaz. imdilik ksaca bu dmlerin LINUX tarafndan desteklenen donanm paralarn tanmladn belirtmekle yetinelim. Aman ad sizi yanltmasn... Evet, etc, vesaire anlamndaki etc ama aslnda sistemin en nemli dizinidir. Kullanc tanmlarnn, LINUXun ve sisteminizde alan nemli servislerin neredeyse hepsinin ayar dosyalar buradadr. /etc dizinini kaybeden bir sistem ynetici direksiyonunu kaybetmi bir srcye benzer. Kullanclarnzn kiisel dizinlerinin sakland dizindir. Genellikle burada her kullanc iin kendi kullanc adyla anlan bir dizin yer alr ve kullanclar buradaki kiisel dizinlerinde tam yetkiyle istediklerini yaparlar. Paylalan ktphanelerin sakland dizinlerden biridir. LINUX ekirdeinin otomatik olarak ilitirdii (mount ettii) birimler iin dizinler ierir.

boot

dev

etc

home

lib mnt

250

evreyi Tanyalm

net opt

Genellikle botur. AT&T (System V) UNIX ekolnden gelen sistem yneticilerinin uygulama programlarn yklemeleri iin ayrlmtr. Artk pek anlam kalmad iin genellikle botur. Tamamen LINUX ekirdeinin denetiminde bir dizindir. Aslnda bu dizin diskte de deildir. Bellein bir blm bu dizin iin disk gibi kullanlmaktadr. (Sanal disk.) Sistem yneticisinin kiisel dizinidir. root kullancnn kiisel dizininin /home altnda olmamas strateji gereidir. Genellikle sistem yneticileri kullanc kiisel dizinleri iin zel bir disk ya da disk blm ayrrlar. Sistemde meydana gelebilecek bir arza nedeniyle bu disk ya da disk blm ilitirilemezse root kendi dosyalarna gene de eriebilsin diye byle yaplr. Bu dizine de eriilemiyorsa zaten sistem yneticisinin ba ciddi dertte demektir. Genellikle sistem ynetimiyle ilgili komutlarn program dosyalarnn sakland dizindir. ounu altrabilmek iin root yetkisi gerekir. Bu nedenle bunlar kr krne denemek tehlikeli olabilir. Herkese ak bir dizindir. Genellikle geici dosyalarn kaydedilmesi iindir. Sistem yneticisi, yer gerektii zaman bu dizindeki dosyalar hi ekinmeden silebilir, hatta birok sistem yneticisi sistemlerinin al srasnda bu dizinin otomatik olarak silinmesini tercih ederler. ok ilevli bir dizindir. Adnn artrd kullanclarla pek ilgisi yoktur. Genellikle uygulama programlar ve bunlarla ilgili yazlm ktphaneleri burada saklanr. zellikle /usr/local dizini bir sistemde tm kullanclara ak uygulama yazlmlarnn yklendii dizindir. AT&T UNIX ekolnden gelen sistem yneticileri iin ayrlm olan /opt diziniyle ayn amala kullanlr. Yani sisteme yeni bir uygulama program (rnein Acrobat PDF formatndaki dosyalar HTMLye eviren pdf2html gibi bir program) ykleyecekseniz, en mantkls program dosyalarn /usr/local/bin dizinine yerletirmenizdir. /usr/lib dizini uygulama programlarna ait ktphaneler iin kullanlr.

proc

root

sbin

tmp

usr

251

Kim Korkar LINUXtan?

var

nemli bir dizin!


/var/mail veya /var/spool/mail: Sisteminizdeki kullancla-

ra gelen e-posta mesajlar, sahipleri okuyuncaya kadar bu dizin altnda saklanr. Adna e-posta gelmi olan olan her kullanc iin burada bir dosya bulunur. Bir kiiye gelen tm e-posta mesajlar bu dosyada ardarda eklenmi olarak saklanr. mail dizini aslnda /var/spool altndadr. Tm e-posta yazlmlaryla uyumlu olmas iin bu dizinden /var/maile bir balant atlmtr. (ln komutunu hatrlyor musunuz?)
/var/log: Sistemin seyir defteri. Gerek LINUXun kendisi, ge-

rekse bandan kayda deer bir eyler geen tm programlar anlarn buraya kaydeder.

/var/spool/lpd: Yazcya gnderilmeyi bekleyen ilerin sak-

land dizindir.

ve web sitenizle ilgili dosyalarn sakland dizindir.

/var/www: Eer varsa bilgisayarnzda alan web sunucusuyla

/dev Dizini
LINUXta tm donanm paralar birer dosya gibi kullanlr. nanmayacaksnz ama fare bile aslnda bir dosya gibi kullanlr. Sistem ve uygulama programlar herhangi bir donanm parasna erimek istediinde bu donanm parasn /dev dizininde temsil eden dme (node) eriir. Bu dmler /dev dizininde yer almakla birlikte, aslnda gerek birer dosya olmadklar iin diskte hi yer harcamazlar. Bu dmlerin her birinin birer Major ve birer Minor numaralar vardr. Bir LINUX komutu ya da uygulama program, /dev dizininde yer alan bir isim araclyla bir donanm unsuruna ulamak istediinde (rnein, diskete kayt yapmak iin /dev/floppy dmne yazmak istediinde), LINUX, bu major-minor numaralar aracl ile ekirdein (kernel) hangi modlnn harekete geirileceini anlar ve kontrolu, o donanm unsurunu tm zellikleriyle tanyp denetleyebilen bir programa geirir (device driver).

252

evreyi Tanyalm

LINUXun /dev dizinine yakndan baktnzda bu dizin altndaki dmlerin ounun gene /dev dizini altnda baka dmlere balanm olduklarn (link edilmi olduklarn) greceksiniz. Bu balantlar izlediinizde en sonda dmn kendisini bulursunuz.

Tipik bir LINUX bilgisayarnn /dev dizininde yzlerce dm yer alr. Burada yalnzca birka tanesinden sz etmek istiyoruz. Ne hepsini anlatmaya olanak var, ne de gerei var.
/dev Dizininde Yer Alan Baz nemli Dmler Dm /dev/console levi

/dev/mem

Bilgisayarn karakter tabanl ana ekrandr. Sistemde ortaya kan donanm sorunlar ve dier nemli olaylara ilikin mesajlar bu birime gnderilir. Eer ekran o srada X altnda grafik kullanc arabirimiyle kullanlyorsa ve xconsole yazlmnn alt bir pencere yoksa /dev/consolea gelen mesajlar grnmeyecektir. Sistemin ana belleidir. Fare donanmnzdr. te bu ilgin bir dmdr. Dipsiz kuyuya benzer. Buraya istediiniz kadar veri kopyalayabilirsiniz. Ne disk doldu diye ikayet eder, ne de eriim haklarndan dem vurur. Bir programn standart ktya gnderdii mesajlarn ok uzun olduunu ve bu ktlarn size gerekli olmadn dnn. Byle bir durumda telnet ekrannza ynelik gereksiz trafik yaratmamak ve hz kazanmak iin program balatrken standart ktsn /dev/nulla ynlendirirsiniz olur biter. (/usr/local/bin/uzun_prog > /dev/null gibi.)

/dev/mouse /dev/null

253

Kim Korkar LINUXtan?

/dev/hda

IDE sabit disk. Birinci IDE arabirimdeki master disk. Birinci IDE arabirimdeki master diskin birinci blm. (partition) Disket src. CD-ROM src. Seri (RS-232) arabirim. A zerinden terminal balants iin kullanlan sanal terminal arabirimi. Teyp srcnz. Birinci Ethernet arabiriminiz.

/dev/hdal /dev/floppy /dev/cdrom /dev/ttyA /dev/pty

/dev/tape /dev/eth0

/etc Dizini

/etc dizini de zerinde biraz durmay gerektiriyor.

Sistem yneticisinin en ok dolat dizindir. Bu dizinde birok alt dizin ve dosya bulacaksnz. Hemen hemen hepsi sisteminizin davranlarn etkileyen ayar dosyalardr. Bu nedenle yedei alnmas gereken ilk dizin /etc dizinidir. Bu dizindeki dosyalarda deiiklik yapmanz gerektiinde kesinlikle ama kesinlikle nce o dosyann bir kopyasn karmanz neririz. Bu dizindeki baz nemli dosyalara (aslnda hepsi nemli ya, neyse) biraz deinmek istiyoruz.
/etc Dizinindeki Baz nemli Dosyalar Dosya / Dizin /etc/passwd levi

Kullanc tanmlarnzn yer ald dosyadr. Sisteminize tanttnz her kullanc iin ve sisteminizde sre altrmas sz konusu olan tm zel ve tzel kiilikler iin bu dosyada bir satr yer almaldr. Baz programlar gvenlik nedeniyle gerek olmayan kullanc kimliiyle altrlr. rnein, Apache web sunucusu ya nobody ya da apache gibi bir kimlikle altrlmaldr. Bu durumlarda /etc/passwd dosyasnda bu hayali kullanclar iin de birer kayt olmaldr.

254

evreyi Tanyalm

/etc/shadow

Kullanclarnzn ifrelerinin sakland dosyadr. ifreler bu dosyada kriptolanm olarak saklanr. ifresini unutan birisinin ifresinin kriptolanm halini burada grebilirsiniz ama bir ie yaramaz. LINUXun kulland kriptolama algoritmas tersine evrilemez; yani kriptolanm bir karakter dizisinin aslnn ne olduunu bulamazsnz. LINUX, sisteme balanmak isteyen bir kullancdan ifresini aldktan sonra bu karakter dizisini kriptolar ve kriptolanm halini bu dosyadaki ifreyle karlatrarak doru olup olmadn kontrol eder. Sisteminizde tanml kullanc gruplarn ierir. Sisteminiz alrken altrlan komut dizileri (script) dosyalarn ierir. Bu dizindeki dosyalarn mantn kitabn sistem ynetimi ile ilgili blmlerinde bulacaksnz. Sisteminiz al tamamlandnda, varsa yaplmasn istediiniz ilere ilikin komutlar ieren dosyadr. rnein sisteminiz her aldnda /tmp dizininin iindeki dosyalarn ve dizinlerin silinmesini istiyorsanz bu dosyann iinde bir yere /bin/rm -r /tmp/* gibi bir komut satr ekleyebilirsiniz. Sisteminize TCP/IP zerinden erimesine izin vereceiniz ya da izin vermeyeceiniz IP adreslerinin tantld dosyalardr. Bu dosyann ayrntlarn Gvenlik blmnde bulacaksnz. Bilgisayarnzn internet servisleri ile ilgili ayarlar. FTP sunucusu olarak hizmet verip vermeyeceiniz; verecekseniz hangi port zerinden vereceiniz gibi ayarlar buradadr.
/etc dizinindeki ayar dosyalar bu kadar deil elbette. Burada yalnzca birka tanesinden rnek olarak sz ettik.

/etc/group /etc/rc.d

/etc/rc.local

/etc/hosts.allow /etc/hosts.deny /etc/xinetd.d

ve

...

255

Kim Korkar LINUXtan?

lost+found Dizinleri

Gnn birinde baz dizinlerde lost+found adnda bir dizin belirdiini farkedeceksiniz. ine baktnzda da adlar saylardan oluan bir sr alt dizin greceksiniz. Bir LINUX bilgisayar normal olmayan bir kapatmann ardndan aldnda veya bir disk dosya sistemi 20 kez mount edildiinde dosya sistemindeki dizin yaps otomatik olarak kontrol edilecektir. Bir baka deyile o dosya sistemi iin fsck program otomatik olarak altrlacaktr. lk bulursa onarmak iin elinden geleni yapacak, tehlikeli bulduu deiiklikler iin izninizi isteyecektir. Akas byle durumlarda istenen izni vermekten baka bir areniz de olmayacaktr.
fsck program diskteki dosya yapsnda bir gariplik, bozukluk veya tutarsz-

fsck bulduu bozukluklar giderebilirse ne ala; yok gideremezse sorun karan disk bloklarndaki kaytl verileri o dosya sisteminin lost+found dizi-

nine atp iine devam edecektir.

fsck genellikle sorunlu dosya sistemlerini onarmay baarr ama tabi bu sorunun derinliine baldr. fsck tarafndan lost+found dizinine atlan dos-

ya paralar iinden hasarl dosyalar ayklamaya almak samanlkta ine aramaktan farkszdr ama bazen insan bunu da yapmaya mecbur oluyor. Yeri gelmiken; bu gibi durumlara dmemek iin kendinize gvenilir bir yedekleme sistemi kurmalsnz. LINUXunuzda bu i iin gereken her trl yazlm zaten var.

256

bash Kabuu ve Kabuk Programlar


Komut Satrnn Yorumlanmas ve Parametreler Kabuk Deikenleri (ya da Ortam Deikenleri) Programlar Arka Planda altrmak n Planda alan Programlar Arka Plana Atmak Kabuk Programlama lk Kabuk Program rnei kinci Kabuk Program rnei

07

LINUX iletim sistemi, kullanclarn verdikleri komutlar zmlemek ve bu komutlar yerine getirecek programlar balatmak iin kabuk (shell) programlarn kullanr. Bir baka deyile, kabuk programlar, kullanclarla bilgisayar arasndaki komut arabirimidir. Aslnda, bu tip komut arabirimleri; yani komut yorumlayclar (command interpreter), tm iletim sistemlerinde kullanlmaktadr; rnein MS-DOS iletim sisteminde bu grevi COMMAND.COM stlenmi durumdadr. LINUX iletim sisteminde, kullanclarn birden fazla kabuk program arasndan seim yapma ve beendikleri komut yorumlaycsn kullanma haklar vardr. Hatta ayn anda birden fazla kabuk program bile kullanabilirler. Bu kitapta LINUX iletim sisteminin en popler kabuk program olan bash kabuk programn anlatacaz. Ayrntlarda nemli farklar olsa bile bash bilen birisi csh, tcsh, sh, ksh gibi dier kabuk programlarn ok abuk kavrayacaktr. LINUX kullanmnda deneyim kazanp sistemin hakkn vermeye baladnzda; zellikle sistem yneticisi olma yolunda ilerledike, kabuklarn ne-

257

Kim Korkar LINUXtan?

mi hzla ortaya kacaktr. Gerek sisteminize ileri dzey komutlar verirken, gerekse bir takm ileri otomatie balamaya baladnzda kabuklarn yararl zelliklerini kullanmaya ve daha nemlisi kabuk komutlarn kullanarak kendi komut dizilerinizi (shell script) yazmaya balayacaksnz. Bu aamada, bu blmn zellikle kabuk programlama ile ilgili ksmlar size kark gelebilir. Hele programclk deneyiminiz yoksa bu blmleri hi zlmeden atlayabilirsiniz. LINUX kullanmak iin ille de programc olmak gerekmez.

Komut Satrnn Yorumlanmas ve Parametreler


bash kabuk program komut almaya hazr olduunu ekranda [cayfer@pusula cayfer] $ cp eski-dosya

gibi bir karakter dizisiyle (hazr iareti: prompt) belirtir.


yeni-dosya

gibi bir komut verdiinizde, kabuk program, cp harflerini altrmak istediiniz programn ad olarak; eski-dosya ve yeni-dosya szcklerini ise bu cp programnn iki parametresi olarak kabul edecektir. Kabuun yapaca bir sonraki i, altrmak istediiniz bu cp programnn sakland disk dosyasn bulmak olacaktr. Bu arama iinin temelinde, sizin iin tanmlanm olan PATH kabuk ortam deikeninin o andaki deeri yatmaktadr. Bu deikenlerin deerleri tipik olarak
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/cayfer/bin

benzeri bir karakter dizisi olacaktr. Kendi PATH deikeninizi grmek isterseniz echo $PATH komutunu kullanabilirsiniz.
bash program, PATH deikeninin deeri iinde, : karakteriyle birbirle-

rinden ayrlm olan dizinleri srayla tarayp bu dizinlerin iinde, sizin al-

258

Bash Kabuu ve Kabuk Programlar

trma yetkiniz olan cp isimli bir dosya arayacaktr. Arama, dizin isimlerinin PATH deikeninde verili srasna gre yaplacaktr. rneimize gre, bash program, cp isimli dosyay nce /usr/local/bin dizininde, orada bulamazsa /bin dizininde; orada da bulamazsa /usr/bin; olmazsa /usr/X11R6/bin dizininde, gene bulamazsa /home/cayfer/bin dizininde arayacaktr. Kabuk programnz sz konusu dosyay bu dizinlerden hibirinde bulamazsa,
bash: cp: command not found

diye, komutu tanyamadna ilikin bir hata mesaj vererek yeniden komut bekleme durumuna dnecektir. Eer cp program dosyas bu dizinlerden birinde bulunursa, bu dosyann eriim yetkileri kontrol edilecektir. cayferin bu program altrmaya yetkisi varsa cp program kabuk tarafndan bellee yklenecek ve altrlacaktr. Varsa, komut satrnda verilen parametreler zmlenip (zmlemeden ne kasdettiimizi biraz sonra aklayacaz) cp programna aktarlacaktr. Yklenen program almaya baladnda kontrol artk cp programna gemitir. Parametrelerin doru srada ve sayda verilip verilmediini her program kendisi kontrol eder ve gerekirse uygun hata veya uyar mesajlar reterek, kullancy uyarr. Bir komut verildiinde o komuta ilikin hangi program dosyasnn bellee ykleneceini merak ettiinizde
which komut

komutunu kullanabilirsiniz. Byle bir eyi neden merak edeyim ki? diyorsanz bilgisayarnzda ayn isme sahip iki program dosyas olabileceine dikkatinizi ekeriz. rnein kendiniz C dili ile bc diye bir program yazabilir ve kiisel dizininize yerletirebilirsiniz. Programnz gzelce hatasz derledikten sonra altrmak iin bc komutunu verdiinizde garip eyler olduunu gzleyebilirsiniz. lk aklnza gelen acaba doru program m altryorum? olmaldr.

259

Kim Korkar LINUXtan?

Bu soruya yant bulmak iin: komutunu verdiinizde greceksiniz ki sizin yazdnz bc program deil, /usr/bin/bc alyor. nk bash kabuu altraca komuta ilikin program dosyasn PATH deikenindeki dizinlerde ararken /usr/bin dizinindeki bc dosyas sizin kiisel dizininizdeki bc dosyasndan daha nce bulunuyor.
which bc

Byle bir durumda ya kendi programnz yerini aka belirterek; yani komut olarak
/home/cayfer/bc ./bc

veya

girerek (./bc, bu dizindeki bc anlamnda) altrmalsnz; ya da PATH deikeninizi kendi kiisel dizininiz daha nde olacak ekilde deitirmelisiniz. Kopyalama komutunu, alma dizinindeki tm dosyalar
/disk2/home2/ayfer dizinine kopyalayacak ekilde cp * /disk2/home2/ayfer

verdiinizi varsayalm ve bash kabuunun neler yapacana bir gz atalm. Bu komutu gren bash, komut ad olan cp szcn bulduktan sonra, bu komutun parametrelerini bulup karmaya alacaktr. Komut satrn tararken * karakterine rastlaynca, tm dosyalar anlamna gelen bu iaret yerine, alma dizininde yer alan tm dosya ve dizinlerin isimlerini yan yana gelecek ekilde yerletirecektir. Yani komut satr,
cp abc dosya1 dosya2 xyz x123 /disk2/home2/ayfer

satrna benzer bir ekle dntrlecektir. (alma dizininde sadece abc, dosya1, dosya2, xyz ve x123 dosyalarnn olduunu varsayarak.) Bu dn-

260

Bash Kabuu ve Kabuk Programlar

m ekranda gzleyemezsiniz; ancak bu tip dnmlerin olduunu bilmeniz ve komutlar verirken bu dnmleri dikkate almanz ok nemlidir.
Baz durumlarda kabuk programlarnn komutlarnzdaki parametreleri yorumlayp amaya almasn istemezsiniz. Byle bir gereksinim duyarsacalamasn istemediiniz parametreleri trnak iinde yazmalsnz. Eer kanz (ki find komutunu kullanrken duyacaksnz); kabuk programnn kur-

buk programnn irdelemeden komuta aktarmasn istediiniz zel karakter tek bir karakterden oluuyorsa, o karakteri trnak iine almak yerine, nne bir \ (back slash) yerletirebilirsiniz.

Bu arada, kabuk tarafndan altrlan programlarn sfrnc parametrelerinin de bulunduunu sylemeden geemeyeceiz. Bir program altrldnda, sfrnc parametresi, programn kendi addr. Bylece, her program, hangi isimle kullanldn bilebilmektedir. Bu zellie tipik rnek gzip ve gunzip komutlardr. Bu iki komuta ait program dosyalar aslnda tpatp ayn dosyadr. Aslnda gzip isimli dosya gerekten bu isimle diskte yer alrken, gunzip sadece bu dosyaya bir balant da (link) olabilir. Yani gzip komutunu da verseniz, gunzip komutunu da verseniz ayn program dosyas bellee yklenip altrlr. Bir dosyay sktrmas gerektiini mi yoksa sktrlm bir dosyay amas m gerektiini anlamak iin program sfrnc parametreye, yani hangi isimle altrldna bakarak karar verir.

Kabuk Deikenleri (ya da Ortam Deikenleri)


bash kabuk programlar iinde eitli deikenler tanmlamanz mmkn-

dr. Hatta baz standart deikenler zaten ntanmldr. ntanml kabuk deikenleri arasnda en nemlileri unlardr:
Baz nemli bash Kabuk Deikenleri PATH HOME

Bir komut verildiinde, komut programn oluturan dosyann aranaca dizinler listesini ieren deikendir. Kullancnn kiisel dizininin adn ieren deikendir. Sisteme balandnzda kabuk program tarafndan otomatik olarak yaratlr.

261

Kim Korkar LINUXtan?

TERM

Kullandnz terminalin tipini belirleyen deikendir. X altnda alrken genellikle xterm deerini ierir. Windows bir makinadan telnet ile balanldnda ise vt100 deeri verilmelidir; daha dorusu nerilir. X altnda alrken grafik ekran grntlerinin gnderilecei X sunucusunun adresini ve ekran numarasn iermelidir. Kendi bilgisayarnzda alrken :0.0 deerini ierir. Bir baka bilgisayarda altracanz X uygulamasnn grntsn kendi ekrannza almak istediinizde o dier bilgisayara balant kurmak iin kullandnz terminal ekrannda almakta olan kabuk programnn DISPLAY deikeninde 192.168.10.32:0 gibi bir deer olmaldr. Buradaki 192.168.10.32 yerine nnde oturduunuz grafik ekrann takl olduu bilgisayarn IP numaras veya ad gelmelidir. Kabuk programnzn, en son verilen ka komutu saklayacan gsteren deeri ierir. Kabuk programlar, her kullancnn kulland son HISTSIZE komutu kiisel dizinlerdeki .bash_history isimli dosyalarda saklar. O anda almakta olan kabuk programnn yeri ve addr. (/bin/bash gibi.) Programlarn kullandklar, paylalan ktphanelerin aranaca dizinleri srasyla gsteren bir karakter dizisi ierir. Kullanm mant PATH deikenine ok benzer; yalnzca aranan program deil, ktphanedir.

DISPLAY

HISTSIZE

SHELL LD_LIBRARY_PATH

Herhangi bir anda, kabuunuzda tanml olan deikenleri ve/veya deerlerini merak ederseniz,
env

komutunu kullanabilirsiniz.

262

Bash Kabuu ve Kabuk Programlar

Kabuk deikenleri, standart isimli birtakm deikenlerle snrl deildir. Kullandnz uygulama programlar, alma ortamn tanmlamak iin zel deikenlerin tanmlanmasn ve zel deerler verilmesini gerektirebilir. rnein Oracle istemcileri ORACLE_HOME ve ORACLE_SID isimli iki kabuk deikeni tanmlanm olmasn ister. Bir nedenle bir kabuk deikeni tanmlamak ya da tanml bir deikenin adn deitirmek gerektiinde; rnein DISPLAY deikenine 192.168.10.33:0 deerini vermeniz gerektiinde

export DISPLAY=192.168.10.33:0

komutunu kullanmalsnz. Komut satrndan istediiniz gibi kabuk deikeni tanmlayabilir ya da deerlerini deitirebilirsiniz; ancak bu deiiklik kalc olmaz. Kabuk program kapatldnda ya da ldrldnde tanmladnz deiken de kaybolur gider. Ayrca bu ekilde yaplan bir tanm, yanlzca tanmn yapld kabuk iin geerlidir. Yani, bir anda ayn bilgisayara bal olan telnet pencereniz varsa, bunlardan birinde vereceiniz export komutu yalnzca o terminal penceresinde alan kabuk iin geerli olacaktr. Tm pencereleriniz de geerli ve kalc bir kabuk deikeni tanm yapmak istiyorsanz, bu ii ya-

263

Kim Korkar LINUXtan?

pan export komutunu kiisel dizininizdeki .bashrc dosyasna eklemelisiniz. Bu tanmn tm kullanclar iin geerli olmasn istiyorsanz, ayn eklemeyi /etc/bashrc dosyasna da yapmalsnz (nokta yok).

Programlar Arka Planda altrmak


Diyelim ki, ok byk bir disk dosyasndaki (sz gelimi 200 Mbyte) mteri kaytlarn alfabetik srada dizmek istiyorsunuz. Bu iin, kullandnz bilgisayar sisteminde yarm saat sreceini varsayalm. Eer tek i dzeninde alan bir iletim sistemi kullanyor olsaydnz, sort sralama komutunu verdikten sonra yemee kabilir veya kpeinizi dolatrmaya gtrebilirdiniz; nk sralama bitinceye kadar bilgisayarnzdan bir baka amala yararlanmanz sz konusu olamazd. Oysa LINUX iletim sisteminde, sralamay arka planda bir i olarak balattktan sonra, n planda baka iler yapmanz mmkndr. Bunu yapabilmek iin tek yapmanz gereken, arka planda yaplmasn istediiniz ii balatan komutun sonuna bir & iareti eklemektir.
sort musteri_dosyasi > sral_dosya &

Diyeceksiniz ki arka planda altrmaya ne gerek var, yeni bir telnet penceresi aar, uzun ii orada balatrm ve normal almamda kullandm pencereye geri dnerim! Doru! Yapabilirsiniz. Mis gibi de alr. Geri planda i altrmak iin komut sonuna & iareti koyma fikri, yeni bir pencere amaya enenler iindir... Elbette ki her i bu ekilde arka planda altrlmaya uygun deildir. rnein, bir editr program gibi, kullancnn srekli olarak klavyeden bilgi girmesini gerektiren programlar arka planda altrlsa bile, srekli ilgi istedikleri iin bu tip bir alma anlaml olmaz. Oysa yukardaki sralama rneimizde, sralama sresince kullancdan herhangi bir bilgi istenmeyecektir. Sralama program arka planda sessizce alp iini bitirecektir. Baz programlar kullancdan bir bilgi istememekle birlikte, srekli olarak ekrana yaptklar iin gelimesini aklayan bilgiler dkerler. Bu tip bir program arka planda almak zere balattnzda, srekli olarak ekrana gelen bilgiler yznden n planda baka bir i yapmanza pek olanak kalmaz. rnein, genellikle bir dizindeki tm dosya ve alt dizinleri tek bir dosya iinde toplamak (paketlemek) iin kullanlan tar komutunu,

264

Bash Kabuu ve Kabuk Programlar

tar -cvf hepsi.tar /home/ayfer &

eklinde verirseniz (bu komutla ilgili detayl bilgiyi daha ileride vereceiz; imdilik komutun ne yapt ve parametrelerinin ne olduu zerinde durmaynz), program arka planda iini yapacaktr, ama bir yandan da paketledii dosyalarn isimlerini ekrana listeleyecektir. Bu ekilde her saniye yeni bir satr listelenen bir ekranda baka bir i yapmak pek kolay olmayacaktr. Ancak ayn komutu,
tar -cvf hepsi.tar /home/ayfer > /tmp/tarmesajlari &

eklinde verirseniz, ekrana gelmesi gereken tm mesajlar, /tmp dizinindeki tarmesajlari isimli bir dosyaya ynlendirilmi olacaktr. bittikten sonra tarmesajlari dosyasna bakarak paketleme iinin baaryla bitip bitmediini ve kopyalanan dosyalarn listesini grebilirsiniz. Geri planda balattnz ilerin hata mesaj retmeleri durumunda mesajlar STDERRe gidecektir. altnz ekrana zrt prt hata mesaj gelmesini istemiyorsanz program balatrken hata mesajlarn; daha dorusu STDERRi bir dosyaya ya da dipsiz kuyuya ynlendirebilirsiniz.
cp r /home/cayfer/tmp/* /yedek 2> /tmp/hatalar cp r /home/cayfer/tmp/* /yedek 2> /dev/null
Dikkat ederseniz, STDERRi ynlendirirken 2> karakterleri kullanlyor. Oysa STDOUT ynlendirilirken yalnzca > kullanlyordu.

n Planda alan Programlar Arka Plana Atmak


Baz durumlarda, balattnz bir programn ne kadar sreyle alacan nceden kestiremezsiniz. in uzun sreceini ve sessiz alan bir i olduunu sonradan fark edersiniz ya da iin bu zelliklerini bilseniz bile, bo bulunup komut satrnn sonuna & koymadan Enter tuuna basverirsiniz. rnein, bir dizindeki tm dosyalar bir baka diske ya da dizine kopyalama komutunu,

265

Kim Korkar LINUXtan?

cp -r /home/ayfer /disk2/home2

eklinde verdiinizi ve program n planda balattnz varsayalm. Balattktan birka saniye (ya da birka dakika) sonra iin uzun sreceini fark ettiniz ve Th! Keke arka planda balatsaydm! dediniz. Eer kabuk program olarak bash kullanyorsanz sorun deil... Klavyenizden,
^Z

(Ctrl-Z)

tuuna basarsanz (Control tuu baslyken Z tuuna da basarsanz) ekranda,


Suspended.

mesajn grrsnz. Bu mesaj, o srada n planda alan iinizin geici olarak askya alnarak durdurulduunu gstermektedir. Ancak, buradaki durduruldu ifadesi, iinizin tamamlanmadan kesildii anlamnda deildir. Buradaki durdurma, mzik kaseti alan teyplerdeki Pause dmesinin grevine benzeyen bir durdurmadr. iniz almaya ara vermi ve devam edebilmek iin sizden bir komut bekler durumdadr. Bu noktada,
bg

(Background)

komutu verirseniz, iiniz arka planda almaya devam edecektir. Ancak, o anda ekranda bir de,
[1] cp ... &

mesaj grnecektir. Bu mesajn anlam ksaca programnzn geri plana ekildiini ve geri planda alan ileriniz arasndaki numarasnn 1 olduudur. Geri plandaki 1 numaral ii tekrar n plana almak isterseniz,
fg %1 (Foreground)

komutunu verebilirsiniz. (Eer arka plana atlm tek bir iiniz varsa, % iaretini ve ardndaki numaray girmeniz gerekmez.)

266

Bash Kabuu ve Kabuk Programlar

Arka planda almak zere balatlacak, ya da sonradan arka plana atlacak ilerin says ile ilgili herhangi bir snrlama yoktur. Ancak, arka plan ya da n plan olsun, alan her iin bilgisayarn performansndan bir pay alacan unutmamalsnz. Bazen, arka planda balattnz ya da sonradan arka plana attnz ilerin hesabn arabilirsiniz. Byle bir durumda,
jobs

komutunu verirseniz, arka plana atlm ilerin bir listesini alrsnz.

Kabuk Programlama
Bu blmde amacmz, okuyuculara kabuk programlamay retmek deil, sadece bu kavramn nasl bir ey olduu konusunda fikir vermektir. Aslnda olduka karmak bir i olan ve deneyim isteyen kabuk programlama, programclk deneyimi olmayan LINUX kullanclarnn pek ilgisini ekmemekle birlikte programclk temeli olan okuyuculara olduka ilgin gelebilir. LINUX kabuklar (bash, csh, tsch gibi) aslnda olduka gelimi birer programlama dilini zmleyebilecek yetenee sahiptirler. Genel amal iler iin pek kullanl olmamakla birlikte ileri dzeydeki kullanclarn ve sistem yneticilerinin en deerli aralarndandr.
csh ve bash kabuk programlama dilleri birbirlerinden olduka farkldr. Bu kitapta vereceimiz rnekler yalnzca bash kabuu iin olacaktr.

Her ne kadar LINUX kullanmak iin bash ya da bir baka kabukla programlama yapmaya gerek olmasa da LINUX/UNIX sistem yneticisi olmay dnenlerin bu ilerden biraz anlamas ok yararl olacaktr. Kabuk programlama konusunda daha fazla ayrntya girmek isteyen okuyucular iin internette bash programlama, bash programming anahtar szckleriyle bir tarama yapmalarn neririz. imdi isterseniz birka rnek kabuk programna gz atalm:

267

Kim Korkar LINUXtan?

lk Kabuk Program rnei


lk rnek ok da anlaml bir i yapmamakla birlikte kabuk programlarnn neye benzediini gstermek asndan tipik bir bash kodudur. ncelikle aadaki LINUX komutlarn vi editrn kullanarak ornek1.sh isimli bir dosyaya kaydediniz. (Aslnda vi editrn kullanmak zorunda deilsiniz elbette ama kabuk programlamayla ilgilendiinize gre sistem yneticisi olma yolunda ilerliyorsunuz demektir; bu durumda da vi bilmeden olmaz. Neyse, imdilik istediiniz editr kullanabilirsiniz.)
#!/bin/bash COUNT=1 while [ $COUNT -le 100 ] do ls | wc -l sleep 2 COUNT=`expr $COUNT + 1` done

Yukardaki bash kabuk program iki saniyede bir toplam 100 kez ls komutunu altrp bu komutun rettii satrlar sayacaktr. imdi bu ksa bash programnn satrlarna bir gz gezdirelim:
#!/bin/bash: bash kabuk programlarnda aklama satrlar (comment) # ile balar. Bu satr ilk bakta bir aklama satr gibi grnse de aslnda

ok zel bir anlam vardr. Bir kabuk programnn ilk satr olmas; ayrca ilk iki karakterinin #! olmas, bu kabuk program dosyasndaki satrlarn /bin/bash programyla yorumlanmas gerektiini belirtmektedir. Bir kabuk programnn banda, programn hangi kabukla altrlacann belirtilmesi olduka nemlidir. Bu satr olmadnda, kabuk program yalnzca bash kabuu ile alan kullanclar tarafndan baaryla altrlabilir. Oysa bu satr sayesinde, kullancnn komutu verdii srada kulland kabuk ne olursa olsun, nce /bin/bash kabuu balatlacak, program da bu kabuk iinde altrlacaktr. Program bittiinde bu program iin balatlm kabuk da bitecek ve kullanc kendi kabuuna geri dnecektir.
COUNT=1: COUNT isimli bir deikene 1 deeri atanyor. Kabuk deikenle-

rinin isimleri genellikle byk harflerle yazlr. Bu kesin bir kural olmamak-

268

Bash Kabuu ve Kabuk Programlar

la birlikte kullanlacak deikenlerin isimlerinin LINUX komutlaryla karmamas iin yararl bir gelenektir. ya eit olduu srece tekrarlanacak bir dng balyor.

while [ $COUNT -le 100 ]: $COUNT deikeninin deeri 100den kk vedo: while kalbnn bir parasdr. Dng iindeki komut satrlar dodone deyimleri arasna yazlr. ls | wc l: ls komutu ve wc l komutlar birlikte altrlp ls komutunun ktlar wc komutuna girdi olarak ynlendirilip satrlar saylyor. sleep 2: ki saniye beklemek iin sleep komutu.

COUNT=`expr $COUNT + 1`: $COUNT deikeninin deerini bir arttran kodone: while dngsndeki deyim grubunun sonunu belirliyor. ornek1.sh isimli dosyadaki bu bash komutlarn bir program gibi altra-

mut.

bilmek iin sisteme bu dosyann altrlabilir program dosyas olduunu belirtmek gerekir. Bu komutu kimlerin kullanabileceine bal olarak
chmod a+x ornek1.sh

veya
chmod u+x ornek1.sh

veya
chmod 755 ornek1.sh

gibi bir komutla dosyann altrma yetkilerini dzenleyebilirsiniz. Son olarak da komutu altrmak iin:
./ornek1.sh

komutunu verebilirsiniz. Eer PATH deikeninizde alma dizini anlamnda . yoksa, komutun bana bu dizindeki anlamna gelen ./ iaretini koymanz; yani komutu ./ornek1.sh eklinde yazmanz gerekecektir.

269

Kim Korkar LINUXtan?

kinci Kabuk Program rnei


Bu rneimiz ileri dzey bir bash program olacak. Amacmz bash programlamann tm detaylarn retmek olmad iin bu programn ayrntlarna girmeyeceiz. Programclk deneyimi olup bash programlamay ayrntl olarak renmek isteyen kullanclarn baka kaynaklara ynelmesi gerekecektir.
#!/bin/bash ara () { do # lsx : Dizin yapsn hiyerarik olarak grntler. for DIZIN in `echo *` W_DUZEY=0 do # Fonksiyon tanm

if [ -d $DIZIN ] ; then while [ $W_DUZEY != $DUZEY ] echo -n | W_DUZEY=`expr $W_DUZEY + 1` echo +---$DIZIN `ls -l $DIZIN | sed s/^.*$DIZIN //` echo +---$DIZIN ara fi fi

done

if [ -L $DIZIN ] ; then else

if cd $DIZIN ; then

DUZEY=`expr $DUZEY + 1` DIR_SAYISI=`expr $DIR_SAYISI + 1`

done

fi

cd .. fi }

if [ $DUZEY ] ; then DEVAM=1 DUZEY=`expr $DUZEY - 1`

270

Bash Kabuu ve Kabuk Programlar

# #

# Balyoruz (Ana program) CALISMA_DIZINI=`pwd` else fi cd `pwd` cd $1 if [ $# = 0 ] ; then

echo Balang dizini : `pwd` DEVAM=0 DUZEY=0 DIR_SAYISI=0 W_DUZEY=0 do ara while [ $DEVAM != 1 ] done #

echo Toplam $DIR_SAYISI dizin bulundu. # Program balatldndaki alma dizinine geri dn cd $CALISMA_DIZINI

Yukardaki program dikkatle incelerseniz C, PASCAL gibi genel amal programlama dillerindeki komut yaplarnn edeerlerini, hatta zyinelemeli (recursive) fonksiyonlarn dahi kullanlabildiini greceksiniz. Hatrlarsanz, bash kabuunun aslnda ok gelimi bir programlama arac olduunu daha nce de vurgulamtk. imdi bu bash programn bir UNIX komutu gibi kullanabilmek iin yapmanz gerekenleri bir gzden geirelim: ncelikle bash kodunu ieren dosyann altrlabilir bir dosya olmas gerekir:
chmod 755 chmod a+x lsx lsx

veya

gibi komutlar bir dosyay herkes tarafndan altrlabilir hale getirilebilir.

271

Kim Korkar LINUXtan?

Dosyaya herkes kolayca eriebilsin diye dosya, kodu yazan programcnn kiisel dizininden, /usr/local/bin dizinine kopyalanmaldr. /usr/local/bin dizinine dosya kopyalayabilmek iin root kullanc kimliine brnmek gerekecektir:
su cp /home/cayfer/lsx /usr/local/bin

Artk PATH deikeninde /usr/local/bin olan tm kullanclar rahatlkla yeni lsx komutunuzu kullanabilecektir.

272

Diskler, Disketler ve mount Komutu

mount Edilmi Diskleri Grmek Yeni Disk Takma Dosya Sistemi Tipleri fsck: Dosya Sistemi Kontrol Program supermount CD Kullanm Disket Kullanm umount Komutu Baka UNIX Bilgisayarlardaki Diskleri Kullanmak mount lemlerini Otomatik Olarak Yapmak (fstab) Baka Bir Windows Bilgisayarn Diskini Kullanmak Dosya Sistemi Yaratmanz Gerekirse...

08

imdi biraz eski bilgileri tazeleyelim: Bir LINUX bilgisayarndaki tm diskler tek bir dizin altnda; yani / dizini altnda toplanr. LINUXta, bir dosyann yeri tarif edilirken hangi diskte bulunduu deil, hangi dizinde yer ald belirtilir. Sz konusu dizinin gerekte hangi fiziksel diskte yer aldn, belirtilen dizine ilitirilmi (mount edilmi) olan disk ya da disk blm belirler.

LINUXta birinci IDE kanalnn master diski /dev/hda olarak isimlendirilir. Birinci kanaln slave diski /dev/hdb; ikinci IDE kanalnn master ve slave diskleri de srasyla /dev/hdc ve /dev/hdd olarak anlr.

Bir LINUX bilgisayarndaki her bir donanm unsuru (fare dahil) /dev dizini altnda bir dosyaya; daha dorusu bir dme ilitirilmi olmaldr. LINUX ekirdei, bu dmn zelliklerinden ilgili donanm parasn hangi ekirdek modlnn denetleyeceini anlar.

273

Kim Korkar LINUXtan?

Varsa; SCSI diskler ise SCSI adreslerine gre /dev/sda, /dev/sdb gibi isimlerle anlr. Sistemin al srasnda disk blmlerinin hangi dizinlere ilitirilecei, yani mount edilecei /etc/fstab dosyasnda belirtilir.

/ dizini mount edilmeden sistem alamaz.

LINUX, ok eitli disk formatlarn, rnein FAT16, FAT32 ve NTFS formatl diskleri grebilir. Yalnzca zerinde LINUX tarafndan tannan, geerli bir dosya sistemi bulunan evre birimleri mount edilebilir. Bunlar formatl diskler ve disk blmleri, formatl disketler, dolu CDler, DVDler ve ZIP srcs gibi zel baz donanmlardr. Teyp kasetleri ve kartular mount edilemez nk veri ierse bile teyp kasetlerinin zerinde bir dosya sistemi (file system) yoktur.

mount Edilmi Diskleri Grmek


Bilgisayarnzda hangi disk blmlerinin nerelere mount edilmi olduunu merak ettiinizde mount komutunu parametresiz olarak kullanmalsnz.

Bu mount komutu kts, listenin kolay alglanmas iin biraz ksaltlm ve yeniden dzenlenmitir.

274

Diskler, Disketler ve mount Komutu

Yukardaki rnekte sistemin ikinci IDE kanalndaki master diskin ikinci blmnn, yani /dev/hdc2nin / dizini olarak mount edildii ve dosya sistemi tipinin reiserfs olduu grlmektedir. Bu bilgisayar lists isimli bir baka bilgisayarn /bcc dizinini nfs zerinden kendi /bcc dizinine balam (mount etmi) grnyor. te yandan birinci IDE kanalnn ilk diskinin ikinci blmnn de /depo dizinine ilitirildii grlyor. Bu mount ileminin yaplabilmesi iin / dizini altnda /depo isimli bo bir dizinin bulunmas gerekir. Biraz kark oldu; deil mi? En iyisi bir senaryo zerinde aklamak galiba...

Yeni Disk Takma


imdi farzedin ki sisteminizin ikinci IDE kanalna slave olarak yeni bir disk taktnz. Bu diskte de tek bir disk blm var. Bu durumda diskinizin ad /dev/hdd; zerindeki yegane disk blmnn ad da /dev/hdd1 olacaktr. Diski fiziksel olarak takp bilgisayarnz amanz bu diske eriebilmeniz iin yeterli deildir. nce diskin blmlendirilmesi ve ardndan formatlanmas ondan sonra da zerine bo ve yeni bir dosya sistemi yaratlmas gerekir. Diskleri blmleme ve formatlama ilemi LINUXun fdisk komutuyla yaplr. Dosya sistemi yaratma ii de yaratmak istediiniz dosya sistemine gre mke2fs, mke3fs veya mkreiserfs komutlaryla yaplr. (zel bir nedeni olmadka tm disk blmlerinizi reiserfs veya ext3 dosya sistemleriyle donatmanz neririz.) Bu aamada bilgisayarnza taktnz yeni diskin zerinde tek bir blmn yer aldn ve bu blm zerinde de reiserfs formatnda bir dosya sistemi yaratlm olduunu varsayyoruz. Blmleme ve dosya sistemi yaratma ilemlerini daha ilerideki blmlerde aklayacaz. nce bu yeni diski ilitirmek iin bir dizin semelisiniz (mount point). Eer bu amala seebileceiniz bir dizin yoksa, yaratmalsnz. Yeni diskinizi, r-

275

Kim Korkar LINUXtan?

nein yedekleme amacyla kullanacaksanz, yedek isimli bir dizine ilitirmek anlaml olabilir. Bu durumda bir kereye zg / dizininiz altnda yedek isimli bir dizin yaratp bundan sonra her alta uygun mount komutunu vermeniz; daha dorusu her alta /dev/hdd1 disk blmnn /yedek dizinine ilitirilmesini salamanz yeterli olacaktr:
su mkdir /yedek mount -t reiserfs /dev/hdd1 /yedek

Bu ii yapabilmek iin root kullanc kimliine brnmeniz gerektiini sylemeye gerek yok herhalde... Eer bir hata mesaj almazsanz mount ilemi baaryla tamamlanm demektir. Tm UNIXlerde olduu LINUXta da No news is good news!; yani itiraz gelmezse iler yolunda demektir. imdi artk yeni diskinizi kullanabilirsiniz; rnein yedekleme amacyla taktnz bu diske eski disklerinizden dosyalar kopyalamaya balayabilirsiniz:
mkdir /yedek/home cp -r /home/cayfer /yedek/home

gibi...
Yeri gelmiken: Yedekleme ilerini cp komutuyla yapmak pek iyi bir yntem

deildir. lk sorun dosya-dizin okuma yetkilerinde kar. Bir dosyay kopyalayabilmek iin nce o dosyay okuyabilmeniz gerekir. Doal olarak root dnda hibir kullanc diskteki tm dosyalar okumaya yetkili deildir. Sorun kmasn diye cp komutunu root kullanc olarak verirseniz bu kez yeni kop-

yalarn sahibi root olur. Kitabn sonraki blmlerinde yedekleme ileri iin baka komutlar ve yntemlerden sz edeceiz. Dosya ve dizin kopyalarken bu yeni kopyalarn orjinallerini ayn kullancya ait olmalarn salamak serve ownership). gerekiyorsa cp komutunun -p parametresi sorunu zecektir (-p: pre-

mount komutuyla yeni diski /yedek dizinine ilitirip kullanmay baardnz ama sistemi her atnzda bu mount komutunu tekrarlamanz gerekecek. Sistemin her alnda /dev/hdd1 diskinin /yedek dizinine otomatik olarak

276

Diskler, Disketler ve mount Komutu

balanmas iin yaplmas gereken i /etc/fstab dosyasna uygun bir satr eklemek olacaktr. root kullanc olarak aadaki komutla /etc/fstab dosyasna yeni bir satr ekleyebilirsiniz:
cat >> /etc/fstab /dev/hdd1 /yedek reiserfs defaults 0 0

Aslnda bu satr ekleme iini vi ile yapmak ok daha mantkldr elbette; ama cat komutunu ylesine bir hatrlatmak istedik.

Artk sisteminiz her aldnda yedekleme amacyla kullandnz disk /yedek dizinine otomatik olarak ilitirilecektir.

Dosya Sistemi Tipleri


Bir dizine ilitireceiniz dosya sisteminin tipini mount komutunda -t parametresiyle belirtmelisiniz. LINUXun tand baz nemli dosya sistemi tipleri unlardr:

277

Kim Korkar LINUXtan?

Dosya Sistemi

-t Parametresi ext2 ext3 reiserfs msdos ntfs vfat nfs

Eski LINUX standart disk dosya sistemi. Modern LINUX disk dosya sistemi. Bir baka modern LINUX disk dosya sistemi. MS-DOS dosya sistemleri. NT Uyumlu (Win2K, XP) dosya sistemleri. CD dosya sistemleri. Windows-9x uyumlu dosya sistemleri. Datk (farkl bilgisayarlarda yer alan) dosya sistemi. (Network File System)

iso9660

Yukardaki tabloya gre, MS-DOS formatl bir disketi /mnt/floppy isimli bir dizine ilitirmek iin kullanmanz gereken
mount -t msdos /dev/fd0 /mnt/floppy

komutudur. Bilgisayarnza takacanz bir NT diskini okuyabilmek iin


mkdir /nt_diski mount -t ntfs /dev/hdd1 /nt_diski

gibi komutlar ie yarayacaktr.

Disklerde kullandnz dosya sistemi hangisi olursa olsun gnn birinde bu dosya sistemindeki veri yapsnn bozulma olasl vardr. Dosya sistemlerini oluturan veri yaplar, disklerde kullanlan ve bo veri bloklarnn ynetimini salar. Disk dosyalarnn fiziksel olarak yerletirildii bloklarn hesabnn tutulduu, izinin srld bu veri yaplarnda, hzl eriim iin bir sr karmak teknik kullanlmaktadr. Bu veri yaplarnn gncelletirilmesi srasnda kt bir zamana denk gelebilecek bir enerji kesintisi ya da donanm arzas dosya sisteminin btnlne ve tutarlna zarar verebilir. Her ne kadar ext3 ve reiserfs dosya sistemlerinde bu olaslk byk lde azaltlm olsa da gene sfrdan byktr.

fsck: Dosya Sistemi Kontrol Program

278

Diskler, Disketler ve mount Komutu

LINUX, sistemin al srasnda mount edilen tm disk blmlerine birer iaret koyar. Sistemin dzgn kapatlmas srecinde de baaryla zlen dosya sistemlerinden bu iaretleri kaldrr. Al srasnda mount edildi iareti ieren dosya sistemlerine rastlanrsa LINUX, bilgisayarn normal yollarla kapatlmadn, dolaysyla bu dosya sisteminin veri yaplarnda bir sorun olabilecei varsaymyla otomatik olarak o dosya sistemi iin fsck (file system check) programn altrr.
fsck, dosya sisteminde bir bozukluk grrse dzeltmeye alr, genellikle

de baarl olur. Bu dzeltmeleri yapmadan, nce bir mesajla bulduu sorunu gsterir ve sistem yneticisinden dzeltme iin izin ister:

Genellikle bu izni vermemeniz iin bir neden yoktur ve tm sorulara yes diyerek devam etmeniz gerekir. LINUX, dosya sistemlerinin ka kez mount edildiklerinin de hesabn tutar ve her 20 ilitirmede bir, o dosya sistemi iin sorun olmasa bile fsck altrr. ok fazla gerekmemekle birlikte, dosya sistemlerinin btnln kendiniz kontrol etmek istediinizde
fsck /dev/hdc1

279

Kim Korkar LINUXtan?

gibi komutlarla bu ii yapabilirsiniz. Doal olarak bu i iin root kullanc yetkilerine sahip olmalsnz; ayrca kontrol edilecek disk blmnn sistemde herhangi bir dizine ilitirilmemi olmas gerekir. litirilmi (mounted) dosya sistemleri zerinde fsck altrmak tehlikelidir. Eer buna mecbur kalrsanz, fsck sresince, alan yazlmlarn sz konusu dosya sisteminde yer alan hibir dosya ya da dizinde deiiklik yapmayacandan emin olmanz gerekir.

supermount
Sistemin /etc/fstab dosyasna baktnzda /mnt/cdrom ve /mnt/floppy dizinlerinin /dev/cdrom ve /dev/fd0 evre birimlerinin supermount seenei ile ilitirildii dikkatinizi ekmi olmal. Bu seenekler, sz konusu evre birimlerine CD veya disket takldnda, mount komutu vermeye gerek kalmakszn taklan medyann otomatik olarak /mnt/floppy veya /mnt/cdrom dizinlerine ilitirilmesini salamaktadr. Ayn ekilde; sz konusu srclerdeki medyalar karldnda da ilgili dizinler otomatik olarak unmount edilir.

CD Kullanm
Siz deitirmediyseniz, CD srcnze ilikin /etc/fstab satrnda supermount parametresi belirtilmi olmaldr. Bu parametre sayesinde CD srcnze dolu bir CD taktnzda, o CD mount komutunu vermenize gerek kalmadan /mnt/cdrom dizinine ilitirilir. Artk o CDdeki dosya ve dizinleri /mnt/cdrom dizini altnda grebilirsiniz. Eer /etc/fstab dosyanzda /dev/cdrom ile ilgili bir satr yoksa, taktnz CDlerin iini grebilmek iin
mount -r-t iso9660/dev/cdrom /mnt/cdrom

gibi bir komut vermeniz gerekecektir. (-r parametresini kullanmanz; yani ilitirilecek dosya sisteminin yalnz okunabilir: read-only olduunu belirtmeniz art deildir; ancak hereyi kuralna gre yapmaya almak yararldr.)

280

Diskler, Disketler ve mount Komutu

Disket Kullanm
Siz deitirmediyseniz, disket srcnze ilikin /etc/fstab satrnda supermount parametresi belirtilmi olmaldr. Bu parametre sayesinde disket srcnze formatl bir disket taktnzda, o disket mount komutununa gerek kalmadan /mnt/floppy dizinine ilitirilir. Artk o disketteki dosya ve dizinleri /mnt/floppy dizini altnda grebilirsiniz. Eer /etc/fstab dosyanzda /dev/fd0 ile ilgili bir satr yoksa, taktnz disketi kullanabilmek iin

mount-t msdos /dev/fd0 /mnt/floppy

gibi bir komut vermeniz gerekecektir.

umount Komutu
Sisteminizde bir dizine ilitirilmi olan bir dosya sistemini zmek isterseniz umount komutunu kullanmalsnz. (Tabii ki bu ii gene yalnzca root kullanc yapabilir)
Dikkatli okuyucularn sorduunu duyar gibiyiz: Bu i ka ylda bir gerekecek ki; neden anlatyorsunuz? Evet, baz kullanclar iin bu iler hi gerekmeyebilir; ama gerektii zaman da bunlar bilmek zorundasnz. Hele diskinizdeki bir dizine ilitirmek isteyebileceiniz bir diskin bir baka bilgisayarda takl olabileceini dikkate alrsanz, bu mount-umount komutlarna tahmin ettiinizden daha abuk gereksinim duyacanza emin olabilirsiniz.

umount /yedek

rnein; /yedek dizinine ilitirilmi /dev/hdd1 diskini zmek istediinizde veya

umount /dev/hdd1

komutlarndan birini kullanabilirsiniz.

281

Kim Korkar LINUXtan?

Baka UNIX Bilgisayarlardaki Diskleri Kullanmak


Disklerinin (daha dorusu dizinlerinin) baka bilgisayarlar tarafndan kullanlmasna izin veren UNIX bilgisayarlarn bu dizinlerini kendi bilgisayarnzdaki dizinlere ilitirebilirsiniz. rnein, komutu, abc.com.tr andaki sunucu isimli bilgisayar tarafndan /yedek adyla paylama alm dizini, kendi bilgisayarnzdaki /yedek2 dizinine ilitirecektir. Bir LINUX bilgisayardaki disk/dizinleri paylama amay ve bu ekilde paylama alm dizinlerin kullanmn dzenleyen yetki konularn daha ileride aklayacaz.
mount -t nfs sunucu.abc.com.tr:/yedek /yedek2

mount lemlerini Otomatik Olarak Yapmak (fstab)

Aadaki rnekte /etc/fstab dosyasn incelediinizde:

Bilgisayarnz alrken otomatik olarak eitli dizinlere ilitirilecek disk blmleri /etc/fstab dosyasnda tanmlanr.

Sistem alrken hangi disk blmnn hangi dizine ilitirileceini greceksiniz.

282

Diskler, Disketler ve mount Komutu

Bu rnekte fstab dosyasnda dikkatinizi ekmek istediimiz bir satr var: Bu satrda, sistem alrken 139.179.14.51 IP numaral bilgisayardaki /iso/mdk91 dizininin bu makinedeki /ortak dizininine ilitirilecei belirtiliyor. Dosya sistemi tipi olarak verilmi olan nfs parametresi, sz konusu dizinin bir baka UNIX bilgisayar tarafndan paylama aldn gstermektedir. Bu rnek dosyada yer alan satrlardaki defaults szc mount ilemi srasnda kullanlacak seenekleri; ardndan gelen ve 1 veya 0 olan ilk rakam sz konusu dosya sisteminin dump komutu kullanldnda yedeklenip yedeklenmeyeceini; son rakam da fsck komutu kullanldnda sistemdeki dosya sistemlerinin hangi srayla kontrol edileceini belirtmektedir. fsck sra numaras ayn olan dosya sistemleri birlikte paralel olarak kontrol edilir. fsck sras 0 ise o dosya sistemi kontrol edilmez. sunucu makinesindeki ortak dizininin fsck srasnn 0 olmasnn nedeni, doal olarak bu dosya sisteminin fsck kontrollerinden, dosya sistemi ya da dizinin gerek sahibi olan bilgisayarn sorumlu olmasdr.
139.179.14.51:/iso/mdk91 /ortak nfs ro 0 0

Baka Bir Windows Bilgisayarn Diskini Kullanmak


Yerel anzda bulunan, Windows iletim sistemleriyle alan ve baz dizinlerini paylama am bilgisayarlar varsa bu dizinleri siz de kullanabilirsiniz. rnein; IP adresi 123.123.12.3; ad da pazarlama olan bir WinXP bilgisayar kendi diskindeki bir dizini teklifler ad altnda paylama am olsun. Bu dizine Linux bilgisayarnzdan eriebilmek iin
mount -t smbfs //123.123.12.3/teklifler/mnt/windows -o username=cua,password=sifre //pazarlama/teklifler /mnt/windows -o username=cua,password=sifre

komutunu veya
mount -t smbfs

kullanabilirsiniz (elbette siz bu komutu tek satrda vermelisiniz). kinci formdaki komutu; yani bilgisayarn IP adresi yerine ismini kullanabilmeniz iin, sz konusu bilgisayarn bu isimle DNS kaydnn yaplm olmas veya sizin bilgisayarnzda /etc/hosts dosyasnda bir kayd olmas gerekir.

283

Kim Korkar LINUXtan?

Yukardaki rnek komutlarda belirtilmi olan cua kullancs ve ifresi, Windows sisteminde tanmlanm olmas gereken bir kullanc kodu ve ifresidir. Sizin Linux bilgisayarnzda bu isimle bir kullanc kayd gerekmez.

Dosya Sistemi Yaratmanz Gerekirse...


Disk ve disketlerinizi kendiniz formatlamanz gerektiinde iki aamal bir i yapmalsnz: 1. nce medyay formatlamal, 2. sonra zerine uygun bir dosya sistemi yaratmalsnz. rnein MS-DOS formatl bo bir disket hazrlamak istediinizde,
/usr/bin/fdformat /dev/fd0 /sbin/mkfs -t msdos /dev/fd0

komutlaryla nce disketi formatlayp sonra zerine MS-DOS dosya sistemi oluturmalsnz. Eer -t parametresiyle dosya sistemi tipi belirtmezseniz ext2 dosya sistemi kabul edilir ve ancak LINUX/UNIX bilgisayarlara mount edilerek kullanlabilen bir disket elde edersiniz. Sabit diskleri formatlarken de benzeri bir yntem izlenir. nce,
/sbin/fdisk /dev/hdc

gibi bir komutla diskin zerinde yer alacak blmleme tablosu (partition table) oluturulur; daha sonra diskin zerindeki blm saysna gre:
/sbin/mkfs /sbin/mkfs -t -t reiserfs /dev/hdc1 ext3 /dev/hdc2

gibi komutlarla her blm zerinde yer alacak dosya sistemleri oluturulur.
/sbin/mke2fs /dev/hdc2

komutu /sbin/mkfs -t ext2 /dev/hdc2 ile edeerdir. Dolu diskler zerinde fdisk ve mkfs komutlarn denemeyiniz; tm kaytlar silersiniz.

284

Diskler, Disketler ve mount Komutu

BUNLARI BLYOR MUYDUNUZ?

Linuxta virsler neden byk bir tehdit deildir?

LINUX iletim sistemi altnda eriim yetkileri ok iyi tanmlanmtr. root kullanc dnda hi bir kullanc sistem dizinlerine ve sistem dosyalar zerine yazmaya yetkili deildir; e-posta ekinde gelen virsl programlar normal bir kullancnn yetkileriyle altrsanz bile sisteme zarar veremezsiniz. LINUX, batan beri ok kullancl bir iletim sistemi olarak dnld ve gelitirildii iin, sistemin yetkisiz kullanclara ve hatal yazlmlara kar korunmas iyice denenmi, olgunlamtr.

285

Kim Korkar LINUXtan?

286

nemli LINUX Komutlar


find grep tar Komutu ve tar Dosyalar tar Komutu ile Yedekleme rsh xargs at date, hwclock lynx cut tee script split

09

find

Gnmzn tipik kiisel bilgisayarlarnda disk kapasiteleri artk onlarca GigaByte ile llmektedir. Bu kadar byk disklerde de doal olarak ok sayda dizin ve onbinlerce dosya yer alabilmektedir. Zaman zaman adnn yalnzca bir ksmn bildiiniz ama bulunduu dizini bir trl hatrlayamadnz dosyalar ve dizinler olacaktr. Tek tek btn dizinlere girip ls komutuyla bu dosya ya da dosyalar aramaktansa find komutunu kullanmak hayat kolaylatracaktr. rnein;
find /home/cayfer -name nerede.dat

komutu, /home/cayfer dizininden balayarak, bu dizinde ve daha derinlerdeki dizinlerde ad nerede.dat olan dosyay arar; bulursa yerini grntler.

287

Kim Korkar LINUXtan?

Yukardaki rnekte, nerede.dat isimli iki dosya, /home/cayfer dizini altndaki tmp ve fp dizinleri altnda bulunmutur. find komutuyla yalnzca ad ya da adnn bir paras bilinen dosyalar aramak iin kullanlmaz. Dosyalar adlar dnda da zelliklerine gre aranabilir. Genel formu:
find balama-dizini kriter[ler] [-exec komut ;]

olan komutla: belirli bir tarihte deiiklie uram dosyalar, belirli bir tarihten bu yana deimi dosyalar, belirli bir boydan daha byk ya da kk dosyalar, belirli eriim yetkilerine sahip dosyalar ve dizinleri, belirli bir kullancya ait dosya ve dizinleri de arayp bulabilirsiniz. stelik, verdiiniz arama kriterlerine uyan dosyalar ve dizinler zerinde uygulamak isteyebileceiniz LINUX komutlarn da find komutuna parametre olarak verebilirsiniz.
balama-dizini: Arama ilemi, find komutunun bu ilk parametresinde

belirtilen dizinden balar ve varsa bu dizinin alt dizinleri de arama aacna dahil edilir. Eer arama ileminin, bilgisayarnza bal ve mount edilmi tm dosya yaplarnda (disk, CD ve baka bilgisayarlarn dosya sistemleri de olabilir) yaplmasn istiyorsanz, ilk parametre olarak / semboln kullannz; yani aramay tm dosya sistemlerinizin en tepesinden balatnz.

288

nemli LINUX Komutlar

Bilgisayarnzn CD-ROM srcs varsa, bu srcye bir CD taklysa, bu arama aac CD-ROM srcsn de kapsayacaktr. CDlerin kapasitele-

CD mount edilmi durumdaysa ve aramay / dizinininden balatrsanz,

rinin bykl ve eriim hzlarnn dklnden dolay bu arama uzun srecektir. Ayn mantkla, bilgisayar a zerinden baka bilgisayarlarn diskleri de sizin dosya sisteminize mount edilmi durumdaysa, o diskler de arama aacna girecektir. Zaman kaybna yol amamak iin, gerekmedikle aramann baka dosya sistemlerine de atlamasn nleyerek bu dertten de kurtulmak mmkndr elbette. e aramay / dizininden balatmamanz neririz. mount parametresiy-

kriter[ler]: Aranan dosya veya dizinlerin ortak zelliklerini tanmlayan

kriterlerdir. Birka rnek vermek gerekirse:


-name isim -name abc*

Ad isim olan dosyalar.

-name [a-k]9

Ad abc ile balayan dosyalar.

(Farkl dizinlerde ayn isme sahip dosyalar olabilir.)

Ad a9, b9, ..., j9 veya k9 olan dosyalar.

Dikkatinizi ektiyse, -name kriterinde dosya ad tam olarak yazldnda trnak () kullanlmyor; oysa * karakterini ieren bir kalp kullanldnda (wildcard) bu kalb trnak () iinde yazmak gerekiyor. Bunun nedeni udur: Bir komut verdiinizde, bu komut nce kabuk programnz tarafndan irdelenir. Bu irdeleme srasnda rastlanan * karakterleri dosya ad kalplarnn bir paras olarak kabul edilip, * ieren parametre bu kalba uyan dosya isimleriyle deitirilmeye allr. Oysa, kalplara uyan dosya isimmas gerekmektedir. Kabuk programlarnn irdeleme srasnda karlaalacak programa aktarmalar iin, kalp tanmlar trnak iine alnr. lerinin kabuk program tarafndan deil, find program tarafndan bulun-

caklar * karakterlerine dokunmadan, parametreleri olduklar gibi altr-

-user ayfer

-group yonetim

Sahibinin ad ayfer olan dosyalar ve dizinler. Sahibi yonetim grubuna dahil olan dosyalar ve dizinler.

289

Kim Korkar LINUXtan?

-perm 755

Eriim yetki dzeyi 755 olan dosyalar ve dizinler.


dosya1 isimli dosyadan daha sonraki bir saat ya da

-newer dosya1 -size 10 -size +100k -size -100c -ctime 3

tarihte deiiklie uram olan dosyalar ve dizinler.

Diskte kaplad alan 10 blok olan dosyalar. (1 blok = 512 Byte) Diskte kaplad alan 100 Kbytedan byk olan dosyalar. Diskte kaplad alan 100 bytedan az olan dosyalar. Tam 3 gn nce deiiklie uram olan dosyalar ve dizinler. 8 gnden daha uzun bir sre nce deiiklie uram olan dosyalar ve dizinler. 8 gnden daha ksa bir sre nce deiiklie uram olan dosyalar ve dizinler. Tam 3 gn nce deiiklie uram olan dosyalar ve dizinler. 8 gnden daha uzun bir sre nce deiiklie uram olan dosyalar ve dizinler. 8 gnden daha ksa bir sre nce deiiklie uram olan dosyalar ve dizinler. 3 gnden daha ksa bir sre iinde bir ekilde eriilmi olan dosyalar ve dizinler. 3 dakikadan daha ksa bir sre iinde bir ekilde eriilmi olan dosyalar ve dizinler. 3 dakikadan daha ksa bir sre iinde deiiklie uram veya yaratlm olan dosyalar ve dizinler. Dosyalar. Dizinler.

-ctime +8 -ctime -8 -mtime 3 -mtime +8 -mtime -8 -atime -3 -amin -3 -mmin -3 -type f -type d

290

nemli LINUX Komutlar

masyla ilgili sreleri kontrol eder; ancak aralarnda kk bir fark vardr:

-ctime ve -mtime parametrelerinin her ikisi de dosyann deiiklie ura-mtime dosyann ieriinde bir deiiklik yaplp yaplmadn; -ctime ise dosyann ierii yansra zelliklerinin de deiip
deimediini kontrol eder.

-ctime tarafndan dikkate alnr.

rnein, sahibi deien bir dosya -mtime tarafndan farkedilmezken

Bu arama kriterlerini bir arada kullanabilirsiniz. rnein, sahibi hakman olan ve son 40 gndr kullanlmam dosyalar bulmak isterseniz, kullanmanz gereken find komutu
find /home -user hakman -atime +40

olmaldr. imdi, sk kullanlan find formlar iin birka rnek verelim:


/home/ayfer dizininden balayarak bu dizinde ve alt dizinlerinde onemli.dosya isimli dosyalar arar ve bulduklarnn adn ve yerini standart find /home/ayfer -name onemli.dosya

ktya (ekrana) listeler.

find / -name core -exec /bin/rm {} ;

/ dizininden balayarak tm dizin yapsnda core isimli dosyalar arar ve bulduklarn siler.
find komutu -exec parametresiyle birlikte kullanldnda, bulunan dosya ve dizin isimleri, { } arasna parametre olarak yerletirilecek ve -execden hemen sonra belirtilmi olan program bu parametre ile altrlacaktr. Yukardaki rnekte bulunan her bir core dosyas iin /bin/rm core komutu altrlm olacaktr. En sondaki ; parametresi ok nemlidir ve unutulmamaldr. Sondaki bu ; karakter dizisinin gereklilii tamamen find programnn yazlndan kaynaklanmaktadr.

291

Kim Korkar LINUXtan?

komuttur. LINUX, eitli programlarn kullanm srasnda sistemin btnln tehdit eden bir problemle kalatnda (ki bu genellikle hatal yazlm programlar yznden olur) core dumped mesajyla birlikte, bellei core isimli bir dosyaya kopyalar. Bu core dosyalar, programclarn problemin nedenini bulmasna yardmc olmak amacyla yaratlr. Bu dosyalar irdeleyerek problemin nedenini bulmak pek kolay olmadndan, bu dosyalar ieriklerine bakmakszn silebilirsiniz. Bir baka nemli rnek:
find /home -user hasan -exec /bin/rm {} ; /home dizininden balayarak hasan isimli kullancya ait dosyalar arar ve

find, sistem ynetiminden sorumlu olanlarn olduka sk kullanacaklar bir

bulduklarn siler. Sisteme eriim haklar iptal edilen bir kullancya ait dosyalar tek harekette silmek iin kullanlabilir.
find /home -name *.mp3 -exec /bin/rm {} ;

/home dizininden balayarak ad *.mp3 kalbna uyan dosyalar arar ve bul-

duklarn siler.

find /home

/home dizininden balayarak ad tmp veya temp olan dizinleri bulur ve liste-

-type

d -name [tmp, temp]

ler.

find komutuyla birlikte kullanlabilen kriterleri eitli mantk operatrleriy-

le birletirebilirsiniz. Bunlar:
-a: -o: \!:

ve veya deil

operatrleridir. rnein:
find . -name *.tmp -a -size +1000k

alma dizininde (.) ve varsa altndaki dizinlerde ad *.tmp kalbna uyan

292

nemli LINUX Komutlar

ve bykl 1000 KByteden fazla olan dosyalar bulur.


find /home/cayfer \! -user cayfer

cayfer isimli kullancnn kiisel dizininde yer alan ama cayfere ait olma-

yan dosyalar bulur.

Bu rnekteki deil anlamnda kullanlan \! operatrndeki \ iareti, ardndan gelen ! iaretinin zel bir anlam olduunu ve kabuk program tarafndan yorumlanmaya allmamas gerektiini belirtmek iin kullanlmaktadr. Hatrlarsanz, daha nce UNIX iletim sisteminde kendi komutlarnz yaratabileceinizden bahsetmitik. te bu uygulamaya bir rnek vermek iin uygun bir noktadayz.
find komutu olduka yetenekli ve ok seenekli bir komut olmakla birlikte klavyeden yazmas da olduka uzun bir komuttur. Dosyalar yanlzca adlaryla arayan, find komutundan daha ksa bir LINUX komutu yaratmaya ne dersiniz?

Aadaki bash kabuk programn herhangi bir editrle (tabii ki vi ile) kiisel dizininizde ff isimli bir dosyaya giriniz:
#!/bin/bash case $# in 1) find . -name $1 ;; echo echo 2) find $1 -name $2 ;;

*) echo Hata! Komutun kullanm : ff [dizin] isim esac

ff [dizin] \xyz*\ ff [dizin] \*xyz\

Daha sonra,
chmod a+x ff

komutuyla, bu dosyann eriim yetki kalbn, tm kullanclar tarafndan altrlabilen bir komut dosyas olacak ekilde deitiriniz.

293

Kim Korkar LINUXtan?

Bu kabuk program, nce kendini altran komut satrnda verilmi olan parametrelerin saysn kontrol ediyor. ( $#) Eer tek parametreyle balatlmsa find . -name parametre komutunu altryor. Eer iki parametreyle balatlmsa, birinci parametreyi aramann balatlaca dizin kabul edip find param1 -name param2 komutunu altryor. Eer parametre says bir veya iki deilse satrdan oluan bir hata mesaj veriyor.
ff ff ff ff

rnekler:

Yeni yarattnz ff komutunu kullanmak istediinizde komut programnn bulunamadna ilikin bir mesaj alyorsanz, alma dizininiz PATH deikeninizde yer almad iin olabilir. O zaman program ./ff komutuyla altrabilirsiniz. Yeni ff komutunuzu iyice denedikten sonra genel kullanma sokmak iin ff dosyasn /usr/local/bin altna kopyalayabilirsiniz. Ancak bu kopyalamay yapabilmek iin root kullanc yetkilerine gereksiniminiz olacaktr. locate
Birok modern Linux datmnda, arka planda alan "slocate" program genellikle gnde bir kez olacak ekilde disk(ler)inizdeki dosyalarn isimlerini indeksler. Bu sayede "locate xyz" komutunu kullanarak normalde birka dakika srebilecek find /-name "*xyz*" benzeri komutun sonucunu saniyeler iinde grebilirsiniz. Tabi bu sonu sisteminizin o andaki hali iin deil, en son indekslemenin yapld zaman iin geerli olacandan, sisteminizde ne kadar deiiklik olduuna bal olarak kimi zaman doru olmayabilir.

aranan.veri.dosyasi /home/ugur prog.c ~ file001.dat *dat

grep Komutu

Dosyalar adlar ve sahipleri gibi zelliklerine gre arayp bulma iini find komutu ile halledebilirsiniz. Ama bazen de dosyalar isimlerine gre deil, ieriklerine gre aramanz gerekecektir. Belli bir karakter dizisini ieren dosyalar ve/veya bir dosya grubu iinde belli bir karakter dizisi geen satrlar bulmak iin;

294

nemli LINUX Komutlar

grep [-irvnc] dizi dosya(lar)

komutunu kullanmalsnz. Hemen birka rnek... inde sisteminizin tm tanml kullanclar iin birer satr yer alan /etc/passwd dosyasnda murat diye bir szck olup olmadn kontrol etmek istediinizde
grep murat /etc/passwd

komutunu kullanabilirsiniz. Bu dosyann iinde murat szc geen tm satrlar standart kt birimine listelenecektir. Ancak komutu bu rnekteki gibi kullanrsanz iinde Murat geen satrlar yakalayamazsnz. Byk-kk harf ayrm yaplmakszn arama yaplmasn istiyorsanz komutu;
grep -i murat /etc/passwd

eklinde vermeniz gerekir. inde Murat ya da murat geen satrlarn satr numaralarn da grmek isterseniz:
grep -ni murat /etc/passwd

formunu kullanabilirsiniz. Diyelim ki bulunduunuz dizinde, ad prog ile balayan dosyalar arasnda bir veya birka tanesinin iinde cayfer szcnn bulunduunu biliyorsunuz ama hangileri olduunu hatrlayamyorsunuz! te zm:
grep cayfer prog*

Ad progla balayan dosyalarda cayfer szcnn ka defa getiini renmek isterseniz grep komutunu:
grep -c cayfer prog*

eklinde -c parametresiyle kullanlabilirsiniz.

295

Kim Korkar LINUXtan?

Eer iinde belirli bir karakter dizisi geen dosyalar bir dizin aacnda arayacaksanz -r parametresi ok iinize yarayacaktr.
grep -r cayfer *

komutu cayfer karakter dizisini alma dizinindeki ve bu dizin altndaki dizinlerdeki dosyalarda arar ve iinde cayfer geen dosyalarn isimlerini listeler.
grep komutunun rettii listenin ok uzun olmas durumunda, komutu grep -r

eklinde kullanrsanz, grep komutunun rettii listeyi more komutuna ynlendirerek listenin ekrana sayfa sayfa grntlenmesini salayabilirsiniz.

cayfer * | more

komutu -v parametresinden dolay /etc/passwd dosyasndaki satrlar arasnda, iinde bash gemeyenleri listeleyecektir.
grep komutu ille de dosyalar iinde arama iin kullanlmaz. Baka programlarn rettii ktlar arasnda da arama yapabilirsiniz. rnein, sisteminizin

grep -v bash /etc/passwd

Baz durumlarda size bir dosyada iinde cayfer geen satrlar deil de, cayfer gemeyen satrlar gerekir.

296

nemli LINUX Komutlar

internet servislerini ve balantlarn yneten xinetd isimli srecin konfigrasyonunda deiiklik yaptnzda ve bu program yeniden balatmanz gerektiinde xinetdnin sre numarasn bilmeniz gerekecektir. LINUX altnda alan bilgisayarlarda, ok mehur baz iletim sistemlerinde olduu gibi ayar deiikliklerinden sonra sistemi kapatp amak gerekmez. xinetd yazlmna kendisini yeniden balatmas iin; daha dorusu ayar dosyalarn yeniden yklemesi iin -HUP sinyalini gndermek yeterli olacaktr.
xinetd srecinin numarasn, olduka uzun olan ps e listesinde gzle aramak yerine bu listeyi grep filtresinden geirebilirsiniz.

grep komutunun gzip veya compress ile sktrlm dosyalar iinde de arama yapabilen bir varyasyonu vardr: zgrep.

Sisteminizin /var/log dizinindeki dosyalara bakarsanz bazlarnn isimlerinin 1.gz, 2.gz gibi karakterlerle bittiini grrsnz. Bunlar sistemin logrotate ileviyle belirli aralklarla sktrp arivledii log dosyalardr. (logrotate ile ilgili ayrntl bilgiyi kitabn Sistem Ynetimi blmnde bulabilirsiniz.) Bir dosya sktrldnda artk iinde okunabilir karakterler yer almayacaktr. Yani, sktrlm bir dosya iinde cayfer szcn grep ile aramak pek ie yaramaz. Bu sktrlm dosyalarda bir eyler arayacanz zaman grep komutunu kullanabilmek iin nce bu dosyalar gunzip gibi bir komutla amanz ve ondan sonra grep komutuyla ilerinde arama yapmanz gerekir. Ama durun bir dakika... LINUX kullandnz unuttunuz herhalde... grep yerine
zgrep cayfer /var/log/mail/*

297

Kim Korkar LINUXtan?

komutuyla cayfer szcn /var/log/mail altndaki tm dosyalarda arayabilirsiniz. stelik zgrep, sktrlm dosyalar ve normal dosyalar ayrdedip arama ilemini ona gre yapacak, aradn bulursa da rapor edecektir.

tar Komutu ve tar Dosyalar

LINUX dnyasnda alan birinin; hele sistem yneticisiyse, ok sk karlaaca bir kavramdr tar... Tape Archive szcklerinden tretilmitir. UNIX iletim sisteminin yazlmaya baland yllarda teyp makaralarna ya da kasetlerine dosya kaydetmek ve bu dosyalar geri indirmek iin gelitirilmitir. Artk teyp kullanm, yaygnln kaybetmi olsa da (aslnda byk sistemlerde hala en yaygn yedekleme ve arivleme ortam teyptir, ancak kk ofis ortamlarnda artk teyp srclere pek rastlanmamaktadr) tar dosya mant aynen ve daha da yaygnlaarak kullanlmaktadr.
tar dosyas hazrlamann ok basit bir mant vardr: tarlanmak istenen

dosyalar pepee ekleyip tek bir dosya elde etmek.

tar komutu tar dosyas

Yukardaki emadaki gibi d1, ..., d5 isimli dosyalar tek bir d.tar dosyasnda birletirmek iin:
tar tar cvf cvf d.tar d.tar d? d1 d2 d3 d4 d5

veya

komutlarndan biri kullanlabilir. tar dosyalar, ya da LINUX jargonuna uygun olarak sylemek gerekirse, tar yumaklar (tar balls) son yllarda program paketlerini tamak iin en ok kullanlan yntemdir. Windows dnyasnda da ayn bu ekilde ok kullanlan bir dosya paketleme yntemi vardr: ZIP. Diyeceksiniz ki ZIP dosyalar pepee ekliyor eklemesine ama hem dosyalar sktrarak toplam paketi kltyor hem de alt dizinleri de paketin iine yerletirebiliyor.

298

nemli LINUX Komutlar

Bir kere u noktada anlaalm: Windows serisi iletim sistemleri kiisel kullanm iin tasarmlanmtr ve bu kavram iinde de olduka baarldr. Oysa UNIX, 30 yldan fazla bir sredir gelitirilmektedir ve profesyonel kullanm iin tasarmlanmtr. Bu nedenle biliim dnyasnda Windowsun yapp da LINUXun yapamadklar deil, bunun tam tersi konuulur. Szn ksas
tar -cvzf web_cayfer.tgz ./public_html

komutuyla /home/cayfer/public_html dizini altndaki hereyi web_cayfer.tgz dosyas iine sktrarak paketleyebilirsiniz.

imdi tar komutunda kullanlabilecek baz nemli parametrelere ve tarn ok kullanld ilere bir gz atalm:
tar Parametreleri c Create: tar dosyas yaratlacan belirtir.

x Extract: Bir tar dosyasnn alacan (zleceini) belirtir.

t Table of contents: Bir tar dosyasnn ieriinin listeleneceini belirtir. v Verbose: Bir tar dosyas yaratlrken ya da alrken elden geen

dosyalarn isimlerini ekrana listelemek iin kullanlr.

299

Kim Korkar LINUXtan?

z tar dosyasnn sktrlm bir dosya olarak kullanlacan belirtir.

f File: Yaratlacak, alacak ya da iindekiler tablosu listelenecek tar

Yani, dosya yaratlyorsa sktrlarak yaratlacaktr; dosya zlyorsa, ncegunzip ile almas gerektiini belirtir.

dosyasnn adnn komut satrnda verileceini belirtir. tar dosyas yaratrken, yaratlacak dosya adnn verileceinin belirtilmesi biraz garip geldi, deil mi? Evet, haklsnz ama diskte gerek bir dosya yaratmakszn tar dosyas oluturmak olduka anlamldr. Bu ekilde kullanmn bir rneini tar Komutu ile Yedekleme bal altnda bulabilirsiniz.

imdi sra rneklerde:


tar -cvf dat_dosyalar.tar *dat

tar -cvzf dat_dosyalar.tgz

alma dizininde yer alan ve isimleri dat ile biten tm dosyalar dat_dosyalar.tar adyla birletirir. Ayn ii dosyalar sktrarak yapar. Sktrma ii gzip program kullanlarak yaplr.
dat_dosyalar.tar *dat

tar -tf

dat_dosyalar.tar isimli dosyann iindeki dosya ve dizinlerin listesini

dker.

tar -xvf dat_dosyalar.tar dat_dosyalar.tar dosyasnn iindeki tm dosyalar alma dizinine

aar.

tar -xvf

dat_dosyalar.tar dosyasnn iinden yalnzca birinci.dat isimli dosya-

dat_dosyalar.tar

birinci.dat

y alma dizinine aar. Eer amak istediiniz dosya, tar dosyas oluturulurken bir dizin altnda yer alyor idiyse, bu dosyay aarken o dizini de belirtmelisiniz. (tar -xvf d.tar /home/cayfer/mail gibi.)

300

nemli LINUX Komutlar

tar -xvf dat_dosyalar.tar -C /tmp/yeni_dizin /tmp/yeni_dizin dizinine aar.

dat_dosyalar.tar dosyasnn iindeki tm dosyalar

tar -cvf /dev/rst0 /home

/home dizinindeki hereyi birinci SCSI teyp birimindeki kasete kaydeder (st0) ve ii bitirince kaseti baa sarar. (r: rewind) /home dizinindeki hereyi birinci SCSI teyp birimindeki kasete kaydeder (st0) ve ii bitirince kaseti kald yerde brakr. (nr: no rewind) /home/cayfer dizini hari, /home altndaki tm dosya ve dizinleri yedek.tar dosyasnda sktrarak birletirir. -cvzf yedek.tgz /home -exclude /home/cayfer /home

tar -cvf /dev/nrst0

tar

tar programnn yaratt dosyalarn uzantlar .tar ya da .tar.gz olmak zorunda deildir. Ancak tar dosyalarn bu ekilde isimlendirmek nemli bir alkanlnz olmaldr. Aylar sonra karnza kan bir dosyann tar dosyas olduunu hatrlamayabilirsiniz; ancak isim verirken .tar veman iin hatrlarsnz.

ya .tar.gz uzants verdiiniz dosyalar ne yapmanz gerektiini her za-

tar programnn c, v, f gibi parametrelerinin bana - iareti koymak zorunda deilsiniz, yani tar cvf home.tar /home geerli bir komuttur.

tar Komutu ile Yedekleme


Tm akl banda bilgisayar kullanclar gibi dosya ve dizinlerinizi yedeklemelisiniz. Bilgisayarnzn diskinin arzalanmasna, bilgisayarnzn olduu gibi alnmasna, yanmasna ya da disklerin yanllkla formatlanmasna hazrlkl olmalsnz. Kullanc olarak kendi dosyalarnz, periyodik olarak (rnein her akam) bir baka disk zerine kopyalayabilirsiniz. Bir baka bilgisayara kopyalamak

301

Kim Korkar LINUXtan?

elbette daha gvenli olacaktr. Artk yedekleyeceiniz dosyalarn deerine gre kendiniz bir strateji gelitirirsiniz naslsa... Yedekleme amacyla bu kopyalama iini sistem yneticisi sfatyla, yani root kimliiyle yapmanz gerektiinde sizi kk bir sorun bekliyor olacaktr:
Tipik bir UNIX bilgisayarda /home dizini altnda kullanclarn kiisel dizinleri yer alr. Normal koullarda her kiisel dizinin ve altndaki dosyalarn sahibi farkl kullanclar olacaktr. root kullanc olarak

cp -r /home /disk2

ama disk2 altna kopyalanan tm dosyalarn ve dizinlerin sahibi root olur!

komutuyla /home dizinindeki hereyi ikinci disk zerine kopyalayabilirsiniz,

Bu durumda yedekleri geri indirmeniz gerektiinde indirilen tm dosyalarn sahiplerini yeniden dzenlemeniz gerekecektir. Zor i! Oysa, tm dosya ve dizinlerin batan gerek sahiplerinin kimliiyle yedeklenmesi ok daha anlaml olurdu. Bu nedenle cp komutunu yedekleme iin kullanmanz nermeyiz. Aslnda LINUX iletim sisteminin basit kopyalama komutu olan cp program -p parametresiyle bu sorunu ortadan kaldrabilmektedir; yani, deiik kullanclara ait dosyalar
cp -rp /home /disk2

gibi bir komutla (-p parametresini kullanarak) kopyalarsanz, kopyalanan dosyalar yeni yerlerinde asl sahipleri ve eriim zellikleriyle birlikte kopyalanr. Ancak bu zellik standart bir UNIX zellii olmad iin LINUX dndaki UNIX trevlerinin hepsinde ie yaramaz. Sistem yneticisi olarak yedek almanz gerektiinde tar kullanmaya almanz daha yararl olacaktr.
tar komutu yedekleme komutlar arasnda en kullanl olandr. Bir tar yuman zmek zere gerekli tar komutunu root kullanc kimliiyle verdiinizde bile zlen tm dosya ve dizinler orijinal sahiplerinin kimliine uygun olarak zlr. tar komutunun -f parametresini hatrlyor musunuz? Hani yaratlacak tar dosyasnn adn vereceinizi belirten parametre... Bu parametreden sz

302

nemli LINUX Komutlar

ederken tar komutunu bir tar dosyas yaratmadan da kullanmak olasdr demitik. Evet; imdi bu garip olay aklamann zaman geldi: Diyelim ki bilgisayarnza ikinci bir disk taktnz ve /home dizinini bu yeni diske tamak istiyorsunuz. /home dizininizdeki dolu alan 24 GB olsun, yeni diskiniz de 40 GB olsun. cp -r /home /disk2 komutunun i grmeyeceini anlatmtk. Peki, nce:
tar

komutuyla /home dizininin /disk2 zerinde bir tar yuman olutursak, sonra da
cd /disk2 tar -xvf eski_home.tar

-cvf

/disk2/eski_home.tar

/home

komutlaryla bu yuma /disk2de asak olur mu acaba? Aslnda olmaz! nk ikinci diskinizde yeteri kadar bo yer yok! 40 GBlk disk zerine hem 24 GBlk bir tar yuman hem de bu yuman alm halini sdramazsnz! tar komutunu -z parametresiyle birlikte kullanp tar yuman kltmeyi dnebilrsiniz ama bu taklalara hi gerek yok! zm UNIXin zerafetinde yatyor. Ayn anda iki tane tar program balatp, birinin yaratt tar yuman arada hi disk kayd yapmadan, yani tar dosyas oluturmadan, ikinci tar programna pompalayabilirsiniz:
tar -cv /home/cayfer (cd /disk2; tar -x) --

Dikkat ederseniz iki LINUX komutu birlikte balatlyor: 1. tar -cv /home/cayfer 2. (cd /disk2; tar -x) Bunlardan birincisi (tar cv /home/cayfer) -f parametresi verilmeden kullanld iin, yani yaratlacak tar dosyas belirtilmedii iin, oluturaca tar yuman standart ktya gnderecektir. kinci komut bileik bir komuttur. Noktal virglle ayrlm iki komuttan oluan ve parantezler arasna yazlm olan bu bileik komut da tar komutuyla birlikte balatlacaktr.

303

Kim Korkar LINUXtan?

Bu bileik komut, girdisini pipe ilemiyle bir nceki komutun ktsndan alacaktr. Bileik komutun ilk paras cd /disk2 olduu iin nce alma dizini /disk2 olarak deitirilecek, sonra da tar komutu x parametresiyle altrlacaktr. Bu ikinci tar komutunda da -f parametresi kullanlmad iin zlecek tar yuma standart girite aranacaktr. Birinci tar program bir yandan yuma olutururken ikinci tar program da bu yuma yeni dizine zecektir. (cd /disk2; tar -x) bileik komutu yerine tar -xC /disk2 komutu da kullanlabilirdi elbette.

tar -cv /home/cayfer

tar -x

i biraz daha kartralm isterseniz: Birinci tar programn bir bilgisayarda; ikinci tar programn da bir baka bilgisayarda (ikisinin de UNIX bilgisayar olmas kaydyla elbette) altrarak yedeklemeyi bir baka bilgisayar zerine yapmaya ne dersiniz?
tar -cv /home/cayfer | rsh 192.168.1.2 (cd /yedek; tar -x)

Evet, birinci tar komutu sizin makinenizde alrken ikinci tar komutu 192.168.1.2 IP numaral bir baka makinedeki /yedek dizini alma dizini iken alacak. Bu komutun alabilmesi iin 192.168.1.2 IP numaral bilgisayarda, sizin bilgisayarnz tarafndan komut altrlmasna izin verilmi olmas gerekir ki bu da baka bir blmn konusudur. tar Komutunu Kullanrken Dikkat Edilmesi Gereken Noktalar istiyoruz.
tar komutunu kullanrken ok tekrarlanan baz hatalara dikkatinizi ekmek

tar -cv /home/cayfer

tar -x

tar komutu, tar dosyas yaratrken dosya ve dizin ayrm yapmaz. Parametre olarak verilen dosya kalbna uyan her ey tar dosyasnn iine paketlenir.

304

nemli LINUX Komutlar

tar -cvf yedek.tar * komutu (alma dizinindeki her eyi yedek.tar dosyas olarak birletir gibi okunan komut) aslnda tam olarak istediiniz ii yapmayacaktr. Komutun bu ekilde kullanlmas durumunda ad . (nokta) ile balayan dosyalar tar dosyasna dahil edilmeyecektir. Adlar noktayla balayan dosyalar da paketlemek istiyorsanz tm dizini tarlamak zorundasnz. Bir dizinin tmn paketlerken istemediiniz alt dizinleri -exclude parametresiyle paket dnda brakabileceinizi unutmayn. tar program, dosya zerken diskte ayn isimde bir dosya/dizin olsa bile uyarmadan zerine yenisini indirecektir. Diskteki eski dosyalarn zerine kayt yaplmamas iin -k (keep) parametresini kullanabilirsiniz.

Dizinler ve alt dizinleri buna dahildir.

tar program, tar dosyas yaratrken balantl dosyalar (linkleri) kopyalamaz ve bu balantlar izlemez. rnein /var/spool/mail dizini /disk2/mail dizinine linkli ise, /var dizini paketlenirken /var/spool/mail dizininde grnen ama aslnda /disk2/mail dizininde yer alan dosyalar pakete alnmaz. Alnmasn istiyorsanz -h parametresini kullanmalsnz.

rsh Komutu
rsh

Bir nceki sayfada, bir dizinin, olduu gibi bir bilgisayardan bir bakasna transfer edilmesine ilikin tar rneinde
192.168.1.2 (cd /yedek; tar -x)

eklinde bir komut kullanmtk. Ad Remote Shell szcklerinin ksaltmasndan gelen rsh komutu, bir bilgisayarn terminalinde alrken, baka bir bilgisayarda komut altrp, o komutun varsa rettii STDOUTa gidecek grnty altnz terminale alabilmek iin kullanlr. rnein, 168.4.4.2 IP adresli bilgisayarda alrken 139.179.211.10 IP adresli bilgisayardaki kiisel dizininizdeki dosyalarn listesini grmeniz gerekirse; ikinci bir terminal ekran ap, orada 139.179.211.10 bilgisayarna telnet veya ssh ile balanp ls komutunu vermeniz gerekmez. Bu uzun yntem yerine 168.4.4.2 IP adresli bilgisayarn terminal penceresinde

305

Kim Korkar LINUXtan?

rsh

komutunu verirseniz ls /home/cayfer komutu, 139.179.211.10 IP adresli bilgisayarda altrlacak, dosya ve dizin listesi, komutu verdiiniz terminal penceresine listelenecektir.
ssh, telnet yerine kullanlabilecek, daha dorusu kullanlmasn hararetle

139.179.211.10

ls

/home/cayfer

nerdiimiz gvenli bir terminal emlasyon programdr.

Buraya kadar ok iyi; ama nlem alnmazsa, rsh komutu insan dehete drecek bir gvenlik riskini de yannda getirecektir. Dnsenize; yerini bile bilmediiniz bir bilgisayardan birileri sizin bilgisayarnza ynelik olarak
rsh 168.4.4.2 /bin/rm -r /etc

komutunu verirse neler olur? te bu yzden rsh komutunun altrlabilmesi iin zel izin gerekir. Bu zel izin iki ekilde verilebilir: 1. Her kullanc kendi izinlerini kendisi dzenler. 2. Sistem yneticisi tm sistem iin geerli izinleri dzenler. Kullanclar kendi kimlikleriyle ilgili izinleri dzenlemek iin kendi kiisel dizinlerinde ad .rhosts olan bir dosya (dosyann adnn bandaki noktaya dikkat!) hazrlarlar. Bu dosyada, rsh komutunun hangi bilgisayarlardan, hangi kimliklerle verilmesi durumunda komutun altrlabilecei belirtilir. rnein cayfer isimli kullanc kendi kiisel dizininde (/home/cayfer), iinde
139.179.210.4 www.abc.com.tr www.xyz.edu.tr murat omer

139.179.210.4 bilgisayarndan kullanc ad cayfer olan kullancya bu bilgisayara ynelik olarak cayfer kimliiyle rsh komutu verme yetkisi verilmi olur. Ayrca,

satrlar olan bir .rhosts dosyas yaratrsa;

306

nemli LINUX Komutlar

www.abc.com.tr bilgisayarndan murat ve www.xyz.edu.tr bilgisayarndan omer kimlii ile verilen rsh komutlarnn cayfer kimliiyle altrlmasna izin verilmi olur. Eer bir baka bilgisayardaki tanml tm kullanclarn sizin bilgisayarnzdaki ayn isimle tanmlanm kullanc kimlikleriyle rsh komutunu altrmalarna izin vermek istiyorsanz her kullanc dizinine teker teker .rhosts dosyas yerletirmektense bir /etc/hosts.equiv dosyas yaratp iine dier bilgisayarn ya da bilgisayarlarn IP adreslerini veya ak adlarn yazabilirsiniz. rnein, bilgisayarnzda /etc/hosts.equiv dosyas varsa ve iinde
139.179.2.123 abc.xyz.edu.tr

satrlar yer alyorsa, 139.179.2.123 ve abc.xyz.edu.tr bilgisayarnda kaytl kullanclar, sizin bilgisayarnza ynelik rsh komutu verebilirler. Sizin bilgisayarnzda da ayn adla tanml kullanclar olmas kaydyla, rsh ile gnderilen bu komut(lar) sizin bilgisayarda altrlacak, varsa komutun STDOUTa gnderecei mesajlar, rsh komutunu veren bilgisayara gnderilecektir. Hatrlarsanz, daha nce LINUXta kullanc tanmlarnn isimle deil, kullanc numarasyla tutulduunu sylemitik. Uzaktan altrlan komutlarda kullanc tanmlamas bunun bir istisnasdr. Ayn insana ait hesap adnn iki deiik bilgisayarda ayn kullanc numarasyla kaydedilmesini salamak neredeyse olanaksz olduu iin, rsh izni dzenlemelerinde numara deil, isim esas alnr.
rsh aslnda UNIXte Remote Commands (Uzaktan komutlar) olarak anlan bir komut ailesinin bir bireyidir. rsh ile ayn mantkta altrlan ve izinleri .rhosts ile /etc/hosts.equiv dosyalaryla denetlenen rcp rlogin

(remote copy) (remote login)

komutlar da birer remote command olarak kullanlabilir. ki ayr bilgisayarda yer alan dosya sistemleri arasnda dosya/dizin kopyalamak iin rcp komutunu kullanabilirsiniz. (Tabii ki .rhosts veya /etc/hosts.equiv dosyalaryla uygun izinlerin verilmi olmas kaydyla.)

307

Kim Korkar LINUXtan?

rnein:
rcp rcp sunucu:/var/www/html/* -r /home/cayfer/public_html/* /home/cayfer 139.179.1.1:/var/www/html

gibi.
rlogin komutunu ise ifre vermeden bir baka makinedeki ayn isimli hesabnza balanmak iin kullanabilirsiniz. Ancak biz rlogin yerine ssh ko-

mutunu kullanmanz ve ifre girmeye enmemenizi neririz.

xargs Komutu

Kabuk programlarnn dosya ismi kalplarn ilerken karlaabilecekleri bir sorun vardr. Ama bu sorunu bir rnekle aklamak daha kolay olacak galiba... Diyelim ki bir dizin iinde 5000 dosya var ve bunlarn yarsnn isimleri *.log, gerisi de *.bak kalbnda. Siz ad *.bak kalbna uyan dosyalar silmek istiyorsunuz ve rm *.bak komutunu veriyorsunuz, ardndan da Argument list too long hata mesajn alyorsunuz. Aslnda yle bir dnnce bu hata mesajn almanz son derece normaldir. Siz rm *.bak komutunu verdiinizde, kabuk programnz alma dizininizde yer alan ve ad *.bak kalbna uyan tm dosya isimlerini bulup bunlar aralarnda birer bolukla komutunuzun rm ksmnn ardna dizmeye alacaktr. Bu kalba uyan 2500 dosya olsa ve her birinin ad 10 karakter uzunluunda olsa siz yaklak 25 Kbyte uzunluunda bir komut satr yazm gibi olacaksnz. Eh, hereyin bir snr olmal deil mi? te sizin bu komut, bash programnn komut satr iin ayrd tampon alannn dna tat iin too long mesajn alyorsunuz. UNIXte her problemin bir zm olduunu farketmisinizdir artk herhalde. te bu sorunun zm de xargs komutudur.
xargs /bin/rm --

ls *.bak

Yukardaki bileik komutun ilk paras alma dizininde yer alan ad *.bak kalbna uygun dosyalarn isim listesini retecek (binlerce dosya isminden oluan bir liste olabilir); ikinci blm de bu listedeki her bir dosya iin /bin/rm komutunu altracaktr.

308

nemli LINUX Komutlar

Benzeri bir rnek daha: Diyelim ki bir dizin ve altndaki tm alt dizinlerdeki dosyalarn arasndan, iinde www.bilkent.edu.tr karakter dizisi yer alan dosyalar bulmak istiyorsunuz. lk akla gelen zm:
grep www.bilkent.edu.tr

`find .`

komutunu yazmaktr. Haydaaaa.. Bu da nerden kt diyebilirsiniz. Komutun analizi yle: nce find komutu yalnzca . dan oluan bir parametreyle balatlyor. find komutu bu haliyle alma dizini ve altndaki tm dosyalarn ve dizinlerin isimlerini listeliyor.
find komutu

` ` trnaklar arasnda yer ald iin nce bu komut altrlacak ve komutun standart ktya gnderdikleri bu trnaklar arasna yerletirilecektir. Bylece grep komutunun sonuna uzunca bir dosya ad listesi eklenmi olacaktr.

Buraya kadar her ey iyi; ancak dosya listesi ok uzunsa komut satr da bash kabuunun snrlarn aacaktr ve grep komutu altrlamayacaktr. zm iin gene xargs nereceiz:
--r

find .

xargs grep www.bilkent.edu.tr

Aslnda yukardaki komutla yaplan i


grep www.bilkent.edu.tr *

komutuyla da yaplabilirdi; ancak amacmz xargs komutuna bir rnek vermekti.


find komutunu anlatrken verdiimiz belirli bir kullancya ait tm dosyalar silme iini hatrlyor musunuz? te xargs ile benzeri bir i yapan kofind / -user hasan grep -v \.dat xargs /bin/rm --

mut:

309

Kim Korkar LINUXtan?

Yukardaki komut sahibi hasan olan dosyalar arasnda adnda .dat gemeyen dosyalar silecektir.
find komutu sahibi hasan olan dosyalar listeleyecektir. Bu liste grep programna -v \.dat parametresiyle gnderilecek; -vden dolay iinde .dat geen satrlar deil; gemeyenler listelenecektir. Elde edilen bu dosya listesi de xargs araclyla /bin/rm komutuna gnderilerek dosyalar silinecektir. Bu rnekte .dat yerine \.dat yazld, yani noktann ia-

retlenmi olduu dikkatinizi ekmi olmal. Bunun nedeni udur: Eer .dat yazsaydk, bu ifade grep tarafndan herhangi bir karakter ve ardndan gelen dat olarak deerlendirilirdi. Bylece adnda sedat geen dosyalar liste dnda kalrd. Oysa basit nokta yerine \. yazmakla grepe noktay, her karaktere uyan bir joker karakter deil de, bildiimiz . olarak deerlendirmesini istediimizi belirtmi olduk.

at Komutu
at [-m] saat

Vereceiniz komutlarn belirli bir gn ve saatte balatlmasn salar. Tarih belirtmezseniz iinde bulunduumuz gn kabul edilir. Web sitenizin ana sayfasnn 31 Aralk gn tam geceyars deimesini istiyorsanz, nceden hazrlayacanz index_yeni.html dosyasnn saat tam 23:59da index.html zerine kopyalanmas iin:
at m Dec 31 23:59

komutunu kullanarak
cd /var/http/html/ /bin/cp index_yeni.html index.html

komutlarn geceyarsna bir dakika kala alacak ekilde programlayabilirsiniz. Saat belirtirken
13:30 now + 10 minutes 4pm tomorrow midnight Jun 30 4am

gibi formlar kullanabilirsiniz.

310

nemli LINUX Komutlar

Tarih vermek istediinizde kullanmanz gereken form, aaa gg olmaldr. Burada aaa, ay isimlerinin ngilizcelerinin harfli ksaltmalarndan biri olmaldr. (Jan, Feb, ... gibi) gg ise doal olarak gndr... -m seenei ise, programn baaryla altrlmas durumunda komutu veren kullancya bir e-posta mesaj gnderilmesini salar.
at komutunu yukardaki formlardan birinde verdiinizde belirttiiniz saat-

te altrlmasn istediiniz komutlar girmenizi isteyecektir. Bu komutlar girmeniz tamamlandnda Ctrl-D tuuna basarak standart giriten girilecek verilerin bittiini belirtmelisiniz.

lacak ekilde kuyrua atyor. Ayrca bu komutun almas bitince /home/cayfer dizinindeki mesaj dosyasn da mail ayfer@ieee.org komutuyla mere e-posta olarak gnderiyor.

Aadaki rnek at komutu, /usr/local/bin/backup komutuyla /dev/hda1 diskinin yedeini alma iini gece yarsna bir dakika kala balat-

at komutuyla zamannn gelmesini beklemek zere kuyrua atlm ileri atq komutuyla grebilirsiniz.

Bu listede kuyrukta bekleyen ilerin herbirinin bir numaras (7, 8, 9) ve bekledii kuyruun ad (a) grnr. Kuyrukta bekleyen ilerin ne olduunu hatrlamak istediinizde
at -c 1

311

Kim Korkar LINUXtan?

gibi bir komutla, rnein 1 numaral iin ayrntl komut dizisini grebilirsiniz.

Bu ayrntl dkm ilk bakta sizi dehete drebilir. nk sizin yazdnz komut satrlarnn nne bir ok kabuk komutu yerletirilmi olduunu greceksiniz. Sistem tarafndan eklenen bu komutlarn espirisi udur: Kuyrua attnz iin alma zaman geldiinde byk olaslkla siz sistemde olmayacaksnz. Dolaysyla sizin iin almakta olan bir kabuk da olmayacaktr. Eh... peki sistem verdiiniz komutu nasl bir ortamda altrsn? te bu bataki komutlar, iinizin altrlma zaman geldiinde sizin yerinize bir kabuk balatp sizin kiisel kabuk ortamnz oluturmak iindir. Bu laflar hounuza gitmediyse boverebilirsiniz. Alt taraf gece yars altrmanz gereken bir i olursa dier iletim sistemi yneticileri gibi kalkar i yerine gider, ii adam gibi elle altrverirsiniz.
at komutuyla ileri bir saatte altrlmak zere programladnz bir ii ip-

tal etmek istediinizde

atrm n

312

nemli LINUX Komutlar

komutunu kullanabilirsiniz. Burada n, almaya balamak iin zamann gelmesini bekleyen iin atq komutu tarafndan bildirilen sra numarasdr. Yani kuyruktaki bir ii iptal etmeden nce atq komutuyla o iin kuyruk sra numarasn renmeniz gerekir.
at komutunun alabilmesi iin arka planda srekli alan ve geen zaman kollayan bir yazlm olmaldr. LINUXda bu ii atd program yapar. at komutunuzun almas iin arkada atd alr durumda olmaldr. (at daemon) Eer at komutunu verdiinizde atdnin almadna ilikin bir hata mesaj alrsanz atdyi siz elinizle balatabilirsiniz. atdnin
bilgisayarnzn her alnda otomatik olarak balatlmas iin birtakm iler yapmalsnz. Bu aamada yalnzca atdnin elle balatlmasn gs-

termekle yetineceiz:

/etc/rc.d/init.d/atd start
Al srasnda otomatik balatma iini sistem ynetimiyle ile ilgili blmlerde reneceksiniz.

at komutuyla belirli bir tarih ve saat iin programlanan iler, zaman geldiinde yalnzca bir kez altrlr. Periyodik olarak, rnein, her gece yars tekrarlanmasn istediiniz iler iin at komutundan yararlanamazsnz.

Eer belirli bir iin her saat ba, her gece yars, her Pazartesi sabah 09:03de otomatik olarak balatlmasn istiyorsanz, cron yazlmndan yararlanabilirsiniz. cron yazlm dorudan bir komutla kullanlmaz. Periyodik olarak yaplmasn istediiniz ileri cron yazlmnn ayar dosyas zerinde yapacanz dzenlemelerle belirtirsiniz. Bu dzenlemeler iin de crontab -e komutu kullanlr. cron hakknda daha ayrntl bilgiyi kitabn Sistem Ynetimi blmnde bulabilirsiniz.

date, hwclock

Bazen sisteminizin saatinin yanl olduunu; biraz ileri gittiini ya da geri kaldn farkedersiniz. LINUXun saatini date komutuyla deitirebilirsiniz ama bu komut bilgisayarnzn saat devresinin ayarn deitirmeyecektir. letim sisteminin tuttuu saat ve tarihi bilgisayarn saat devresine kaydetmek iin hwclock komutunu kullanmalsnz.

313

Kim Korkar LINUXtan?

hwclock hwclock

--systohc --hctosys

komutu LINUX sistem saatini bilgisayarn saat devresine kaydeder.

komutu ise bilgisayarn saat / takvim devresindeki zaman LINUX sistem saati olarak alr.

lynx

Bir senaryo: Yaptnz bir alma iin web adresini ezbere bildiiniz bir yerden bir dosya indirmeniz gerekti. O srada da Netscape, Konqueror veya Mozilla gibilerinden bir grafik taraycnz ak deil. Dosya indireceiniz sitenin web sayfalarnn grafik unsurlar da sizi ilgilendirmiyor.
lynx byle bir durumda ok iinize yarayacaktr. Karakter tabanl terminal

pencereleri iin yazlm kk, hzl ama yetenekli bir web taraycsdr lynx. Bellee abuk yklenmesi sayesinde indirmek istediiniz dosyaya hzla eriebilirsiniz.

314

nemli LINUX Komutlar

cut

cut, more ve less komutlar basit metin dosyalarn ekrana grntlemek

iin olduka kullanl komutlar olmakla birlikte, bazen dosyalar olduu gibi listelemek yerine baz satrlarn baz alanlarn listelemek de isteyebilirsiniz.

rnein /etc/passwd dosyasnn yalnzca hesap ismi ve kullanc ismi alanlarndan oluan bir listeye gereksinim duyduunuzda
cut -d: -f 1,5 /etc/passwd

komutuyla : ile ayrlm olan alanlardan yalnzca birinci ve beincileri listeleyebilirsiniz.

315

Kim Korkar LINUXtan?

Kolay incelenebilmesi iin gerek rnek sadeletirilmitir.

Ayra belirtmezseniz ayra karakteri olarak <Tab> kabul edilir. lk 5 alan listelemek istediinizde -f1, 2, 3, 4, 5 parametresi yerine -f 1-5 parametresini kullanabilirsiniz. Elde ettiiniz liste ok uzunsa, tm LINUX komutlarnda olduu gibi cut programnn standart ktya gnderdiklerini more veya less programna ynlendirebilirsiniz.

cut komutuna -d parametresiyle satrlardaki alanlar ayran ayra tantlr.

tee

Baz durumlarda bir programn ktsn iki deiik yere ynlendirmeye gereksinim duyabilirsiniz. rnein uzun bir dosyay sralayp, sral dosyay hem less ile sayfa sayfa grntlemek hem de bu sral kaytlar bir dosyaya ynlendirmek isteyebilirsiniz.
sort adresler tee adresler.sirali less ---

komutu adresler dosyasn sralayarak sral halini tee programna ynlendirilecek; tee program standart girdisinden gelen verileri hem adresler.sirali dosyasna hem de kendi standart ktsna ynlendirecek; son olarak da less komutu bu satrlar sayfa sayfa listeleyecektir.

316

nemli LINUX Komutlar

Diyelim ki ok sayda komuttan oluan bir dizi i yapmak ve bu komutlar ve aldnz yantlar sonradan incelemek zere saklamak istiyorsunuz. script program, sizi bu i boyunca, hangi komutu verdiinizi ve ne yant aldnz kada not etmekten kurtaracaktr.
script /tmp/log1

script

komutu, verildii andan balayarak Ctrl-D tuuna basncaya kadar verdiiniz tm komutlar ve bu komutlara ilikin STDOUTa gnderilen hereyi /tmp/log1 dosyasnda saklar. scripti Ctrl-D ile durdurduktan sonra bu /tmp/log1 dosyasn bir anlamda kaptann seyir defteri olarak kullanabilirsiniz.
script komutunu script -a

eklinde kullanrsanz, seyir kaytlar /tmp/log1 dosyasnn olas eski ieriine eklenir.

/tmp/log1

split

Bazen byk dosyalar kk paralara ayrmak zorunda kalrsnz. rnein 50 Mbyte uzunluunda bir dosyay bir bakasna gndermek iin e-postadan baka olananz yoksa, tek kar yol dosyay e-posta sunucularnn kabul edecei byklkte (tipik olarak 10 Mbyte) paralara blp yle gndermektir.
split komutu, dosyalar isterseniz belli byklkte paralara, isterseniz belli sayda satr ieren paralara blebilir. split -b 1m uzun_dosya parca_

uzun_dosya isimli dosyay birer megabytelk paralara (-b 1m parametresi) blecektir. Paralar oluturan dosyalarn isimleri de srasyla parca_aa, parca_ab, parca_ac, ..., parca_az, parca_ba gibi isimler ola-

caktr.

317

Kim Korkar LINUXtan?

te yandan,
split -l 1000 uzun_dosya parca_

komutu, uzun_dosya isimli dosyay 1000er satrlk paralara (-l 1000) blecek; paralar parca_aa, parca_ab, parca_ac, ..., parca_az, parca_ba gibi isimlendirecektir. Satr uzunluklar eit deilse, doal olarak para dosyalarn byklkleri de byte lsyle ayn olmayabilecektir. Daha sonra, bu paralar tekrar birletirmeniz gerektiinde
cat parca_* > uzun_dosya

komutunu kullanabilirsiniz. Kabuk programnz parca_* dosya isim kalbn, bu kalba uyan dosyalarn isim listesine dntrrken alfabetik sralama kullanaca iin paralanm dosyalar doru srada birletirilecektir.

318

nemli LINUX Komutlar

BUNLARI BLYOR MUYDUNUZ?

letim sistemi olmayan UNIXler


UNIX markasnn kullanld ilgin baz rnleri aratrrsanz: mikrodalga frn uyumlu gda saklama kaplar yangn sndrcs ahap kitap raf sistemi tkenmez kalem amar asks kimyasal tiner buday gevrei televizyon anteni masaj aleti gzlk erevesi sa kurutma makinesi otomobil paralar ocuk bezi kiralk oto hizmetleri bar, berber salonu mobilya

gibi rn ve hizmetler bulabillirsiniz. (Ayrntlar iin bkz. http://cm.bell-labs.com/cm/cs/who/dmr/otherunix.html )

319

Kim Korkar LINUXtan?

320

Sistem Ynetimi
Sistem Hakknda Sistemin Almas Sistemin Kapatlmas Disklerin Ynetimi Bellek Ynetimi Kullanc Ynetimi Kullanc Hesaplar Kullanc Gruplar Log Dosyalarnn Ynetimi A Ynetimi TCP/IP Ayarlar Yazc Ynetimi Yedekleme Periyodik lerin Ynetimi LILO Ynetimi Webmin root ifresini Unuttuunuzda...

10

321

Kim Korkar LINUXtan?

UNIX sistem yneticilii bir meslektir, hem de nemli bir meslek! Internetin hzla yaylmas nedeniyle de A Ynetimi ve Sistem Ynetimi diye anlan i kollar birbirlerine iyice yaklam; hatta birlemitir. Artk sistem yneticileri a ynetiminden; a yneticileri de sistem ynetiminden anlamak zorundadr. Bir Sistem Yneticisinin ncelikli grevi sistemi ayakta tutmaktr. Bu sistem tek bir bilgisayardan oluabilecei gibi dnyaya yaylm birok bilgisayardan da oluabilir. LINUX iletim sisteminin ok gvenli olduunu defalarca tekrarladk ama sonuta insan yaps bir bilgisayar zerinde altn da unutmamak gerekir. Bir bilgisayar sisteminin dzgn almasnda; iyi servis verilmesinde belki de en nemli etken sistem yneticisidir. Yeterince iyi bir sistem yneticisi, iletim sistemi ve donanm zellikleri ne olursa olsun (Linux veya Windows; IBM veya toplama bilgisayar) baarl a hizmetleri sunmay baarabilir. Donanm arzalar, kullanc hatalar, sistem yneticisi hatalar, saldrlara yenik dme, iletiim hatalar, sahtekarlk, sabotaj gibi bir sr nedenle bir sistem kebilir. te sistem yneticileri bu klerde sistemi hzla yeniden alr duruma getirmek, k olasln azaltmak, k olduunda da zarar olabildiince kltebilmek iin almak, hem de ok almak zorundadr. Bir sistem yneticisinin ikinci ncelikli grevi ise sistemin kullanclara srekli ve gvenilir hizmet vermesini salamaktr. Bu grevin gerektirdii bir sr alt grev olmakla beraber en genel ve nemli olanlar unlardr: Sistemin kaynaklarnn verimli bir ekilde kullanlmasn salamaya ynelik nlemleri almak. letim sistemini ve uygulama programlarn gncellemek. Sistemde ykl program ve verilerin yedeklenmesi ilerini dzenlemek. Sistemin gvenliini srekli olarak denetlemek ve yeni saldr teknikleriyle yeni ortaya kan gvenlik aklarna kar nlem almak.

322

Sistem Ynetimi

Sistem Hakknda
Sistemin Almas
Sistem yneticilerinin en iyi bilmeleri gereken srelerden biri sistemin al srecidir. boot ad verilen sistemin al srecini LINUX iletim sisteminde denetleyen yazlm genellikle LILOdur. LILO; Linux Loader szcklerinden elde edilmi bir ksaltmadr. Dier bir popler al ynetici yazlm ise GRUBdur, ama bu kitapta yalnzca LILOdan sz edeceiz. Bilgisayara elektrik verilmesi ve kullancnn bir login ekranyla karlamas arasnda olup bitenleri, fazla ayrntsna girmeden de olsa, olabildiince iyi anlamanz birok sistem ynetimi konusunu kavramanza yardmc olacaktr. imdi bu al srecini adm adm gzden geirelim: 1. Bilgisayarnza elektrik enerjisi verince anakartn stndeki BIOS ipinde kaytl bulunan kk bir program almaya balar. 2. Bu program, BIOS ayarlarnza bal olarak srasyla sisteme bal disket, CD, disk srclerinin birinde iletim sistemini ykleyebilecek bir program arar. Bu program, boot sektr olarak bilinen alanda, kullanlmakta olan srcden iletim sistemini ykleyebilecek bir program olmaldr. 3. Bilgisayarnza LINUX kurduunuzda ilk diskin boot sektrne (MBR: Master Boot Record da denir) LILO yazlm yerletirilir. (Elbette, GRUB ya da bir baka boot yneticisi setiyseniz, boot sektrne setiiniz program kaydedilmi olacaktr.) 4. LILO yazlm BIOS tarafndan bellee yklenip almaya baladnda kullancya eitli al seenekleri sunabilir. rnein, zerinde hem Windows XP, hem LINUX ykl bir bilgisayarda kullancya, sistemi istedii iletim sistemiyle aabilmesi iin bir seenek listesi sunulur:

323

Kim Korkar LINUXtan?

LILO iin gerekli ayarlar /etc/lilo.conf dosyasnda yaplr. Ancak, LILO program alt srada ortada sistemi denetleyen bir iletim sistemi olmad iin LILO, /etc/lilo.conf dosyasna eriemez. lilo.conf dosyasnda deiiklik yaparsanz, /sbin/lilo komutuyla LILOnun yeni ayarlara gre alacak ekilde yeniden hazrlanp diskin boot sektrne yazlmasn salamalsnz. 5. LILOnun sunaca seenekler arasndan LINUX setiinizi varsayarak al srecini incelemeye devam edelim... LILO, /boot dizininde vmlinuz dosyasnda bulunan LINUX ekirdiini (kernel) bellee ykler ve altrr. 6. ekirdek program, konsolun ekran kartna uygun bir grnt ayarna geer ve sisteme bal olan donanm unsurlarn tarayarak (bellek, merkezi ilem birimi, grnt kart, disk arabirimleri, ses kartlar, paralel ve seri arabirimler, a balant arabirimleri gibi) bunlar tanmaya ve ilgili src yazlmlarn (device driver) yklemeye balar. 7. ekirdek, daha sonra yine LILO ayarlarnda belirtildii ekilde root dosya sistemini (yani / dizininin olduu fiziksel diski) ilitirir (mount eder). Bu dosya sistemi ilk aamada sadece okuma iin (read-only) ilitirilir ve dizin yaps kontrol edildikten sonra, yani bu dosya sistemi iin fsck yazlm altrldktan sonra oku-yaz (read-write) kullanm iin tekrar ilitirilir. 8. Bir sonraki admda, sisteminiz ak kald sre boyunca, 1 sre numarasyla srekli alacak olan init program balatlr. Bu sre, sistemi kullanma hazr hale getirmek iin /etc/inittab dosyasnda belirtilen ayarlara gre bir dizi kabuk program altrarak sistemin alma dzeyini (run level) aama aama arttrr.

324

Sistem Ynetimi

alma dzeyleri, iletim sisteminin hangi yeteneklerinin almaya baladn belirler. Tipik bir LINUX sisteminde yedi alma dzeyi vardr: 0: Sistemin kapanma ilemlerinin balatld dzey. (Halt Level) 1: Tek kullancl alma dzeyi. (Single-user) 2: A destei olmadan ok kullancl alma dzeyi. 3: ok kullancl alma dzeyi. (Multi-user) 4: Bu alma dzeyi nedense kullanlmaz. 5: X Windowun almaya balad dzey. (Grafik kullanc arabirimi) 6: Yeniden balatma ilemlerinin balama dzeyi. (Reboot) Normal koullarda; yani baaryla almay tamamlam bir LINUX bilgisayar nc (X Window kullanlmyorsa) veya beinci dzeyde almasn srdrr. Sistemi kapatmak istediinizde

init 0 init 6

veya

komutlarndan biriyle sisteminizi sfrnc dzeye indirerek kapatabilir (halt-shutdown) veya altnc dzeye geirerek yeniden balatabilirsiniz. (reboot) Yapacanz bir yazlm veya veri bakm almas nedeniyle bilgisayarn baka kullanclara hizmet vermeksizin sadece konsoldaki kullancya hizmet verecek ekilde almasn isterseniz

init 1
komutuyla tek kullancl dzeye dnp, iiniz bittiinde

init 3
komutuyla tekrar ok kullanc dzeye geebilirsiniz. Tabi bu arada kullanclarnz sizi dvp salk dzeyinizi deitirmediyse... Sistemin al srasnda her alma dzeyinde yaplacak iler /etc/inittab dosyasna tanmlanr. Bu dosyann deseni ve ierii konusunda daha fazla ayrntya girmek istemiyoruz. Merakl okuyucular man

inittab komutuyla olduka ayrntl bilgi edinebilirler.

325

Kim Korkar LINUXtan?

/etc/rc.d dizini altnda deiik alma dzeylerine geerken gerekli ve ilgili hizmetlerin balatlp durdurulmas iin kullanlan kabuk programlar yer alr. rnein, /etc/rc.d/rc5.d dizinindeki dosyalar, sistemin beinci alma

dzeyine, yani X ortamna geerken altrlacak kabuk programlardr.

Sistem, beinci dzeye getiinde, /etc/rc.d/rc5.d dizinindeki kabuk programlarn, isimlerinin alfabetik srasna gre (ls komutuyla listelendikleri srada) altrmaya balar. Bunun gibi /etc/rc.d/rc3.d dizinindeki dosyalar sistemi nc dzeye karmak iin balatlacak ileri dzenleyen komut ve programlar ierir.
/etc/rc.d/rc.local dosyas, sistemin al tamamlandkan sonra varsa,

balatlacak ilere ilikin komutlar ierir. rnein sistemin al tamamlandnda birilerine bunun otomatik olarak haber verilmesini istiyorsanz /etc/rc.d/rc.local dosyasnn iine (sonuna olabilir)
echo `date` Sistem acildi | mail admin@bilkent.edu.tr

gibi bir satr ekleyerek her altan sonra admine al tarihini ve saatini bildiren bir e-posta gnderilmesini salayabilirsiniz. Sistemdeki eitli servisleri balatp durdurmak iin kullanlabilecek kodlar ieren dosyalar /etc/rc.d/init.d dizininde de yer alr. Bu dizindeki dosyalar, eitli sunucu yazlmlar balatp durduracak ekilde yazlm kabuk programlardr. Bu dosyalar devreye almak ve devreden karmak iin
chkconfig

komutunu kullanmalsnz.

326

Sistem Ynetimi

rnein, alrken artk sisteminizde web sunucusu yazlm olan httpdnin balatlmasn istemiyorsanz
chkconfig --del httpd veya chkconfig httpd off

komutunu verebilirsiniz. Apache web sunucusunun sisteminiz alrken tekrar otomatik olarak altrlmasn istediinizde
chkconfig --add httpd veya chkconfig httpd on

komutu i grecektir. Bu kitabn dzeyi asndan chkconfig yazlmnn daha fazla ayrntsna girmeyeceiz, ama merakl okuyucularn komutun man sayfalarna bir gz atmasn neririz.
/etc/rc.d/rcn.d dizinlerindeki program dosyalar aslnda birer dosya deil; /etc/rc.d/init.d dizinindeki program dosyalarna balantdr; (link) /etc/rc.d/init.d dizinindeki dosyalar sistem yneticilerinin olduka sk
olarak kullandklar aralardr. rnein, bir yazlm konfigrasyon deiiklii nedeniyle sisteminizin web sunucusu yazlmn durdurup yeniden balatmanz gerekirse (sistemi kapatp amay aklnza dahi getirmeyin; o yntem eski iletim sisteminizde kullandnz bir yntemdi) vermeniz gereken komut

/etc/rc.d/init.d/httpd restart
olacaktr. Bu linklerin isimlendirilme sistemi, alma dzeyi deiirken her bir kabuk programnn nasl bir parametreyle ve hangi srada altrlacan gsterir. Ad S ile balayanlar start parametresiyle; K ile balayanlar stop parametresiyle (kill) altrlr. Aslnda birok yazlm, konfigrasyon deiikliklerinden sonra, durdurulup tekrar balatlmak yerine bu deiikliin kendilerine bildirilmesiyle yetinir. rnein, DNS sunucunuzda yeni bir sembolik isim tantm yaptnzda na-

med isimli sunucu yazlm durdurup balatmak yerine, ps komutuyla named programnn sre numarasn renip, bu srece HUP (hang-up) mesajn gnderebilirsiniz. named yazlm, HUP mesaj aldnda konfigrasyon dosyalarn yeniden okuyacak ekilde programlanmtr.

ps ax | grep named kill -HUP 893


Konu dald gene ya; neyse...

327

Kim Korkar LINUXtan?

Sistemin Kapatlmas
Tm UNIX bilgisayarlarda olduu gibi LINUX iletim sisteminin de adabna uygun bir ekilde kapatlmas gerekir. Her ne kadar disklerinizi ext3, reiserfs gibi dosya sistemleriyle dzenleyerek enerji kesintilerine kar nlem alm olsanz da, sistemleri dzgn kapatmak her zaman iin iyi bir alkanlktr. Bir LINUX bilgisayar kapatmann en kolay yolu, root kullancnn herhangi bir terminalden
shutdown -h now

komutunu vermesidir.
init 0

komutu da sistemin alma dzeyini sfr yapmak; yani kapatmak iin kullanlabilir. KDEnin grafik ekrann kullanarak sistemi kapatmay zaten imdiye kadar oktan kefetmi olmalsnz. Acemilik dnemlerinizde bilgisayar kapatp amaya (bir dier deyile reboot etmeye) gereksinim duyabilirsiniz. Bu gibi durumlarda
reboot

komutunu da kullanabilirsiniz.
Deneyimli sistem yneticileri sistemlerini reboot etmekten pek holanmazlar. Bir eyler aksamaya balad zaman bu aksakla hangi srecin neden olduunu bulup o sreci durdurmaya alrlar. Bu yneticiler iin sistemlerinin uzun sre kesintisiz almas (sistemin ne kadar zamandr up olduu) bir vn kaynadr. LINUX dnyasnda up sreleri genellikle aylarla llr. Windows sistem yneticilerine biraz garip gelebilir ama iletim sistemi srm gncellemeleri ve donanma mdahale dnda LINUX sistemlerini kapatmaya gerekten pek fazla gerek olmaz.

328

Sistem Ynetimi

Pek kolay kolay olmaz ama, sisteminize komut veremediiniz bir duruma derseniz tek zm bilgisayarnz anahtarndan kapatp amak olacaktr elbette. X altnda bir kilitlenme sorunu yaarsanz Ctrl-Alt-F1 tularyla grafik olmayan bir konsola geip sistemi toparlamanz genellikle mmkn olabilmektedir. Ctrl-Alt-F1 ile elde edeceiniz konsolda root olarak sisteme girip adnda X geen tm sreleri ldrmek ie yarayabilir. Eer bu da ie yaramazsa bu konsol ekranndan reboot komutunu vererek sistemin dzgnce kapatlmasn salayabilirsiniz. Yeri gelmiken; LINUX iletim sistemi altnda bu duruma genellikle donanm arzalarndan dolay dersiniz. Eer sk sk bilgisayarnz kapatp amak zorunda kalyorsanz bellek modllerinizi, CPU soutma fann ve g kaynan gzden geirmenizi neririz.

Disklerin Ynetimi
Tm bilgisayarlarn belki de en nemli kayna diskleridir. Daha dorusu en kolay tkenen ve en kolay arzalanan; bu nedenle de en ok sorun karan kaynak genellikle disklerdir. Disklerinizi ve disk blmlerinizi baaryla ynetebilmeniz iin kitabn nceki blmlerinde anlatlm olan disk blmleme ve mount kavramlarn iyi anlam olmanz gerekir. yi bir sistem yneticisi her sabah disklerinin dolu/bo oranlarn yle bir gzden geirip, gerekirse sabah temizlii yapmaldr. Daha da iyi sistem yneticileri bu ileri otomatik yapacak kabuk programlar yazp, cron ile her sabah almasn salarlar. Disklerin dolu-bo oranlarn ve durumlarn gzlemek iin en uygun komut
df -h df -k

veya

komutudur.

329

Kim Korkar LINUXtan?

Greceli olarak hzl byyen sistem dosyalar genellikle /var/log altndaki log dosyalardr. /tmp dizini de, herkesin yazma hakk olmasndan dolay disklerin kolayca dolmasna neden olan bir dizindir. Bu dizinleri zaman zaman kontrol edip, eski ve byk dosyalar silmelisiniz.
/var/log dizinininde sistemde olup biten hereyin kaydedildii dosyalar

yer alr; bu nedenle bu dizinin diskte kaplad alan srekli artar. Her ne kadar logrotate sreci bu dosyalar dnml olarak deitirip, eskileri kaldrp atsa da, bu dizin hi deilse haftada bir gzden geirilmelidir. Bir dizinin diskte ne kadar yer harcadn merak ettiinizde

du -s /home/cayfer

gibi bir komutla yant alabilirsiniz.

330

Sistem Ynetimi

du komutu dizinde yer alan dosyalarn toplam bykln 1024 byte uzunluundablok cinsinden verir. Dikkat ederseniz du komutu, -s

(summary) parametresiyle ilgilendiiniz dizinin diskte igal ettii toplam kapasiteyi; -s parametresi olmadan kullanrsanz da alt dizinlerin toplam disk alanlarn rapor ediyor. fdisk Disklerin blmleme tablolaryla ilgili ilemler iin kullanlr.
fdisk /dev/hda

gibi bir komutla birinci IDE kanalndaki ilk diskin blmleme tablosu zerinde almaya balayabilirsiniz. Blmleme tablolaryla oynamak tehlikelidir. Ne yaptnz bilmeden dolu diskler zerinde bu komutu denememenizi neririz.
fdisk programna verilebilecek komutlar grmek iin program balattktan sonra m seimini kullanabilirsiniz.

331

Kim Korkar LINUXtan?

mkfs fdisk ile blmlemesi yaplm disklerde disk blmleri zerine dosya sistemi yaratmak iin kullanlr. rnein:
mkfs -t reiserfs /dev/hda3

komutuyla ilk diskin nc blm zerine bo bir reiserfs dosya sistemi yaratlabilir. Ayn i:
mkfs.reiserfs /dev/hda3

komutuyla da yaplabilirdi. mkfs komutunun -t ile belirtilen parametreleri arasnda ext2, msdos gibi seenekler de bulunmaktadr. -t ile yaratlacak dosya sisteminin tipini belirtmezseniz ext2 kabul edilir. mount
mount komutuyla sisteminizde disk blmlerindeki dosya sistemlerinin

balanm olduu dizinleri grebilir; bunlar zebilir, bal olmayanlar balayabilirsiniz. Daha nce ayrntl olarak akladmz mount komutunu

332

Sistem Ynetimi

burada yalnzca disk ynetimi ile yakndan ilgili olmas dolaysyla tekrar andk. showmount -a

Bu komutla, bilgisayarnzda NFS zerinden paylama ak disklerin kimler tarafndan kullanlmakta olduunu grebilirsiniz.

Yukardaki rnek listeye gre lists makinesi zerinde paylama alm olan /bcc, /home/htpd, home/cayfer dizinleri cayfer makinesi tarafndan; /disk2/mdk9.0 dizini de loj08031 makinesi tarafndan kullanlmaktadr. NFS paylam bir UNIX bilgisayar zerindeki dizinlerin baka UNIX bilgisayarlar tarafndan mount edilebilmesini salayan servistir. Bu servisin denetimi, yani hangi dizinlerin hangi makineler iin, bunlardaki hangi kullanclar iin paylama alacann denetimi /etc/exports dosyas ile yaplr.

Yukardaki rnek exports dosyasnda,

/projeler dizinine cayfer isimli makineden gelen balant isteklerine (mount isteklerine) okuma yazma ve tam yetkiyle eriim hakk verilmi. cayfer isimli makinenin IP adresi ncelikle /etc/hosts dosyasndaki listeden; orada yoksa DNS servisi zerinden aratrlr.

333

Kim Korkar LINUXtan?

/projeler dizinine, cayfer makinesinden baka bir de 192.168.0.3 IP ad-

/bcc dizinine bcc.bilkent.edu.tr andaki tm makinelerden oku-yaz olarak eriilmesine izin verilmi.

resli makineden oku-yaz olarak eriilmesine izin verilmi ve bu eriimin root yetkisi ile yapabileceini belirtilmi. (no_root_squash parametresi.)

/pub dizinine heryerden yalnzca okumak iin izin verilmi, ancak erien herkesin kullanc kodunun nobody kabul edilmesi ve paylalan /pub dizinindeki dosya eriim yetkilerinin bu kullanc koduna gre dzenlenmesi iin gereken ayar yaplm. /pub dizinine herkese eriim hakk verilmi olmasna ramen bu dizinin altndaki /pub/ozel dizinine hibir ekilde dardan eriilememesi salanm.

/usr dizinine bilkent.edu.tr andaki tm makinelerden yalnzca okumak iin eriilmesine izin verilmi. (ro)

/etc/exports dosyasnda bir deiiklik yapldnda; rnein /home/cayfer/public_html gibi bir dizini paylama amak iin gereken

satr eklendiinde

exportfs /home/cayfer/public_html

komutuyla paylam balatabilirsiniz. Paylalmakta olan bir dizini dardan eriime kapatmak istediinizde
exportfs u /pub

gibi bir komut kullanabilirsiniz.


exportfs ua

tm paylamlar kapatr.
exportfs a

/etc/exports dosyasnda ad geen tm paylamlar aar. /etc/rc.d/init.d/nfs kabuk program NFS servislerini balatp durdur-

mak iin kullanlabilir.

334

Sistem Ynetimi

/etc/rc.d/init.d/nfs start /etc/rc.d/init.d/nfs stop

gibi...
Eer LINUX makinenizdeki bir dizini bir Windows makinenin eriimine amak istiyorsanz NFS servisi iinizi gremeyecei iin; daha dorusu Windows iletim sistemi NFS servislerinden nasl yararlanlacan bilmedii iin; samba servisini kullanmalsnz. samba servisi bir LINUX bilgisayarn ler. ok ilgintir ki, zerinde samba alan bir LINUX makine, ayn donanm zerinde alan bir NT sunucudan performans asndan daha baarldr. Gene politikaya girdik... Burada keselim, yoksa kalp kracaz.

NT snf bir sunucu gibi almasn salar. Bir baka deyile, Windows

makineler yaknlarnda grdkleri bir samba servisini NT sunucu zanneder-

sambann kurulumu ve daha da nemlisi ayarlarnn yaplmas bu kitabn


va alyor olacaktr. samba kullanacaksanz, yapmanz gereken re deitirip sambay NUXunuzu kurarken siz aksini semediyseniz samba makinenizde kurulmu

amalar dnda kald iin ayrntya girmeyeceiz. Aslnda, Mandrake LI-

/etc/samba/smb.conf dosyasndaki parametreleri gereksinimlerinize g/etc/rc.d/init.d/smb restart


komutuyla yeni konfigrasyonla tekrar balatmak olacaktr.

samba konfigrasyonu ile ilgili ayrntlar http://www.belgeler.org


adresindeki Samba Nasl dokmannda bulabilirsiniz.

lsof Bilgisayarnzda bir ekilde kullanlmakta olan ak dosyalar ve soketleri listelemek iin kullanlr. (Soket, TCP/IP programlamayla ilgili bir kavramdr. Ne anlama geldiini bilmiyorsanz zerinde durmaynz.) eitli internet hizmetleri veren tipik bir LINUX bilgisayarnda bu listede 10.000den fazla dosya yer alabilir; dolaysyla listeyi gzle taramak pek anlaml deildir. lsof genellikle kts grep ve more ile filtrelenerek kullanlarak belirli bir kulla-

335

Kim Korkar LINUXtan?

ncnn am olduu dosyalar ya da belirli bir programn kulland dosyalar gzlemek iin kullanlr.
lsof grep cayfer more ---

gibi.

Bellek Ynetimi
LINUX iletim sisteminde bellek ynetimiyle ilgili pek fazla iiniz olmayacaktr. Eksik bellekle alyorsanz, elbette ki performans sorunlarnz olacaktr. LINUX genellikle bellek eksiklii hakknda dorudan ikayet etmez. Eer takas alan (swap partition) olarak ayrdnz disk blm yetmiyorsa bellek yetersizlii ile ilgili mesaj alabilirsiniz. Takas alan, gerek bellein yetmeme durumunda iletim sisteminin diskten yararlanmas iin kullanlr. alan bir srece bellek tahsis etmek gerektiinde, ana bellekte yer kalmadysa, beklemede olan sreler kaldklar yeri ve durumu iaretleyen bilgilerle birlikte diske atlr, bylece kazanlan bellek gereksinim duyan srece tahsis edilebilir. Bu yntem doal olarak programlarn almasn ok ciddi ekilde yavalatr. Takas alan kullanmann mant, bellek yetersizlii yznden programlarn kesilmesini nlemektir; yoksa kesin bir zm deildir. Takas alannzn kullanmn sk sk gzleyip, ar kullanlmaya balanrsa sisteminizin belleini arttrmalsnz. Takas alan kullanmyla ve srelerin bellek kullanmyla ilgili bilgileri top komutuyla alabilirsiniz.

336

Sistem Ynetimi

Eer takas alan hi kullanlmyorsa bilgisayarnzda gereksiniminizden daha fazla bellek var demektir. Ziyan etmemek iin birazn o makineden skp bir bakasna takabilirsiniz. Takas alan az geliyorsa ilk akla gelen diskin takas alann bytmektir ancak bu disk blmlemesinin deitirilmesini gerektirir; bu da doal olarak nce yedekleme, sonra diski yeniden dzenleyip (formatlayp), dosya sistemlerini yeniden oluturma ve yedekleri geri ykleme demektir ki, bu ilemler alan bir sistem iin uzun sreli bir kesinti demektir. Takas alannz yetersiz kaldnda, takas alan olarak ayrlan disk blmn yeniden oluturmak yerine takas alanna ek yapmay dnmelisiniz. Bu yntem, tek bir takas alan kullanmak kadar yksek performans salamasa da sisteminizi yeniden kurmay gze alacanz zamana kadar idare edecektir. Bunun iin nce disklerinizden birinde uygun boyda bir takas dosyas yaratn:
dd if=/dev/zero of=/tmp/ek_takas bs=1024 count=100000

komutu, /tmp altnda yaklak 100 Mbyte uzunluunda ek_takas isimli bo (daha dorusu ii sfrlarla dolu) bir dosya yaratacaktr. (Dosyann blok uzunluu 1024 byte olduu iin 100.000 blok aa yukar 100 Mbyte eder.)

337

Kim Korkar LINUXtan?

parametresi (input file) kopyalamann nereden yaplacan; of= parametresi de (output file) kopyalamann nereye yaplacan belirtir.

dd (device-to-device copy) komutu zaman zaman ok ie yarar. if=

/dev/zero, ayn /dev/null gibi LINUXun zel bir evre birimi veya
dosyasdr. Yalnzca okunabilir. Boyu sonsuzdur; yani bu dosyadan sonsuza kadar veri okuyabilirsiniz. Ancak, okuduunuz tm veriler 0x00, yani ikil (binary) sfrlardan oluur. Yukardaki takas dosyas yaratma komutu, /dev/zero dosyasndan herbiyasna kopyalyor. Aslnda, ii tamamen ikil sfrlarla dolu 100 MBytelk bir dosya yaratyor. ri 1024 byte uzunluunda 100000 blok okuyup bunlar /tmp/ek_takas dos-

Sonra bu dosyann sahibini root kullanc yapn ve eriim yetkilerini, bu dosyaya root dnda kimsenin eriemeyecei ekilde deitirin:
chown root:root /tmp/ek_takas chmod 600 /tmp/ek_takas /tmp/ek_takas swap swap

Daha sonra /etc/fstab dosyas iine

defaults

satrn ekleyin. Son olarak da yeni takas alann devreye sokun:


swapon /tmp/ek_takas

Takas alan deiikliklerinde bile sistemi reboot etmenize gerek olmad dikkatinizi ekti mi?
/etc/fstaba eklediiniz satr sayesinde sistemi her anzda bu takas ala-

n devreye girecektir.

Ek takas alan olarak ayrdnz disk alanna ihtiyacnz olursa


swapoff /tmp/ek_takas

338

Sistem Ynetimi

gibi bir komutla, bu dosyann takas olan olarak kullanmna son verebilir ve dosyay silip /tmp altnda yer aabilirsiniz. /etc/fstab dosyasndan ilgili satr karmay da unutmayn ki bir dahaki sistem alnda sorun kmasn.

Kullanc Ynetimi
Kullanc Hesaplar
Kullanc hesaplarnn alp kapatlmasnn yansra, kullanclarn kullanabilecekleri sistem kaynaklarn belirleme ve gerekirse snrlama ileri de sistem yneticisinin nemli grevlerindendir. LINUXta kullanc hesab amann pek ok yolu vardr; nk hesap ama temelde /etc/passwd ve /etc/shadow dosyalarna birer satr eklemekten oluur.

/etc/passwd dosyas, adnnn aksine ifrelerle ilgili hibir bilgi iermez. Eskiden, tm UNIXlerde /etc/passwd dosyas kullanclarn ifre dahil her trl bilgisinin tutulduu dosya idi. Ancak, internet yaygnlatka gvenlik sorunlar da artmaya balad. Kullanm mant gerei /etc/passwd dosyasnn herkesin okuyabilecei bir dosya olmas, kt niyetli kiilerin kriptolanm da olsa kullanc ifrelerini alp baka bilgisayarlarda deneme yanlma yoluyla krma abalarna yol at. Bunun zerine /etc/passwd dosyasnn ifre hari tm zellikleri aynen korunacak ekilde ifrelerin baka dosyaya, yani /etc/shadow isimli bir dosyaya tanmas kararlatrld ve root kulla-

339

Kim Korkar LINUXtan?

nc dnda herkesin bu dosya zerindeki tm yetkileri kaldrld. Artk modern UNIX uyarlamalarnn hemen hemen hepsi kullanc ifrelerini /etc/shadow dosyasnda saklamaktadr. Yeri gelmiken; UNIX dnyasnda kullanc hesaplarn ve ifrelerini saklamann tek yolu /etc/passwd ve /etc/shadow dosyalar deildir. Bu iki dosya, en yaygn olarak kullanlan yntemlerdir. Bir hesap amak ya da kapatmak iin bu dosyalar vi ile dzenleyebileceiniz gibi bu ii sizin yerinize yapacak zel aralar da kullanabilirsiniz. KDE ortamnda kullanc hesaplarnn ynetimi iin userdrake kullanabilirsiniz. Yeni kullanc tanmlarken terminal penceresinden komut vermeyi yelerseniz
adduser -c Can Ugur Ayfer -d /home/cayfer cayfer

komutundan yararlanabilirsiniz. Bu komutun aslnda daha birok parametresi vardr; ancak gnlk kullanmda daha fazlas pek gerekmiyor. Komutun ayrntlarn renmek isterseniz komutu parametresiz olarak verin. Kendi kullanm klavuzunu kendisi grntleyecektir. Hatrlarsanz kitabn balarnda UNIXte kullanc kodlarnn ok da anlaml olmadn, esas kimlik belirleyicisinin saysal kullanc numaras olduunu belirtmitik. te bu konu imdi gene gndeme geldi. adduser komutu, yeni tantlan kullanclara numara verme iini kendisi halleder; bunu yaparken de en son verilmi numarann bir fazlasn seer. Bir nedenle kullanclarnza kendiniz numara vererek hesap amak isterseniz, adduser komutunun -u parametresinden yararlanabilirsiniz. Bazen kodunu bildiiniz ama ak adn hatrlayamadnz; ya da tam tersine, ak adnn bir ksmn da olsa bildiiniz ama kodunu hatrlayamadnz kullanclar olacaktr. Bu gibi durumlarda
finger

komutu ok iinize yarayacaktr. Komutu finger ayfer eklinde verirseniz, kullanc ak adnda ayfer geen kullanclarn; finger -m ayfer eklinde verirseniz de, kullanc kodu ayfer olan kullancnn ayrntl bilgilerine eriirsiniz.

340

Sistem Ynetimi

Kurulum srasnda finger programnn kurulmasn zellikle istemediyseniz yukardaki finger komutu rneklerini denemek istediinizde finger: command not found mesajn alacaksnz. sterseniz, yeri gelmiken finger programn sisteminize birlikte kuralm: Bir LINUX programn kurmann en kolay yolu o programn rpm paketini (RedHat Packet Manager szcklerinin ba harfleri) bulup, paketi rpm komutuyla kurmaktr. Kurulum srasnda kurulmam rpm paketlerini Mandrake datm CDlerinden birinde bulabilirsiniz; ama tane CD olduunu dnrseniz bunlar arasnda aramaktansa nternette aramak daha kolay olacaktr. LINUX paketlerinin gncel srmlerini indirmek iin en uygun servislerden biri www.rpmfind.net sitesidir.

341

Kim Korkar LINUXtan?

Anahtar szck kutusuna finger szcn yazp aramay balatn.

342

Sistem Ynetimi

Bulunan rpm paketleri arasnda Mandrake datm iin hazrlanm olanlardan gncel bir srme ilikin paketi sein. Eer varsa, adnda i586, i686 geen paketlerden birini sein. Adnda src geen paketler, programlarn kaynak kodlarn ieren paketlerdir. Kurulum iin bu paketi kurduktan sonra modlleri derlemek gerekecektir. Boyere derlemekle uramamak iin adnda noarch (mimariden bamsz) geen hazr derlenmi paketleri kurmak ok daha kolay olabilir. te yandan, kendi sisteminize uyarlanmas yerinde olan programlar (rnein ekran kartnza ve cpu cinsine gre daha iyi alacak ekilde derlenebilecek mplayer video oynatcs) kaynak kodlarndan derlendiinde daha baarl olabilir.
finger komutunun rpm paketini, rnein /tmp dizinine, indirdikten sonra rpm -i /tmp/finger-0.17-4mdk.i586.rpm

komutuyla kurabilirsiniz.

Neyse, konumuza dnelim... Bir kullancnn hesabn kapatmak istediinizde


userdel [-r] kullanici

komutunu kullanabilirsiniz. userdel kullanici komutu /etc/passwd ve /etc/shadow dosyalarndan kullanici ile ilgili satrlar siler. Kullancnn (varsa) kiisel dizinini de silmek isterseniz -r parametresini kullanmalsnz. Alm bir kullanc hesabyla ilgili bilgileri deitirmek istediinizde
usermod parametre[ler] kullanici_adi

komutunu

343

Kim Korkar LINUXtan?

[-c [-d [-s [-p [-u [-G

ak_ad] kiisel_dizin] kabuk] ifre] kullanc_saysal_kodu] grup1[,grup2[, ...]]]

gibi parametrelerle kullanabilirsiniz. rnein ak ad yanllkla Can Ugur Afyer olarak girilmi olan cayfer kullancsnn ak adn dzeltmek iin
usermod c Can Ugur Ayfer cayfer

komutunu verebilirsiniz. Bu arada tekrar hatrlatmadan geemeyeceiz: Ayn ii /etc/passwd dosyasn vi ya da bir baka editr ile dzenleyerek de yapabilirdiniz.
usermod komutunun olduka kullanl parametresi daha vardr. rneusermod -e 2002-12-31 cayfer

in,

komutu, cayfer isimli kullancnn ifresini 31 Aralk 2002 tarihinde geersiz klarak bu kullancnn sisteme eriim hakkna son verecektir. Hesap kapanmayacak; ancak ifre bilinmeyen bir deere deitirildii iin sistem yneticisi yeni bir ifre verene kadar bu kullanc sisteme balanamayacaktr. Kullanclar ifrelerinin geersiz klnaca tarih yaklanca sistem bu kullanclar uyarmaya balar; ancak kullanclarn bu uyary grebilmeleri iin sisteme login olmalar gerekir. Kabuk kullanmayan kullanclar (e-postalarn POP servisiyle uzaktan okuyanlar, yani sistemi dorudan kullanmayanlar) doal olarak bu uyar mesajn gremeyecektir. Bazen sistem yneticileri bir kullancnn hesabn geici olarak eriilmez hale getirmek isterler. rnein bir hesabn bir bakas tarafndan kullanldndan phelendiinizde ya da sisteminizin kullanm kurallarna uymayan kullanclarn sisteme eriim yetkilerini geici olarak kaldrmak istediinizde
usermod -L cayfer

gibi bir komutla, cayfer isimli kullancnn hesabn kilitleyebilirsiniz. Hesab kilitlenmi bir kullancnn hesabn geri amak iin

344

Sistem Ynetimi

usermod -U cayfer

komutu kullanlabilir.

Kullanc Gruplar
Dosya eriim yetkilerini yle bir gznzn nne getirirseniz ortadaki lnn dosyann sahibiyle ayn gruptaki kullanclarn yetkileri olduunu hatrlayacaksnz. Dosya/dizin ayrm yapan iaret Sahibinin bu dosya/dizin zerindeki yetkileri Sahibi ile ayn grupta olanlarn yetkileri Dier kullanclarn yetkileri

d rwx rwx rwx - rw- rw- --- rwx --x --x

Herkese tam yetkiye rnek Sahibi ve gruba okuma/yazma yetkisi Herkesin altrabilecei bir program

Kullanclar gruplayarak dosya ve dizinlere eriim yetkilerini dzenlemek olduka kullanl bir yntemdir. rnein, ayn yazlm projesi zerinde alan tm programclar ayn gruba yerletirip, bu projeyle ilgili dizin ve dosyalarn grup eriim haklarn istediiniz gibi verebilirsiniz. Bu arada herhangi bir kullancnn birden fazla grupta yer alabileceini de belirtmekte yarar var.

345

Kim Korkar LINUXtan?

Sistemde tanml kullanc gruplarna ilikin kaytlar /etc/group dosyasnda saklanr.

Bu dosyadaki grup tanm kaytlarnn genel formunda nce grubun ad, sonra varsa grubun ifresi, sonra grubun saysal numaras (kullanc hesaplarnda olduu gibi aslnda nemli olan gruplarn isimleri deil, saysal kodlardr), sonra gerei kadar virglle ayrlm olarak bu grubun yelerinin isimleri yer alr. Sisteminize yeni bir grup eklemeniz gerektiinde, uygun bir grup tantm kaydn /etc/group dosyasna herhangi bir editrle ekleyebileceiniz gibi

groupadd [-g grup_no] yeni_grup

komutunu da kullanabilirsiniz. Benzeri ekilde grup iptal etmek istediinizde


groupdel grup_adi

komutunu kullanabilir veya /etc/group dosyasn edit edebilirsiniz. Bir kullancnzn hangi gruplara dahil olduunu grmek isterseniz
groups kullanici

komutunu kullanabilirsiniz.

346

Sistem Ynetimi

Gruplarnzdan birine yeni bir kullanc eklemek istediinizde en kolay /etc/group dosyasn dzenleyerek ilgili grubun tantm kaydnn sonuna bu kullancnn adn eklemektir. rnein cayfer isimli kullancy apache grubuna eklemek iin /etc/group dosyasndaki apache grubuna ilikin satr

apache:x:48:webmaster,cayfer

olacak ekilde deitirmeniz yeterlidir. Kullanc gruplaryla ilgili olarak szn etmek istediimiz nemli bir komut daha var:
chgrp grup dosya chgrp grup dizin chgrp -R grup dizin

chgrp komutu bir dosyann, bir dizinin veya altndaki hereyle birlikte bir dizinin ait olduu grubu deitirmek iin kullanlr. ok byk lde chown komutuna benzer.

Bir kullanc sisteme balandnda kendisi iin /etc/passwd dosyasnda belirtilmi olan grup kimliine sahip olur. Oysa bir kullancnn birden fazla grubun yesi olabileceini sylemitik. Bir nedenle (ki bu genellikle eriim yetkileriyle ilgili bir neden olur) kullanc kimliinizi deitirmeden grup kimliinizi deitirmek isteyebilirsiniz. O zaman
newgrp grup_ad

komutunu kullanmalsnz. Eer bu yeni grup ifre gerektiren bir grupsa, sizden grup ifresini girmeniz istenecektir. Kullanclarn bir grup kimliine brnmek iin newgrp komutu kullandklarnda ifre sorulmasn istediinizde
gpasswd grup

komutuyla o gruba bir ifre vermeniz gerekir.

347

Kim Korkar LINUXtan?

Kullanc Disk Kotalar Ne kadar hzla ucuzlasa da bilgisayar sisteminizin en deerli kayna disk kapasitesidir. Disk kapasiteleri 5 MegaByte iken de byleydi, 100 TeraByte olduunda da byle olacak. Tipik kullanc davranlarndan birisi de hibir dosyay silmemektir. Sahipleri Sakla saman gelir zaman diye dnyor olsalar gerek, MP3 ve DIVX dosyalar kiisel dizinlerinde dner dururlar. Bu gibi durumlarda sistem yneticilerinin en nemli silahlarndan biri disk kota sistemidir. Kullanclarn kullanabilecekleri disk alanlarn kstlama ilemi her dosya sistemi iin ayr ayr yaplr, ancak pratikte kullanc kiisel dizinlerinin yer ald /home dizininin yer ald dosya sisteminde kota uygulamas yapmak yeterlidir. Kota uygulamaya balamadan nce sisteminizin ekirdeinde (kernel) kota destei olduuna emin olmalsnz. Bunun iin
grep i quota /var/log/dmesg

komutunu verdiinizde
VFS: Diskquotas version dquot_6.5.0 initialized

gibi bir yant alrsanz, sisteminizin ekirdeinde kota destei var demektir. Eer kota destei olmayan bir LINUX ekirdei kullanyorsanz, kendinize disk kotas destei olan bir ekirdek hazrlayp, bu ekirdei derleyip sistemin bu ekirdekle almasn salamalsnz. ekirdek seeneklerinde deiiklik yapp yeniden derleme, bu kitabn kapsam dnda kalan ileri dzey bir itir. ekirdek derlemeniz gerekirse baka kaynaklara bavurmanz gerekecektir. Kota uygulamaya balamak iin /etc/fstab dosyasnda, kota uygulanacak dosya sistemlerine ilikin
/dev/hda3 /home ext2 defaults,usrquota 1 1

benzeri satrlar olacak ekilde bir dzenleme yapmalsnz. (usrquota parametresini eklemelisiniz.)

348

Sistem Ynetimi

Bu deiikliin ardndan ilgili dosya sistemini yeniden mount etmeniz gerekir. Bunun en kolay yolu
mount -a

komutunu kullanmaktr. (Sisteme bal kullanclarnz varsa, byk olaslkla /home dizini altndaki kiisel dizinlerini kullanyor olacaklarndan bu komut /home dosya sistemini zp tekrar balamayacaktr. Bu nedenle mount -a komutundan nce sistemde sizden baka alan kimse olmamasna dikkat etmelisiniz.) Daha sonra bu dosya sistemi iin kota sistemini alr duruma getirmelisiniz:
quotaon /dev/hda3

Kota sistemini ilk kez alr duruma getirdiinizde


quotacheck /dev/hda3

gibi bir komutla diskte kimin ne kadar yer harcadnn ve harcama hakk olduunun hesabnn tutulduu aquota.user dosyasnn yaratlmasn salamalsnz. Eer birden fazla disk blmnde kota uygulayacaksanz, quotacheck komutunu herbir blm iin ayr ayr vermelisiniz. imdi sra kotasn snrlamak istediiniz kullanclar iin /home dizininde oluturabilecekleri dosyalarn toplam bykln belirtmeye geldi. Bunun iin edquota komutunu kullanmak gerekiyor:

edquota cayfer

te vi kullanmanz gerektiren bir noktaya geldiniz. Zamannda uyarmtk! vi bilmeden olmaz diye...

349

Kim Korkar LINUXtan?

kota limiti girmenizi bekleyecektir.

edquota cayfer komutunu verdiinizde, kota editr aadaki gibi bir pencere aarak cayfer kullancs iin soft ve hard diye belirlenen iki

soft limit, geici bir sre iin kullancya ait dosyalarn toplam uzunluunun eriebilecei deerdir. Bu geici sreye LINUX terminolojisinde grace period ad verilir. hard limit ise kullancnn uzun dnemde aamayaca toplam dosya uzunluudur. Kotann alabilecei geici sre, edquota -t komutuyla deitirilmedii srece yedi gndr. Bir kullancnn kota verileri aadaki gibi olduunda

350

Sistem Ynetimi

/dev/hda6 diskinde o kullancya ait dosyalarnn kotas 200 MB olur; an-

cak geici bir sre iin (7 gn) toplamn 220 Mbytea kadar kmasna izin verilir. Bu srenin dolmasndan sonra, kullancnn yeni dosya kaydetmesine izin verilmez.

Sistemde disk kotas verilmi olan tm kullanclar, kotalarn ve bu kotalarnn ne kadarnn kullanlm olduunu grmek iin repquota komutunu kullanabilirsiniz.
repquota -a

Log Dosyalarnn Ynetimi


Log dosyalarnn bir sistem yneticisinin en nemli aralarndan olduunu daha nce de belirtmitik. Sisteme ne zaman kimin telnet ile balandn, kimin FTP ile dosya ektiini, kime kimden e-posta gittiini, belirli bir saatte balamak zere programlanan ilerin bana neler geldiini, sistemin almas srasnda olup bitenleri, disk arzalarn, kimin hangi web sayfanza baktn ve bunun gibi birok kayda deer olay /var/log altndaki eitli dosyalar inceleyerek grebilirsiniz. Log dosyalar genellikle ilgili olduklar iin adn ieren ya da anmsatan dosyalardr. rnein /var/log/httpd/access.log dosyas, web sitenizi ziyaret edenlerle ilgili bilgileri; /var/log/messages, sisteminizde oluabilecek sorunlara; daha dorusu eitli sistem yazlmlarnn kayda deer bulduu olaylara ilikin kaytlar ierir. Baz log dosyalarn okuyabilmek iin zel komutlar kullanmanz gerekebilir; rnein sisteme telnet ile ya da konsoldan balanan (login eden) kullanclar grmek iin last komutunu kullanmalsnz. Bu kaytlarn tutulduu

351

Kim Korkar LINUXtan?

/var/log/lastlog dosyas basit bir metin dosyas olmad iin more ya da less komutuyla bu log dosyasna gz atamazsnz.

Bir sorunun kaynan bulmak iin hangi log dosyasna bakmanz gerektiine karar vermek ve bu dosyalarn iindeki kaytlar yorumlamak biraz deneyim gerektirmektedir. Merak etmeyin, ksa zamanda bu dosyalar yorumlamay reneceksiniz.
aralarndan biridir. Neredeyse sistemde olup biten hereyin bu dosyalarda bir kaydn bulabilrsiniz. /var/log/dmesg dosyasnda da sisteminizin en son al srasnda olup bitenlerin kayd tutulur. Her alta bu dosya yeniden oluturulur. Al srasnda, modller ve donanm srcleri yklendike bu dosyaya kayt dlr. Bu log dosyalarnda hep olumsuz mesajlar yer almaz; baaryla tamamlanan iler de buraya kaydedilir.

/var/log dizinindeki dosyalar bir UNIX sistem yneticisinin en nemli

/var/log/dmesg dosyasnn ieriini grmek iin dmesg | less


komutunu kullanabileceiniz gibi

less /var/log/dmesg
komutundan da yararlanabilirsiniz.

352

Sistem Ynetimi

Log dosyalarnn esas sorunu ieriklerinin yorumlanmasndan ok devaml byyen dosyalar olmalardr. Diskiniz ne kadar byk olursa olsun, log dosyalar gnn birinde bu diski de dolduracaktr. Log dosyalarnn ar bymesini nlemek iin LINUX sistemlerde logrotate isimli bir program alr.
logrotate programnn grevi arada srada log dosyalarn arivlemek, eskiyen arivleri de silip atarak /var/log dizininin ar byyp diski doldurmasn nlemektir. rnein, logrotate program messages isimli log dosyasn haftada bir kez messages.1.gz isimli bir dosyaya dntrr ve yeni

log kaytlarn yeni bir messages dosyasnda biriktirmeye balar. Bu arada varsa eski messages.1.gz dosyas messages.2.gzye, varsa eski messages.2.gz messages.3.gzye dntrlr. Tipik olarak messages.4.gz, messages.5.gzye dntrlmeden nce, varsa messages.5.gz silinir. Bylece log dosyalar her hafta dndrlm olur. Log dosyalarn dndrlmesinde kullanlacak mantk /etc/logrotate.conf dosyasnda belirtilir. logrotate.conf dosyasna kurulum srasnda yerletirilen deerler tipik bir LINUX sunucu iin son derece uygun deerler olduu iin bunlar deitirmeye gerek duymayacanz varsayarak bu konuda daha fazla ayrntya girmek istemiyoruz.

353

Kim Korkar LINUXtan?

A Ynetimi
Tm UNIX sistemlerde olduu gibi LINUX iin de doal a yazlm TCP/IP zerine kurulmutur. Bu nedenle LINUX a ynetimi aslnda TCP/IP a ynetimidir. TCP/IP a ynetimi balbana bir kitap konusu olduu iin bu kitapta tm ayrntlara girmemize olanak yok. Bir LINUX makinenin bir TCP/IP aa nasl balanacan ve bu balantnn nasl denetleneceini ksaca anlatmakla yetineceiz.

TCP/IP Ayarlar
Bir bilgisayarn TCP/IP aa balanabilmesi iin o aa bal en az bir a arabirimi olmal ve bu arabirim iin bir IP adresi, bir a geidi (gateway), bir DNS sunucusu ve a maskesi (netmask) tanmlanm olmaldr. Eer bilgisayarnz aa Ethernet arabirimi kullanarak balayacaksanz bu ayarlar /dev/eth0 adyla eriilen a arabirimi iin yaplmaldr. Yok balantnz bir modem araclyla yapacaksanz bu ayarlar /dev/ttyS0 gibi bir isimle anlan seri arabirim veya /dev/modem adyla anlan modem arabiriminiz iin yapmalsnz. Kablo-Net veya DSL servisi zerinden yapacanz a balantlar iin servis salaycnza danmanz neririz. zellikle DSL balantlar iin zel PPPoE (Point to Point Protocol over Ethernet) yazlmn kurmanz gerekebilir. LINUXta TCP/IP ayarlar iin en kolay kullanlan aralardan biri drakconf komutuyla da balatlabilen mandriva Control Venter yazlmdr. Bunun iin: KDE Sistem Configuration Configure Your Computer Network&Internet

seimlerini yapabileceiniz gibi root kullanc yetkisiyle almakta olduunuz bir terminal penceresinden
/usr/sbin/drakconf

komutunu verebilirsiniz. Her iki yntem de bilgisayarnzn TCP/IP ayarlarn yapmak iin kullanldr.

354

Sistem Ynetimi

355

Kim Korkar LINUXtan?

A arabiriminiz ne olursa olsun, TCP/IP ayarlarnz kontrol etmek iin en kullanl komut ping komutudur:
ping 192.168.12.1

gibi bir komutla sizinle ayn ada yer alan bir baka bilgisayara eriip eriemediinizi kontrol edebilirsiniz. ping komutunun ad, masa tenisinden esinlenilmitir. Temel olarak orda msn? sorusu gnderip evet yantn bekleyen bir programdr. Orda msn? sorusuna hibir zaman Hayr yant gelmez.

Hattnzn kalitesini; yani paket kayb olup olmadn kontrol etmek iin 1500 byte uzunluunda paketleri srekli gnderebilirsiniz:
ping -s 15000 -c 200 192.168.12.1

Yerel ada bir bilgisayara sorunsuz ulatnza emin olduktan sonra


ping 128.12.3.66

gibi bir komutla sizin an dnda yer alan ve alr durumda olduuna emin olduunuz bir bilgisayar pinglemeyi deneyin. Baarsz olursanz kontrol edilmesi gereken ilk ayar a geidi ayarnzdr. Bir sonraki aama DNS sunucu ayarlarnz kontrol etmek amacyla pinglenecek bilgisayarn IP adresi yerine adn kullanmak olacaktr:
/bin/ping www.sunucu.com.tr

gibi bir komutla www.sunucu.com.tr makinesini de pingleyebiliyorsanz bilgisayarnz sembolik internet adreslerinden saysal IP adreslerini zmleyebiliyor demektir. stelik a geidiniz olan ynlendiricinin ayarlarn da dorulam olursunuz.

356

Sistem Ynetimi

drakconf iin TCP/IP ayarlarn yapmak iin kullanlan en kolay aralardan biri demitik. TCP/IP ayarlaryla ustalarn yapt gibi konsoldan oynamak istediinizde kullanmanz gereken komutlardan biri ifconfig komutudur. /sbin/ifconfig eth0 192.168.10.3 netmask 255.255.255.0 broadcast 192.168.10.255

(Aslnda bu komut tek satr olmal ama sayfaya smad, ne yapalm.)


/dev/eth0 a arabiriminizin ne durumda olduunu, hangi IP adresine ayar-

l olduunu, almaya baladndan bu yana ka paket gnderdiini ve aldn, bu transferler srasnda ne kadar iletiim hatas olduunu

/sbin/ifconfig -a eth0

komutuyla grebilirsiniz.

traceroute komutuyla bir baka adaki bilgisayara gnderdiiniz paketle-

rin izledii yolu gzleyebilirsiniz. Bu komut, yerel anzn internete birden fazla k olduu durumlarda ok ie yarayacaktr.

357

Kim Korkar LINUXtan?

A balantnzn genel durumu ile ilgili ayrntl bilgi almak istediinizde netstat komutu ok iinize yarayacaktr. zellikle sizin bilgisayarnzla herhangi bir TCP/IP balants olan bilgisayarlar grmek iin ok kullanl bir komuttur. /bin/netstat -s bilgisayarnzn TCP, UDP, ICMP trafik istatistiklerini listeler. Bunlarn ne anlama geldiini bilmiyorsanz hi dert etmeyin. O kadar da nemli deil. /bin/netstat -r bilgisayarnz tarafndan kullanlmakta olan ynlendirme tablosunu gsterir. Bilgisayarnz bir ynlendirici (router) olarak kullanyorsanz ok iinize yarayacaktr.
Ynlendiriciler, TCP/IP alarn belkemiini oluturur. Ynlendiriciler birden fazla bilgisayar an birbirine balamak iin kullanlr. rnein, iyerinizdeki 50 bilgisayar internete balamak istediinizde irketinizin an internet servis salayc kuruluun bilgisayar ana balayabilmek iin bir ynlendirici kullanmanz gerekir. Bir modemle basit bir PPP balants bile kursanz aslnda bu PPP balanty salayan bilgisayar bir ynlendirici olarak grev yapacaktr. Kullanlacak ynlendiricinin a arabirim says ve eitleri balant ortamna ve a gereksinimlerine gre byk eitlilik gsterse de ilke olarak hepsi ayndr: Birden fazla a zerinde oturan ve gelip giden paketleri var adreslerine gre uygun arabirime ynelten bilgisayarlara ynlendirici (router) denir. Piyasada satlmakta olan ynlendiricilerin neredeyse tamamnn salt ynlendirme ii yapacak ekilde, disksiz olarak UNIX iletim sistemiyle alabilen birer bilgisayar olduunu dnrseniz LINUX iletim sistemi ile kusursuz bir ynlendiriciyi ok ucuza kurabilirsiniz. ok sayda meslektamz bu uygulamaya arkasnda ciddi bir firma olmad gerekesiyle kar ksa da, deneyimlerimiz 30.000 ABD dolar tutarnda yksek performansl bir ynlendirici yerine 2.000 ABD Dolar karlnda iki adet PC (bir tanesi yedek olarak hazr tutulmak zere) ve LINUX iletim sistemiyle 3 internet balants olan, yaklak 5.000 bilgisayardan oluan bir aa mkemmel ynlendirme ve ate duvar (firewall) korumas salanabileceini gstermitir.

358

Sistem Ynetimi

/bin/netstat a bilgisayarnz zerinde kurulu bulunan TCP/IP balantlarn, bu balantlarn kulland port numaralarn ve bal bilgisayarn IP adreslerini veya ak adlarn listeler.

host www.mandriva.com

DNS zmlemesi yapmak iin kullanlan host komutunu

eklinde kullanrsanz, bilgisayarnzn TCP/IP ayarlar arasnda belirtilmi olan DNS sunucusundan www.mandriva.com bilgisayarnn IP adresi sorgulanacaktr. Eer birden fazla DNS sunucusu tantlmsa ve birinciden yant gelmezse sorgu ikinci DNS sunucusuna ynlendirilecektir.

host www.cnn.com 128.12.34.1

Komutu

eklinde verirseniz www.cnn.com sembolik adresinin saysal IP adresine ili-

359

Kim Korkar LINUXtan?

kin sorgu TCP/IP ayarlarndaki DNS sunucusuna deil, 128.12.34.1 IP adresli bilgisayara ynlendirilir. Komutu
host 64.236.16.52

eklinde bir IP adresiyle verirseniz, verdiiniz IP adresinin hangi sembolik adrese karlk geldii sorgulanr. A yneticileri zaman zaman falanca a / makine kime ait acaba? sorusuyla karlarlar. rnein abc.com diye bir adan bilgisayarnza ynelik bir saldr olduunda bu an hangi kii ya da kurulua kaytl olduunu bulma gereini hissedersiniz. Eer an bir web sunucusu var ve burada da iletiim iin e-posta adresi, telefon numaras varsa sorun olmaz. Ancak her zaman bu bilgileri bulamayabilirsiniz. Tm internet domain isimlerinin kaydettirilmesi gereinden yola karak szkonusu an adnn kimin zerine kaytl olduunu bulabilirsiniz. (Kt niyetli kiiler gerek isim ve telefonlarn vermezler ama olsun, bir ipucudur genede...) Bu i iin whois programndan yararlanabilirsiniz. (Eer yazlm ynetimi blmnde verdiimiz rnei uygulamadysanz whois program bilgisayarnzda ykl olmayacaktr.)

360

Sistem Ynetimi

Yazc Ynetimi
Genel olarak UNIX sisteminde yazc ynetimi sistem yneticilerinin pek sevmedii bir konu olagelmitir. Ancak, LINUXun yaygnlamasyla birlikte son derece baarl ve kolay kullanlan yazc denetim sistemleri gelitirilmitir. Bunlarn gnmzde en yaygn olarak kullanlan CUPSdr. (Common UNIX Printing System) Dorudan bilgisayarnza da bal olsa, bir a yazcs da olsa, yazcnz CUPS ile ynetmenizi neririz. Doal olarak ilk i yazcnzn sisteme tantlmasdr. Bunun iin Mandriva Control Center iinde Hardware ve Printers seimlerini yaparak ie balayabilirsiniz. CUPS ile hem dorudan bilgisayarnza bal (local) yazclar; hem de a zerinden eriebilen yazclar (network printer) kullanabilirsiniz.

361

Kim Korkar LINUXtan?

CUPS sunucunuzu bir web taraycsyla ynetebilirsiniz. Bunun iin cupsd isimli daemon yazlmnn arka planda alyor olmas gerekir. Bu son cmleyi eski konular gzden geirmek iin bir frsat olarak deerlendirmek istiyoruz
cupsd yazlmnn arka planda alp almad nasl kontrol edilir? relerin listesinden, iinde cups szc geen satrlar listeleyebilirsiniz. cupsd yazlm arka planda almyorsa nasl altrlr? trabilirsiniz. (& karakterinin ilevini hatrladnz, deil mi?) cupsd yazlm ykl deilse ne yapmal? Yklemeli... Mandriva Control Center sonra Install Software... cupsd yazlmnn sistemin her alnda otomatik olarak balamas iin ne yapmal? (Her altan sonra konsoldan root /usr/sbin/cupsd & komutuyla cupsd programn arka planda alps -ax grep cupsd komutuyla sisteminizde almakta olan tm s-

--

/usr/sbin/cupsd & komutunu vermek zorunda kalmak hi de ho deildir dorusu.) chkconfig --add cups komutuyla /etc/rc.d dizinindeki dzenlemerin yaplmasn salayabilirsiniz.

olarak

Evet, artk cupsd servisi altna gre CUPS denetimini web taraycyla yapmak zere beendiiniz web taraycsn altrp URL olarak http://localhost:631 girebilirsiniz. Web tabanl CUPS yneticisi, standard http portu olan 80 numaral port zerinden deil, kendisine zel 631 numaral port zerinden servis verir.

362

Sistem Ynetimi

Yedekleme
Sistem yneticisinin en nemli grevi ya da nemli iki- grevinden biri yedeklemedir. Bilgisayarnz hi bozulmayacakm gibi kullanmal ama her dakika kecekmi gibi yedeklemelisiniz. Arzalanan bir diski deitirmek kolay ve ucuzdur; ancak uygulama yazlmlarn tekrar batan kurmak, sistem ayarlarn yeniden yapmak, zellikle de kaytl verileri yerine koymak ok zordur. Hatta bazen olanaksz olabilmektedir. Sisteminizde yaplan ilerin nemine ve eriebildiiniz donanm kaynaklarnn zelliklerine gre kendinize zg bir yedekleme stratejisi gelitirmeli ve bu stratejiye harfi harfine uymalsnz. rnein deerli dosyalarnz ve dizinlerinizi periyodik olarak bir ikinci disk zerine ya da daha iyisi, bir baka bilgisayara kopyalamalsnz. Tipik bir LINUX sisteminde en deerli sistem dosyalar /etc, /var ve /usr/local dizinlerinde yer alr. /home da zenle yedeklenmesi gereken bir dizindir.

363

Kim Korkar LINUXtan?

Daha nceki blmlerde yedekleme iin tar komutunu nermitik. Aslnda iki nemli yedekleme arac daha vardr: dump rsync
dump byk sistemlerde zellikle teyp kasetlerine yedekleme iin kullanlr. Kullanmas biraz deneyim gerektirir. Bu yzden bu kitapta dump komutunun ayrntlarna girmeyeceiz. dump ile yedek alrken ayda bir tam yedek

alp, sonra da her gn artml yedekleme yapabildiinizi belirtmek isteriz. (incremental backup, Trkiye Biliim Dernei, Biliim Terimleri Szl, http://www.tbd.org.tr/sozluk.html) Artml yedeklemede, en son tam yedeklemeden bu yana deien dosyalar yedeklenir. Bylece yedekleme abuk biter. Gnmzn tipik sunucu disk kapasitelerinin yzlerce gigabyte olduunu ve bu kapasiteleri yedeklemenin teyp veri transfer hzlaryla saatlerce sreceini dnrseniz artml yedeklemenin ne denli nemli olduunu kabul edersiniz herhalde.
rsync diskten diske ya da yerel bir a zerinde makineden makineye yedek-

leme iin kullanlabilen ok kullanl bir aratr. Temel mant iki dizini senkronize etmektir.

Diyelim ki alakgnll bir an ynetiminden sorumlusunuz ve ortalkta baz nemli dizinlerini yedeklemek istediiniz on tane makine var. Her gece yars bu makinelerden rcp komutuyla yedeklemek istediiniz dizin ve dosyalar yedekleme makinesine kopyalayabilirsiniz. web sunucusunda
rcp rcp rcp -r /home depo:/web -r /etc depo:/web -r /var/spool/mail depo:/mail

e-posta sunucusunda

ya da
depo makinesinde rcp -r web:/home /web

364

Sistem Ynetimi

rcp rcp rcp

-r web:/etc /web -r mail:/var/spool/mail /mail -r muhasebe:/var/data /mhsb

gibi komutlar vererek bu ekilde bir yedekleme yaplabilir. Ancak on makine iin bu iler olduka uzun srecektir. Onun iin rcp ile kopyalamak yerine rsync ile yalnzca deien dosyalar kopyalamay dnebilirsiniz.
depo makinesinde vereceiniz

/usr/bin/rsync -az muhasebe:/var/data/ /mhsb/var/data

komutuyla muhasebe makinesindeki /var/data dizinindeki dosya ve alt dizinlerle komutun verildii makinedeki /mhsb/var/data dizinindeki dosyalar ve alt dizinlerin son deiiklik tarihleri karlatrlr. Eer muhasebe makinesindeki dosya ve dizinlerin tarihi daha yeniyse, o dosyalar komutun verildii makineye (depo makinesine) kopyalanr. nemli bir nokta da u: Daha nce yedeklenmi olan mhsb:/var/data dizinindeki 2002_bilanco isimli bir dosya muhasebe makinesinden silinirse, depodaki kopyas kalacaktr, nk son deiiklik tarih-saat karlatrmas yalnzca gnderen makinedeki dosya ve dizinler iin yaplr. Aslnda bu zellik arada srada ie de yarar. Yanllkla silinmi birok dosyay bu zellik sayesinde kurtarmak mmkn olabiliyor. Ancak bu kalnt dosyalar byk dosyalarsa, o zaman da disk kapasitesi sorununa yol aabiliyor. Eer bu gibi durumlarda gnderici makinede yok olmu dosyalarn alc makineden de silinmesini isterseniz rsync komutunu --delete parametresiyle kullanabilirsiniz.
/usr/bin/rsync -az --delete muhasebe:/var/data/ /mhsb/var/data

rsync programn kullanarak makineler aras yedekleme yapabilmeniz iin hem gnderen hem alan makinelerde rsync ve rsh modlleri kurulu olma-

ldr. Yedekleme iini genellikle root yetkisiyle yapmak isteyeceiniz iin gvenlik duvarlarn amak iin yapmanz gereken iki i daha olacaktr:

1. Gnderici makine zerinde /root dizininde yani root kullancnn kiisel dizininde ad .rhosts olan bir dosya yaratmal ve bu dosyann iine

365

Kim Korkar LINUXtan?

192.168.0.12 root cayfer

gibi bir satr eklemelisiniz. Burada 192.168.0.12 yalnzca bir rnek olup, dier makinenin IP numaras olarak deerlendirilmelidir. Bu satr, 192.168.0.12 IP adresli bilgisayardan gelen root ve cayfer kimlikli kullanclarn her iki makinede de tanml olmak kaydyla ayn kimliklerle kabul edilmelerini salamak iindir. .rhosts dosyasn dzenlerken liberal olmamanz neririz; nemli bir gvenlik gedii aabilirsiniz. 2. kinci olarak da /etc/pam.d/rsh dosyasnda pam_nologin.so ve pam_securetty.so satrlarnn bana birer # yerletirerek bu seimleri geersiz klmalsnz. (Bunun neden yapldn ve pamin ne olduunu aklamak biraz zor. Yeni balayanlar iin pam szcnn Password Authentication Module isminin ksaltmas olduunu ve kullanclarn zellikle a zerinden yapabilecekleri ilerde yetki ve ifre deerlendirmelerinin nasl yaplacan belirleyen bir servis olduunu aklamak yeterli olacaktr. Gvenlik konusunda deneyim kazandka pam konusunda da bilginiz ve hakimiyetiniz artacaktr.)

Periyodik lerin Ynetimi


Sisteminiz gelitike, daha dorusu sisteminize bamllnz arttka sistem yneticisi olarak stlendiiniz sorumluluklar da artacaktr. Kullanclarnza disk dolmu da ondan falanca servis almyormu dememelisiniz. Bu sorumluluun gerei olarak baz ilerin periyodik olarak yaplmas gerekecektir. rnein belirli dizinlerin her akam yedeinin alnmas, her Pazartesi belirli geici dizinlerin temizlenmesi, her gn 6 saate bir baz raporlarn hazrlanp mteriye ya da patrona e-posta ile gnderilmesi gibi...

366

Sistem Ynetimi

Bu ekilde belirli bir plana-programa balanm iler LINUX altnda cron servisinin desteiyle yaplr.
cron servisi aslnda unsurdan oluur:

1. crond: cron daemon, geri planda pusuda yatan, yaplacak ilerin zamannn gelmesini bekleyen yazlm. 2. cron dosyalar: Her kullanc iin hangi saatlerde, gnlerde hangi ilerin yaplacann sakland dosyalar. (/var/spool/cron altnda, her kullanc iin, kullancnn adyla anlan bir dosya yer alr.) 3. crontab komutu: Kullancnn cron dosyalarn dzenlemek iin kullanaca komut.
/var/spool/cron altndaki dosyalar elle dzenlememelisiniz. Bu dosyalar-

da bir deiiklik yapmanz gerektiinde

komutunu kullanmalsnz. -e parametresi dosyay dzenlemek istediinizi (edit) belirtmektedir.


crontab komutu, komutu veren kullancya ait cron dosyasn vi editryle aar ve gerekli deiikliklerin yaplmasn bekler. vi editrnden kldnda yeni cron dosyas devreye girmi olur.

crontab -e

Yan sayfadaki rnekte /usr/local/bin/yedekle program ki aslnda bir bash kabuu iin bir betik programdr (betik: script; Trkiye Biliim Dernei, Biliim Terimleri Szl www.tbd.org.tr) hergn sabaha kar saat

367

Kim Korkar LINUXtan?

drtte altrlmaktadr. Bu cron dosyas root kullancsna ait olduu iin de bu yedekle betii root yetkileriyle alacaktr. Gene ayn rnee gre /home/cayfer/ping.pl betii 15 dakikada bir altrlan bir Perl programdr. Grevi baz nemli bilgisayarlara eriilebildiini kontrol etmektedir. Sz konusu Perl program pinglenemeyen bilgisayarlar bir e-postayla sistem yneticisine bildirmektedir. (Bu arada Perl dilini renmeyi dnrseniz Pusula Yayncln Perl ve MySQL ile CGI Programlama kitabn nerebiliriz.) Son crontab satr ise her geceyars 00:30da /var/www/html/traffic dizinine geilmesini ve ardndan perl gen_log.pl komutunun altrlmasn salar. imdi gelelim cron dosyasnn ayrntlarna: tlaca gn, saat ve dakikalar belirtmek iin kullanlr, altncs da ileri balatmak iin kullanlacak komutlar belirler.
cron dosyalarnda 6 bilgi alan vardr. Bunlardan ilk be tanesi ilerin bala-

368

Sistem Ynetimi

Alan

Anlam

Deer Aklama Aral

in seilen saat bandan 0 - 59 ka dakika sonra balatlacan belirler. in hangi saatte balatlacan belirler. in hangi gnler balatlacan belirler. 0 - 23

30, saat ban otuz dakika gee demektir.

Say yerine * girilirse her saat anlamna gelir.

1 31 Say yerine * girilirse hergn anlamna gelir.


7, 14, 21, 28 yazlrsa her ayn 7si, 14, 21i ve 28i

anlamna gelir.

in hangi aylarda yaplacan belirler.

1 12 Say yerine * girilirse her ay anlamna gelir. 1, 6 yazlrsa i sadece Ocak ve Haziran aylarnda altrlr. 1-3 yazlrsa i yalnzca Ocak, ubat ve Mart aylarnda altrlr.

in haftann hangi gnlerinde altrlacan belirler.

0-7

Say yerine * girilirse ne gn olursa olsun anlamna gelir. 0. ve 7. gnler Pazar kabul edilir. 1, 2 yazlrsa Pazartesi ve Sal anlamna gelir. 1-3 yazlrsa Pazartesi, Sal ve aramba gnleri anlamna gelir.

369

Kim Korkar LINUXtan?

yaramayacaktr. Sisteminizin her alnda crondnin de balatlmas iin

Sisteminizde crond calmyorsa, cron dosyalarn dzenlemeniz bir ie

chkconfig chkconfig

masn salayabilirsiniz.

komutlarn vererek /etc/rc.d dosyalarnda gerekli dzenlemelerin yapl-

--add crond

crond on

te birka rnek:
15 * * * * 0 17 * * * prog1 prog1 15 dakikada bir alr.

0 10,12,14,16,18 * * * prog1 59 23 * * 1-5 prog1 * * * * * prog1

prog1

prog1 hergn saat 10 ile 18

prog1 hergn saat 17de alr.

arasnda iki saatte bir alr.


prog1 her i gn geceyarsna

bir kala alr.

Sistemi mahvedebilecek bir cron satr. Hergn, her saat ve her dakika yeni bir prog1 balatlacak demektir. Artk neler olaca prog1 programna baldr.

LILO Ynetimi
LILO, yani LInux LOader sisteminizin nemli bir yazlmdr. Grevi, sistemin al srasnda hangi disk blmnden (partition) hangi iletim sisteminin hangi parametrelerle bellee ykleneceini belirlemek ve ynetmektir. Ayn amaca ynelik GRUB isimli bir yazlm da LINUX dnyasnda olduka yaygn olarak kullanlmaktadr, ama bu kitapta biz yalnzca LILOdan sz edeceiz.

370

Sistem Ynetimi

LILO sayesinde istediiniz iletim sistemini istediiniz diskin istediiniz blmnden ykleyebilirsiniz; stelik bu yklenen iletim sistemi LINUX olmak zorunda da deildir. LILOyu bilmek ve ynetebilmek, zellikle sistemini bazen Windows bazen de LINUX iletim sistemiyle amak isteyen kullanclar iin nemlidir. LINUX dnyasna yeni girenlerde gzlediimiz ortak yaklam genellikle eski iletim sisteminin elinin altnda olmasn istemeleridir. LINUXu beenip, ilerini bu platforma tayanlar bir sre sonra eski iletim sistemini ieren disk blmne bir mkfs atp, o blm de LINUX disk alan olarak kullanmaya balyorlar. Neyse... Tekrarlama olacan bile bile, burada PC tr bilgisayarlarn boot srecini hatrlatmak istiyoruz. Bilgisayarn BIOS yazlm bellek, grnt kart gibi nemli baz donanm unsurlarn kontrol ettikten sonra BIOS ayarlar erevesinde disket src, CD gibi birimleri kontrol eder ve genellikle bu srclerde bir ortam takl olmad iin diskten boot etmeye karar verir. BIOS, diskten boot etmeye karar verirse birinci diskin boot sektr diye adlandrlan blgesinden bilgisayarn iletim sistemini ykleyecek yazlm bellee alr. LILO ite bu boot sektrnden yklenen yazlmdr. Sistem ilk aldnda BIOS, boot sektrnden LILOyu bellee ykler. LILO da kendi ayarlar dorultusunda kullancya iletim sistemi yklemeyle ilgili seenekleri sunar.

371

Kim Korkar LINUXtan?

LILO yazlm /etc/lilo.conf dosyasndan ynetilir. Bu dosyada gereksinimleriniz dorultusunda deiiklik yaptktan sonra /sbin/lilo komutuyla yeni dzenlenen LILO konfigrasyonuna gre birinci diskin boot sektrlerine gerekli kaytlar yerletirilir. Her ne kadar Mandriva Linux Control Center mensndeki LinuxConf aracyla LILO konfigrasyon dosyalarn dzenlemek mmknse de bu iin temelini renmenizde yarar vardr. Bu nedenle rneklerimizi /etc/lilo.conf zerinde editrle deiiklik yapp /sbin/lilo programn altrma zerine kuracaz. ncelikle tipik bir lilo.conf dosyasna gz atalm:
boot=/dev/hda map=/boot/map install=/boot/boot.b vga=normal default=linux keytable=/boot/tr_q-latin5.klt prompt nowarn timeout=100 message=/boot/message menu-scheme=wb:bw:wb:bw # image=/boot/vmlinuz label=linux root=/dev/hda6 initrd=/boot/initrd.img append=devfs=mount acpi=off read-only other=/dev/hdd1 label=windows98 table=/dev/hdd other=/dev/fd0 label=floppy unsafe

372

Sistem Ynetimi

Dikkat ederseniz bu konfigrasyon dosyasnn banda boot= diye balayp menu-scheme= diye biten global deikenler ve ardndan image ve other parametreleriyle bloklanm gruplar yer alyor. Global parametreler arasnda nemli olanlar:
boot=/dev/hda timeout=100

LILOnun ilk diskin boot sektrne yerletirileceini belirtiyor. Sistem aldnda kullanc LILO mensnden timeout/10 saniye iince bir seim yapmad takdirde varsaylan boot konfigrasyonunun kullanlacan belirtiyor. Dikkat edin! timeout parametresi saniye cinsinden deil, saniyenin onda biri cinsinden belirtilir. timeout/10 saniye sonunda hl bir seim yaplmadysa etiketi linux olan konfigrasyonun kullanlacan belirtiyor.

default=linux

image= diye balayan bloklar LINUX iletim sistemine ait tanmlar ierir. rnein,
image=/boot/vmlinuz label=linux root=/dev/hda6 initrd=/boot/initrd.img append=devfs=mount acpi=off read-only

satrlar linux isimli tanm iin:

Bu grubun linux ismiyle anlacan,

Bu grubun seilmesi durumunda iletim sisteminin ekirdeinin /boot/vmlinuz isimli dosyadan ykleneceini, root dizin olarak ilk diskin altnc blmnn kullanlacan (hda6), Ykleme srecinde kullanlacak sanal disk grntsnn (image) /boot/initrd.img dosyasnda yer aldn (bunun ne demek olduu, yalnzca ekirdek kodu gelitirenleri ilgilendirir),

373

Kim Korkar LINUXtan?

letim sisteminin ekirdeine devfs=mount acpi=off parametrelerinin geirileceini, Dizinlerin salt oku mount edileceini (LINUX gerekli kontrolleri yaptktan sonra herey yolundaysa, gereken tm dizinler oku-yaz olarak yeniden mount edilir) belirtiyor. other= diye balayan bloklar LINUX olmayan iletim sistemine ait tanmlar ierir. rnein,
other=/dev/hdd1 label=windows98 table=/dev/hdd

satrlar: Bu grubun windows98 ismiyle anlacan, Bu grubun seilmesi durumunda yklenen iletim sisteminin kullanaca blmleme tablosunun (partition table) ikinci IDE kanalndaki ikinci diskten (hdd) okunacan belirtiyor. imdi diyelim ki sisteminize zerinde Windows-XP yklenmi yeni bir diski birinci IDE kanalnn ikinci diski (hdb, slave) olarak taktnz ve sisteminizi bu diskten de aabilmek istiyorsunuz. Yapmanz gereken /etc/lilo.conf dosyasna
other=/dev/hdb1 label=windows-XP table=/dev/hdb

satrlarn ekleyip
/sbin/lilo

komutunu altrmak olacaktr. Bir daha reboot ettiinizde LILO size Windows-XP yklemeyi de bir seim olarak sunacaktr. Bu ileri yapabilmeniz iin sisteminizi nce LINUX ile amanz gerektiini belirtmeye gerek yok herhalde. Aslnda sisteminizi neden XP ile ama gereksinimi duyduunuzu da anlamadk ya, neyse...

374

Sistem Ynetimi

Webmin
Bu blm okuyunca bize kzacaksnz... Madem webmin vard, ne diye bir sr komut ve ayar dosyas anlattnz? diyeceksiniz. Gerekten de webmin, LINUX iletim sistemini tek yazlmla ynetmek iin gelitirilmi web tabanl bir uygulamadr. Webmini kullanmak iin bilgisayarnzda herhangi bir web tarayc; rnein Konqueror balatp URL olarak
https://localhost:10000

yaznz. Yani, 10000 numaral porttan web servisi isteyiniz.

375

Kim Korkar LINUXtan?

Doal olarak root kullanc kimliiyle servise balanmanz gerekecektir. Artk webmin mensnden yararlanarak, sisteminizin neredeyse tm ynetim ilerini bu arabirim ile yapabilirsiniz. Webminin ilevlerini bu kitapta anlatmayacaz. LINUX iletim sisteminin ynetim kavramlarnn temellerini renmi olduunuza gre gerisini siz kendiniz aratrabilir ve kefedebilirsiniz.

376

Sistem Ynetimi

377

Kim Korkar LINUXtan?

Apache web sunucusu, MySQL veritaban ynetim sistemi, Postfix e-posta sunucusu, FTP sunucusu gibi LINUXu LINUX yapan birok sunucu servisinin ayarlarn bu menden yapabilirsiniz.

378

Sistem Ynetimi

379

Kim Korkar LINUXtan?

380

Sistem Ynetimi

root ifresini Unuttuunuzda...


Bir LINUX sistemin root ifresinin bilinmemesi, sanld kadar az karlalan bir durum deildir. Sistem yneticisi ifreyi unutabilir; tatildeyken ya da iten ayrldktan sonra sisteme bakalarnn root olarak balanmas gerekebilir, ya da en kts sisteminizi kran birisi root ifresini deitirebilir. root ifresi bilinmeyen bir sistem zerinde denetimi ele tekrar almann tek yolu, root ifresini bilinen bir ifreyle deitirmektir. Hatrlarsanz, daha nce kullanc ifrelerinden bahsederken, UNIX ve LINUX iletim sistemlerinde ifrelemenin tek ynl olduunu, ifrelenmi hali bilinen bir ifrenin ak halinin ne olduunun bulunmasnn olanaksz olduunu belirtmitik. root ifresini deitirmek iin sisteminizi kapatn. Yeniden al srasnda LILO size yklenebilecek iletim sistemlerini gsterdii srada bir kez Esc tuuna basn.

381

Kim Korkar LINUXtan?

Karnza
boot:

hazr iareti kacaktr. Bunun karsna linux single yazp Enter tuuna basnz.
boot: linux single

LINUX ekirdei bellee yklendiinde single szc ekirdee parametre olarak geirilecektir. LINUX ekirdei de bu parametreyi grnce al birinci alma dzeyi (run level 1) tamamlandnda kesecektir. LINUX alr durumda olacak ancak yalnzca konsoldaki kullancya hizmet edecektir. Yani, varsa web servisi, ftp servisi, e-posta servisi gibi hizmetleri yrten yazlmlar balatlmayacaktr. Ayrca, konsoldaki kullancnn kendisini sisteme tantmas da istenmeyecektir. root yetkileriyle bir bash kabuu balatlp kullancdan komut girmesi beklenecektir. Bu konumda
passwd

komutunu vererek o anda geerli olan kullancnn; yani rootun ifresini deitirebilirsiniz. passwd komutunu veren kullanc root olduu iin de eski ifre sorulmayacaktr. ifreyi deitirdiinizde
exit

komutunu vererek ekirdein ala devam etmesini salayabilirsiniz.

382

Sistem Ynetimi

Meraklsna...
sistemin tek kullancl ve ifre sormadan root kullanc olarak almasn nleyebilirsiniz. Bir LINUX bilgisayarn al srasnda LILOya linux single yazarak

/etc/lilo.conf dosyasnda ilgili ayar satrlar arasna password=eb!TKY-2 restricted


gibi satrlar ekleyip

lilo
komutunu verirseniz, artk sistem tek kullancl dzeyde alrken bile eb!TKY-2 ifresinin girilmesini isteyecektir. Dikkatinizi ekeriz... Bu ifre sistemin root ifresi deildir; tek kullancl dzeyde ama ifresidir.

Bu ifreyi pek fazla kullanmayacanz iin unutma olaslnz ok daha yksektir. Gnn birinde, root ifresini unuttuunuz iin sisteminizi tek kullancl dzeyde amanz gerekirse bu ifreyi hatrlamayacanza bahse dosyasna bu satrlar koymanz hi nermiyoruz. gireriz. Bu nedenle, tek kullancl alma dzeyi korumas iin lilo.conf

Eer bir sistemin tek kullancl dzey ifresi ve root ifresi unutulursa yaplacak i, diski skmek ve bu diski ifreleri bilinen bir baka LINUX bilgisnda root kullancya ait satrdaki kriptolanm ifreyi bir editrle silmektir. sayara ikinci disk olarak takmak ve diskin zerindeki etc/shadow dosya-

383

Kim Korkar LINUXtan?

384

Yazlm/Paket Ynetimi

11

Paket Kavram Paket Bamll (Dependency) Sistem Gvenlii ile lgili Haberleri zleyin Paket Yneticileri (Package Managers) Gvenlikle lgili Yamalar zleyin ve Uygulayn Yazlm Depolar (Media, Repositories) Yazlm Gncelleme Yazlm Ykleme Mandriva rpm Paket Yneticisi - rpmdrake ile Ykleme urpmi - Gerek Paket Yneticisi rpm Paketlerinden Yazlm Ykleme Kaynak rpm Paketlerinden (src-rpm) Yazlm Ykleme Kaynak Kodundan Derleyerek Kurulum letim Sisteminin ve Uygulama Programlarnn Gncellenmesi ekirdek Gncellemeleri (Kernel Updates)

Paket Kavram
LINUX dnyasnda, iletim sisteminin ekirdei de dhil olmak zere, sistem ve uygulama yazlmlar genellikle paketler halinde datlr. Bir paket iinde, sz konusu yazlm oluturan dosyalar ve bu dosyalarn nerelere, nasl kopyalanaca bilgisi yer alr. Bir bilgisayara LINUX kurmak demek; aslnda o bilgisayara pe pee binlerce paket kurmak demektir. nce kernel paketi kurulur; sonra da iletim sistemi aralar ve uygulama programlarn ieren paketler yklenir.

385

Kim Korkar LINUXtan?

LINUX dnyasnda; RedHat ve Debian datmlar iin gelitirilmi olan 2 nemli paket eidi vardr. RedHatin kulland paket standardna RPM (RedHat Package Manager), Debian datmnn paketlerine DEB paketleri ad verilir. Mandriva LINUX, paket standard olarak RPMi semi ve kullanmaktadr. Paket Ynetici leri de bu yazlm paketlerinin kolay kurulmasn, gncellenmesini, silinmesini salayan yazlmlardr. rnein gimp yazlmn ieren RPM paketinde 1260 kadar dosya yer almaktadr. gimp yazlmn kurmak demek bu 1260 dosyay belki on deiik dizine datmak demektir. Ayrca, bir paketin kurulmas bir takm ayar dosyalarnda deiiklik yaplmasn da gerektirebilir. Bir de, en nemlisi, kurulum srasnda sistemde bulunan ktphanelerin, balantl baka yazlmlarn, yklenmek istenen yazlma uygun olup olmad sorusu vardr.

Paket Bamll (Dependency)


gimp rnei ile baladk, gimp ile devam edelim... Bir LINUX bilgisayara gimp paketinin baaryla yklenebilmesi iin bilgisayarnzda nceden ykl olmas gereken 90 tane C ktphanesi dosyas vardr. Bir baka deyile gimp paketinin baml olduu 90 tane paket vardr. Bilgisayarnzda bu paketler, srmlerine varncaya kadar uygun ekilde kurulu deilse gimp paketini kuramazsnz. Bu bamllk (dependency) konusu LINUX kullanclarnn ban en ok artan konudur. gimp rneindeki 90 paketin hangileri olduunu bilmek, nce bunlar bir yerlerden bulup yklemek pek yaplas bir i deildir. Ancak, doal olarak bunun da zm var: Paket Yneticileri...

Paket Yneticileri (Package Managers)


RedHatin rpm paket yneticisi; Debianin ise dpkg si var. Mandrake ve Mandriva da RedHatin rpm paket yneticisini kullanmay tercih etmi. Zamanla salt paket yneticilerinin, zellikle bamllk sorunlarnn zlmesinde (dependency resolution) yetersiz kald grlnce RedHat yum, Mandriva urpmi, Debian ise apt yazlmlarn gelitirdiler. Yntemleri farkl da olsa, bu 3 yazlmn (urpmi, yum ve apt) temel ilevi paket

386

Yazlm/Paket Ynetimi

yklemek; gerekiyorsa sz konusu paketin baml olduu dier paketleri de bulup, onlar da yklemektir. Bir baka deyile, kullancnn gimp paketini yklemek istediini urpmi programna bildirmesi yeterlidir; gimpin baml olduu dier 90 paketi bulup nce bunlar yklemek paket yneticisi yazlmnn grevidir. Mandriva; RPM paketlerinin ynetimi iin kulland urpmi iin bir grafik nyz olan Rpmdrakeyi gelitirmitir. Bu program grubu 4 ana modlden oluur: 1. rpmdrake 2. rpmdrake-remove 3. edit-urpm-sources.pl 4. MandrivaUpdate rpmdrake, RPM paketlerinin indirip kurulma ilevini yerine getirir. Adndan da tahmin edilebilecei gibi, rpmdrake-remove, yklenmi RPM paketlerinin kaldrlmas ve silinmesi iini yapar. edit-urpm-sources.pl Perl program ise rpmdrake ve MandrivaUpdate nin kullanaca yazlm depolarna ilikin ayarlarn yaplmasn salar. MandrivaUpdate ise iletim sistemi ve uygulama yazlmlarnn gncellenmesinden sorumludur.

Yazlm Depolar (Media, Repositories)


Mandriva LINUX iletim sisteminizi kurmak iin kullandnz datm CDlerinin iinde Mandriva teknik personelinin sevdii, setii yazlmlar gelecek ve onlar kurulacaktr. Oysa LINUX dnyasnda ok ama ok daha zengin yazlm ktphaneleri vardr. Olabilecek tm yazlmlar CDlerde datmak pratik olarak mmkn olmad iin byk LINUX datclar, kendi sunucularnda yazlm depolar (repositories) barndrrlar. Standart datm dnda bir yazlma gerek duyarsanz, bu depolardan bilgisayarnza indirip ykleyebilirsiniz. Size en yakn yazlm deposu kurulum CDlerinizdir. nternet balantnz kullanarak eriebileceiniz, kullandnz datma ilikin depo ya da depolar bulmanz da ok kolaydr. rnein, son bir yldan beri ok beenilen Ubuntu datm tek bir CD ile yaplmakta, tm dier yazlmlar nternet zerinden Synaptic isimli paket yneticisi ile yklenebilmektedir.

387

Kim Korkar LINUXtan?

Yazlm Gncelleme
LINUX iletim sisteminin ve yazlmlarnn gncellemesi iki nedenle yaplr: ya bir gvenlik a kapatlmtr, ya da yazlm gelitirildii iin yeni srm kmtr. Evet! Gvenlik a kapatlm olabilir; sonuta LINUX kodlarn yazanlar da insanlar... u farkla ki - LINUX dnyasnda aklarn kapatlma ve gncelleme yaynlanma sresi aylarla deil, saatlerle llr. Mandriva sisteminizi gncellemek iin rpmdrake isimli program altrdnzda nce sisteminize ykl olan paketlerin yazlm depolarnda yeni srmleri olup olmadna baklacak; varsa yeni srmler kurulacaktr.

Yazlm Ykleme
Diyelim, bir dergide iinize ok yarayacak bir LINUX yazlmndan sz edildiini okudunuz. Hemen bir terminal penceresinden program altracan umduunuz komutu verdiniz, ancak command not found mesajn aldnz. Byk olaslkla o program sisteminizde kurulu deil. imdi bu yazlm sisteminize yklemek iin kolaydan zora doru eitli seenekleriniz var: 1. yazlm paket yneticisi kullanarak yklemek, 2. varsa, yazlm kendi zel kurulum programyla yklemek, 3. yazlmn rpm paketini bulup indirmek ve yklemek, 4. yazlmn kaynak kodunun rpm paketini indirip derlemek ve kur mak, 5. yazlmnn kaynak kodlarn indirip derlemek ve kurmak. Kolayndan balayalm...

Mandriva rpm Paket Yneticisi - rpmdrake ile Ykleme


KDE mensnden System Configuration Packaging Install Software sein. Ardndan arama kutusuna (Search) aradnz programn adn veya adnn bir ksmn yazp (rnein kopete) yazp adnda bu karakter dizisi geen yazlm paketlerini aratn.

388

Yazlm/Paket Ynetimi

lgilendiiniz yazlm KDENetwork-Kopete olsun... Eer 3.4.2 srmn yklemek isterseniz, yazlmn adnn yanndaki kk kutuyu tklayn. Kutucuu tkladnzda karnza aadakine benzer bir pencere kabilir:

Bu rnekte, Kopete yazlmnn yklenebilmesi iin libkdenetwork2-kopete ktphanesinin de kurulmas gerektii belirtilmekte ve bunun iin izniniz istenmektedir. Paket yneticisi kullanmann en nemli avantaj ite bu tip bamllklarn (dependency) otomatik olarak zmlenmesidir. Rpmdrake paket yneticisi, yeni yklenecek, kaldrlacak ve en nemlisi gncellenecek paketleri, media ad verilen eitli kaynaklardan izler. media ad verilen bu kaynaklar, kurulum iin kullandnz CDler ve nternet zerinden eriilebilen Mandriva yazlm depolardr (ng.: Repositories).

389

Kim Korkar LINUXtan?

Yazlm ve gncelleme paketlerin indirilip yklenebilecei kaynaklar rpmdrake yazlmnn Configure Media ilevi ile belirtilir. CDden yaplan standart bir kurulumda, bu yazlm kaynaklar sadece 3 datm CDsinden oluur.

Normal kullanm koullarnda yazlm deposu olarak bu 3 CD pek yeterli olmayacaktr; ne de olsa bu CDlerden yazlm gncellemesi yapmak olas deildir. Bu yzden paket yneticinize gncellemeler ve CDlerinizde yer almayabilecek yazlm paketleri iin bir ka yeni yazlm deposu; yani media eklemelisiniz.

390

Yazlm/Paket Ynetimi

rpmdrake iin yeni yazlm deposu eklemek istediinizde, Official Updates (resmi gncellemeler) ve Distribution Sources (datm kaynaklar) kategori seimi yapmanz istenir. Her iki kategoriden de yazlm deposu semenizi neririz. rnein;

391

Kim Korkar LINUXtan?

rpmdrake iin yazlm deposu tanmlarn bu ekilde tamamladktan sonra artk yeni yazlmlar yklemek; ykl yazlmlarn srm ve gvenlik gncellemelerini yapmak ok kolaylaacaktr.

urpmi - Gerek Paket Yneticisi


rpmdrake paket yneticisi aslnda urpmi isimli bir konsol uygulamasnn grafik n yzdr. Gerek Mandriva paket yneticisi urpmi yazlmdr. LINUX ynetiminde deneyim kazandka birok ii grafik arayzlerle uramadan, dorudan terminal ekranndan yapmay tercih edeceksiniz. Terminal arabirimi ile kullanm, uzaktan ynettiiniz sistemler sz konusu olduunda daha da rahat almanz salayacaktr. urpmi ile bir yazlm paketi kurmak istediinizde; rnein kapsaml bir web sitesi gelitirme arac olan screem kurmak isterseniz; bu ii rpmdrake kullanarak grafik bir arayz kullanarak yapabileceiniz gibi root kimliine sahip olduunuz bir terminal penceresinden urpmi screen komutunu da verebilirsiniz. urpmi, screem programnn kurulabilmesi iin gerekli tm paketleri tanmlanm yazlm depolarndan bulup indirecek ve doru srada kuracaktr.

392

Yazlm/Paket Ynetimi

zel Kurulum Programyla Ykleme Baz LINUX yazlmlar kendi zel kurulum programlaryla birlikte datlrlar. Bazlar da kurulum programna bile gerek olmadan, sadece program dosyasn bir dizine kopyalamakla kurulabilirler. Bu tip yazlmlarn nasl kurulaca, yazlmla birlikte datlan
INSTALL.txt README.TXT

benzeri isimli dosyalarda ya da yazlmn datld web sitesinde yer alabilecek kurulum blmlerinde anlatlr. Bu kitapta zel kurulum yntemlerini aklamak pek olas deil nk bir yazlmn nasl datlaca ve nasl kurulaca tamamen o yazlm gelitiren kii ya da ekibin tercihlerine baldr. rnein Mozilla-Firefox yazlmnn 1.5.0.2 srmn www.mozilla.com adresinden indirdiinizde, gene ayn web sitesinde Releases bal altnda Firefox yazlmnn nasl kurulaca yle anlatlmaktadr: Extract the tarball in the directory where you want to install Firefox:
tar -xzvf firefox-1.5.0.2.tar.gz

This will create a firefox subdirectory of that directory. Yani, firefox-1.5.0.2.tar.gz dosyasn /tmp dizinine indirdikten sonra
mkdir /usr/local/firefox cd /usr/local/firefox tar -xzvf /tmp/firefox-1.5.0.2.tar.gz

komutlarn pe pee verdiinizde kurulum tamamlanm olacak ve artk istediiniz zaman


/usr/local/firefox/firefox

komutuyla Firefox web taraycsn altrabilecek duruma geleceksiniz. zel kurulum program ile yklenen yazlmlara bir rnek de Opera web ta-

393

Kim Korkar LINUXtan?

raycsdr. Bu yazlm sktrlm tar.gz dosyas ile datlr. tar paketini atktan sonra paketin iinde yer alan ./install.sh komutu ile Opera kurulur.
cd /tmp tar -xzvf opera-8.54-20060330.5-shared-qt.i386-en.tar.gz cd opera-8.54-20060330.5-shared-qt.i386-en/ ./install.sh . . . opera

rpm Paketlerinden Yazlm Ykleme


Bilgisayarnza yklemek isteyebileceiniz bir yazlm bazen yazlm depolarnda (repository) bulamazsnz; bir baka deyile; rpmdrake veya urpmi, yklemek istediiniz yazlm, ayarlarnda girilmi olan yazlm depolarnda bulamayabilirler. Byle durumlarda, ilgilendiiniz yazlmn rpm paketini baka kaynaklardan; rnein yazlm gelitirmi olan kurulu ya da ahsn web sitesinden, ya da www.rpmfind.net gibi rpm paketi arama servislerinden yararlanarak bulabilirsiniz. lgilendiiniz yazlmn rpm paketini bilgisayarnzda geici bir dizine (/tmp bu i iin ok uygundur) indirip
rpm -i /tmp/paket.rpm

gibi bir komutla yklemeyi deneyebilirsiniz. Denemek diyoruz; nk bu paketin baml olduu baka paket(ler) varsa; rpm yazlm ykleme iini yapmayp; nce zmeniz gereken bamllklar olduunu bildirecektir. Baz yazlmlar rpm paketini indirip, rpm -i paket.rpm komutunu verdiinizde tek seferde kurulabilir; baz durumlarda da nce paketinizin baml olduu bir baka paketi; o baka paketi kurabilmek iin ise daha da nce bir baka paketi kurmanz gerekebilir. rnein amarok.kde.org sitesinden amarok yazlmnn 1.3.8 srmne ait rpm dosyasn indirip rpm komutuyla kurmak istediinizde

394

Yazlm/Paket Ynetimi

gibi amarok paketinin kurulabilmesi iin nce 10 tane ek pakete gereksinim olduuna ilikin bir mesaj alabilirsiniz. Bu durumda yaplmas gereken bu eksik paketlerin rpm dosyalarnn nternetten bulunup indirilmesi ve ncelikle bunlarn kurulmasdr. Google bu konudaki en yakn yardmcnz olacaktr. Akas, birok kullancnn LINUX iletim sistemini deneyip, ksa zamanda pes ederek terk etmesinin nedeni bu bamllk sorunlardr. Ancak, te yandan, gereksinim duyabileceiniz binlerce yazlm, urpmi ve/veya rpmdrake ile bu bamllk sorunlarn yaamadan kurulabilecek ekilde yazlm depolarnda bulunmaktadr. Yeni kullanclarn genellikle yaptklar hata Software Media Manager ile rmpdrake ve urpmi iin yazlm depolar belirtmemeleri olmaktadr. Sisteminize rpm ile yklediiniz programlar gene rpm komutu ile silebilirsiniz. rnein whois-4.5.29-1mdk.i586.rpm isimli bir rpm dosyas kullanarak kurduunuz whois programn silmek iin
rpm -e whois

komutunu kullanabilirsiniz. Sisteminize rpm programyla yaptnz btn deiiklikler (LINUX kurulumu dhil) bir veri tabannda tutulur. Bylece rpm kullanarak kurduunuz programlar arasnda koordinasyon salanabilir. rnein, bir program belli baka bir programn yeni bir versiyonu olmadan almayacaksa rpm komutu kurulum srasnda sizi uyarr. Ayn ekilde sisteminizde zaten kurulu bu-

395

Kim Korkar LINUXtan?

lunan bir programn daha yeni bir versiyonunu kurarken eskisinin silinmesi ii de temiz bi ekilde yrtlr. rpm komutunun ok kullanlan baz parametrelerine ve ilevlerine gz atmak isterseniz: Sisteminizde kurulu olan tm rpm paketlerini listelemek iin:
rpm -qa

komutunu kullanmalsnz. Bir rpm dosyasnn paket adn renmek iin (aman dikkat! Bir rpm paketinin ad o paketin rpm dosyasnn ad deildir) kullanabileceiniz
rpm -qp opera-6.11-20021129.4-shared-qt.i386.rpm

gibi bir komut, dosya ad opera-6.11-20021129.4-shared-qt.i386.rpm olan rpm paketinin paket adnn opera-6.11-20021129.4 olduunu gsterecektir. Bir rpm paketinin iindeki dosyalar renmek iin:
rpm -qlp opera-6.11-20021129.4

Bir rpm paketinin ne ie yaradn gsteren notlar grmek iin:


rpm -qip opera-6.11-20021129.4

396

Yazlm/Paket Ynetimi

sendeyse; yani icinde .src. dizisi geiyorsa o rpm paket, programn/uygulamann kaynak kodunu ieren rpm paketi demektir. Kaynak kodundan oluan programlarn kurulumu hazr derlenmi paketlere gre greceli olarak daha zordur. Sz konusu rpm paketleri aldktan sonra ilgili dizinlere yerleen README, INSTALL gibi dosyalar gzelce okumak ve buralardaki ilemleri srasyla uygulamak gerekir. Szn ksas: yklemek istediiniz paketin hazr derlenmi srm varsa, onu kullanmay tercih ediniz. rpm dosya isimleri programn ismi ve srm dnda, ayn zamanda makine tipini de belirtebilir. Bir program indireceiniz nternet sayfasnda ayn programn ayn srm iin dosya isminin sonunda i386, i586, arch

rpm paketlerinin isimleri whois-4.5.29-1mdk.src.rpm gibi bir de-

gibi baz uzantlar olan birka dosya grebilirsiniz. LINUX birok

no-

platformda alan srmlere sahip olduu iin ve rpm paketleri belli bir tip merkezi ilem birimi iin nceden derlenmi olduundan kendi sisteminize uygun olan rpmi indirmelisiniz. Allm PCler iin bu Intel firmasnn i386 ve i586 platformudur. sminde noarch geen RPM paketleri rpmin her donanm platforma uygun tek srm olarak datld anlamna gelir.

Kaynak rpm Paketlerinden (src-rpm) Yazlm Ykleme


Bilgisayarnza yklemek istediiniz yazlm sadece kaynak kodlarndan oluan rpm paketi olarak bulabiliyorsanz iiniz biraz zor demektir. Kaynak kodlarndan yazlm ykleyebilmek iin nce elinizdeki kaynak kod dosyalarnn sorunsuz olarak derlenebilmesi gerekir. Bunun iin bilgisayarnzda uygun derleyicinin, uygun kaynak kod ktphanelerinin (standart ve zel *.h C dosyalar gibi) ykl olmas gerekir. in akas, yeni balayanlar iin kaynak kod rpm paketlerini yklemek bir kbusa dnebilir. rnein eitli GNU etkileimli aralar (GNU interactive tools) ieren git paketini kaynak rpm (source rpm) dosyasndan kurmak iin, nce git4.3.20-9mdk.src.rpm dosyasn /tmp dizinine indiriniz ya da kopyalaynz.

397

Kim Korkar LINUXtan?

Sonra
rpm --rebuild git-4.3.20-9mdk.src.rpm

Bu komut, git kaynak kod paketini aacak, gerekli tm bamllk kontrollerini yapacak, herey uygunsa kaynak kodlar derleyip /usr/src/RPM/RPMS/i586/ dizinine git-4.3.20-9mdk.i586.rpm paketini yaratacaktr. Artk
rpm -i /usr/src/RPM/RPMS/i586/git-4.3.20-9mdk.i586.rpm

komutuyla git paketini ykleyebilirsiniz.

Kaynak Kodundan Derleyerek Kurulum


LINUX yazlmlar bazen derlenmi, kuruluma hazr paketler yerine kaynak kodu paketleri olarak olarak datlr. Bu tip paketlerin kaynak kodlarn sizin derlemeniz ve kurmanz gerekir. Kaynak kodu olarak datlan paketlerin dosya isimleri genellikle. src.tar.gz veya .src.tgz diye biter ve bunlar birer tar yuma dosyadr. LINUX dnyasnn, daha dorusu Ak Kaynak Kodu (Open Source) dnyasnn baarsnn arkasndaki en nemli zelliklerden birinin bu yazlmlarn kaynak kodlarnn serbeste datlmas olduunu sylemitik. Bu nedenle, bir ok paket hem rpm paketi hem de kaynak koduyla datlr. Deneyimli kullanclar, yazlmlar genellikle kaynak kodlarndan kurmay tercih ederler. Bunun en nemli nedeni sistemlerinin denetimini paket yneticilerine brakmamak; tm gncellemeleri ve srm ykseltmelerini kendilerinin yapmak istemesidir.

398

Yazlm/Paket Ynetimi

tarball (tar yuma) olarak da anlan bu dosyalar iki farkl program kullanlarak toparlanmtr. nce tar program tarafndan paketin ierdii btn dosyalar tek bir dosya haline getirilmi, daha sonra gzip (GNU Zip) araclyla sktrlmtr. Amak iin siz de bu iki yntemi tersine kullanmalsnz. Ancak tar ve gzip ok sk olarak birlikte kullanldndan tar programna bir parametreyle ( z parametresi) gziplenmi dosyay ama yetenei eklenmitir. tar -zxvf yeni_program.tar.gz gibi bir komutla nce gziplenmi ap (z), sonra tar ap (x), btn bunlar yaparken alan dosyalarn listelenmesini salayabilirsiniz (v).

Genellikle basit bir programn bile tar yuman atnzda karnza karmakark, birok dizin ve dosyadan oluan bir gruh kacaktr. Bu kargaann iinden kolay kmanz iin program gelitiren(ler) size birka kolaylk da salam olacaklardr. Kurulum iin yaplmas gerekenler genellikle README veya INSTALL gibi isimleri olan dosyalarda anlatlr. (Dosya isimlerinin byk harf olmasnn nedeni, ls tarafndan retilecek dosya listelerinde bu dosyalarn isimlerinin st srada grnmesini salamaktr.) Genellikle ilk adm olarak programn kaynak kodlarnn sizin sisteminize uygun bir ekilde derlenmesini salamak iin, paketle birlikte datlan configure isimli bir komut kullanlr. Kurmakta olduunuz programn karakteristik zellikleriyle ilgili (rnein sistemde nereye kurulaca veya hangi tip ilemci iin optimize edilecei) bu komuta parametre olarak verilir. Olas parametreler ve deerleri iin kurmakta olduunuz yazlmn INSTALL ve/veya README dosyalarna bakmalsnz. Genellikle
cd /tmp/kaynak ./configure

gibi bir komut yeterlidir. (Bataki ./, kullandnz kabuk programna bulunduunuz dizindeki configure isimli program altrmak istediinizi belirtmek iindir.)

399

Kim Korkar LINUXtan?

configure bilgisayarnzn zelliklerini tek tek kontrol eder, ayn zamanda baka programlara veya ktphanelere ihtiyacnz olup olmadn size bildirir. Bu aama baaryla sonulandnda kaynak kodunun bulunduu dizinde (ve eer varsa dier alt dizinlerde) Makefile isimli bir dosya yaratr. kinci adm olarak vereceiniz make komutu bu Makefile dosyasnda listelenen parametrelere gre btn programn ve modllerinin derlenmesi iim gerekli ilemleri srayla yapacaktr. Baz programlar derlemek ve kurmak iin birden fazla make komutunu pe pee kullanmanz gerekebilir. (Byle durumlarda vermeniz gereken make komutlarnn neler olduu README veya INSTALL gibi aklama dosyalarnda belirtilmi olacaktr.) rnein,
./configure make make test make install

olduka sk rastlanan bir kurulum srecidir.

letim Sisteminin ve Uygulama Programlarnn Gncellenmesi


Tm yaayan yazlmlar gibi iletim sistemleri de srekli gelimektedir. Bu gelime, yazlmlara yeni yetenekler eklenmesi ve hatalarn dzeltilmesi ve en nemlisi, bulunan gvenlik gediklerini kapatan yeni srmlerin yaynlanmas eklinde olmaktadr. LINUX gvenlidir deyip durduk, genel kan da zaten bu dorultuda... Ancak hibir yazlm kusursuz deildir. LINUXun gvenlii ve gvenirlii yksek yksek bir iletim sistemi olarak tannmasnn en nemli nedeni bir modlde gvenlik gedii ya da hata bulunduunda dzeltilmi srmn (aka deil) birka saat iinde yaynlanmas ve datmna balanmasdr. Mandriva, hazrlayp datt LINUX paketlerinin gncellenmesi iin gereken hizmetleri verme grevini de stlenmitir. Aslnda yalnzca Mandriva deil, genellikle tm LINUX datmclar edeeri hizmetleri cretsiz olarak vermektedir.

400

Yazlm/Paket Ynetimi

letim sisteminizi ve onunla birlikte datlan uygulama programlarn gncellemek istediinizde, rpmdrake programn balatmak iin KDE mensnden KDE SystemConfiguration Packaging Mandriva Update

veya Mandriva Linux Control Center yazlmn balatmak iin KDE System Configuration Configure Your Computer

seimini yaparak Mandriva Update programn balatmalsnz. Bu program balatrken bilgisayarnzn nternet balants alr durumda olmaldr. Mandriva Update, balatldnda nceden belirlenmi Mandriva ve yanslar olan sitelere (mirror) balanp, sizin makinanzda ykl olan yazlmlarla bunlarn gncel srmlerini karlatracak ve srm gncelletirmeye aday yazlmlarn bir listesini retecektir.

401

Kim Korkar LINUXtan?

Mandriva Update gncelletirmeleri grup altnda toplar: 1. Gvenlik gncellemeleri (Security updates), 2. Hata dzeltme gncellemeleri (Bugfixes updates), 3. Normal gncellemeler. lgilendiiniz gruptaki gncellemeleri semek ve uygulamak iin Mandriva Update ekranndaki butonlar kullanabilirsiniz. Uygulanacak gncelleme dosyasnn seilmesi iin sa tarafndaki kk kutu iinde arp iareti grnecek ekilde tklanmaldr. Eer bilgisayarnz srekli internete bal olarak alacaksa ve nemli servisleri stlenecekse, gvenlikle ilgili yazlm gncellemelerini en az haftada bir kez kontrol etmenizi ve yeni gncellemeler varsa derhal uygulamanz neririz.

402

Yazlm/Paket Ynetimi

ekirdek Gncellemeleri (Kernel Updates)


Mandriva zaman zaman ekirdek gncellemeleri yaynlamaktadr. Bu gncellemeler genellikle gvenlik gediklerini kapatmaya yneliktir. Bir de, ekirdek srm ykseltmeleri sz konusudur; ne de olsa LINUX yayor, byyor ve geliiyor. rnein, Mandriva 2006nn u sralardaki (Mays 2006) ekirdek srm 2.6.12dir. Nerden mi bildik?
# uname -sr Linux 2.6.12-12mdksmp

Siz de kendi ekirdek srmnz renmek iin


uname -sr

komutunu kullanabilirsiniz. Bu ekirdek adndaki mdk kodu ekirdein Mandrake (Mandrivann eski ad) tarafndan hazrlandn ve derlendiini; smp kodu ise ekirdein Symmetric Multi Processor; yani oklu ilemci iin hazrlanm bir ekirdek olduunu belirtiyor. Aslnda yukardaki ekirdek srmn rapor eden bilgisayar tek ilemcili, ancak bu ilemcinin Hyper Threading zelliinden tr iletim sistemine iki ilemcili gibi grnyor. Mandrivann yaynlad yeni bir ekirdek srm olup olmadn renmek iin
# urpmi kernel-

komutunu kullanabilirsiniz.
Mandriva Update yazlm ile iletim sisteminizi ve uygulama yazlmlarn gncellediinizde, varsa, ekirdek gncellemeleri (kernel updates) uygulanmaz. ekirdek gncellemeleri iin sizin zellikle ekirdek gncellemelerini kontrol etmeniz ve varsa uygulamanz gerekir.

403

Kim Korkar LINUXtan?

Uzunca bir ekirdek listesi... Bu rnek listede zel amal olmayan ekirdeklerden en son srm numarasna sahip olan kernel-2.6.12.12mdk. uname -sr komutu da ayn srm numarasn rapor ettiine gre ekirdek gncellemeye gerek yok. Ama, urpmi kernel- komutu, rnein, kernel2.6.23.3mdk gibi bir ekirdek bulunduunu rapor etseydi,
urpmi kernel-2.6.23.3mdk

gibi bir komutla ekirdeinizi gncellemeliydiniz. ekirdek gncellemesinin aktif olabilmesi iin bilgisayarnz kapatp amanz; daha dorusu iletim sistemini yeniden yklemeniz gerekir. LINUXa altka, sisteminizi kapatp amak size zor gelecek. Balangta eski alkanlklarla, her sorun ktnda iinizden bilgisayarnz kapatp a-

404

Yazlm/Paket Ynetimi

mak gelecek. Ancak bir sre sonra bunun normal olmadn, donanmnda sorun olmayan bir bilgisayarn sadece ekirdek gncellemelerinden sonra veya disk/bellek eklemek iin kapatlmas gerektiine alacaksnz. LINUX ve UNIX kullanclar, bilgisayarn kendileri iin almas gereken bir makine olduunu; kullanclarn makine iin almasnn normal olmadn bilirler. Yllardr bu ilerin iindeyiz; USB bellekteki fotoraflar gsteren bir yazlm ykledikten sonra neden bir iletim sisteminin yeniden yklenmesi gerektiini anlayabilmi deiliz.

405

Kim Korkar LINUXtan?

406

Gvenlik

Sistem Gvenlii Kolay Tahmin Edilebilecek ifre Kullanmayn ve Kullandrmayn Sistem Gvenlii ile lgili Haberleri zleyin Olabildiince Gvenli letiim Yapan Yazlmlar Kullann Gvenlikle lgili Yamalar zleyin ve Uygulayn Gereksiz Yazlm Yklemeyin Gereksiz Servisler almasn Gereksiz Portlar Ak Olmasn Bilgisayarnzdaki Tm Servisler Dnyaya Ak Olmasn Log Dosyalarnza Bakn Sisteminizi Yedekleyin

12

Sistem Gvenlii
Internetin yaygnlamasyla bilgisayar sistem gvenlii de nemli sorunlar listesinde nce st sralara; sonunda da en ste trmand. LINUX, sistem gvenlii asndan en ansl iletim sistemidir, nk kodu herkese aktr. Bu iddia ok kii tarafndan ciddiye alnmamakla birlikte son yllarda yaanan deneyimler iddiay dorulamtr. Kapal kodlu bir iletim sisteminde bir gvenlik a bulunduunda, dzeltme yamalar ya da yeni srmn gelitirilmesi, duyurulmas ve yaynlanmas zaman almaktadr. Bu srenin aylar bulabildii grlmtr. Oysa, benzeri bir durum LINUX iletim sisteminde ortaya ktnda, yamalar veya yeni srmler birka saat iinde dnyaya yaylmaya balamaktadr. Sisteminizin gvenlii iin salt iletim sistemine gvenmek ok byk hatadr. LINUX iletim sistemi altnda virs olmaz, LINUX gvenlidir, kim-

407

Kim Korkar LINUXtan?

se kramaz gibi inanlar tamamen yersizdir. Bal gibi virs de bular; sisteminiz de krlr... Sistem yneticilerinin en nemli grevlerinden birisi de sistemin gvenlii ile ilgili almalar disiplinli bir ekilde yapmaktr.

Kolay Tahmin Edilebilecek ifre Kullanmayn ve Kullandrmayn


Ad stnde; ifre... Eer yapkanl sar bir kada yazp ekrann kesine yaptracaksanz ya da ifre diye adnz veya abc123, qwerty gibi bir dizi kullanacaksanz hi ifre kullanmayn daha iyi. ifreleri kesinlikle e-postayla gndermeyin. ifreleriniz kolay hatrlayabileceiniz kadar anlaml ama tahmin edilemeyecek veya szlklerde bulunamayacak kadar anlamsz olsun. En iyisi atasz, ark ad gibi cmlelerin ba harflerinden ve noktalama iaretlerinden oluan ifrelerdir. Hehmi! gibi... (Hayatta en hakiki mrit ilimdir!).

Sistem Gvenlii ile lgili Haberleri zleyin


En bata, kendinize en az bir LINUX gvenlik sitesi bulmalsnz. Bu site(ler)deki haberlere hi deilse iki- gnde bir gz atmalsnz. Yeni ortaya kan bir gvenlik a varsa hemen mmkn olduunca ayrntlarn renip, sisteminizde nerilen kontrollar yapp gerekli gncellemeleri uygulamalsnz. Googleda linux, gvenlik, security gibi szcklerle yapacanz bir arama sizi istemediiniz kadar ok kaynaa yneltecektir. http://security.metu.edu.tr/belge.php ve http://www.linuxsecurity.com genellikle her trl gereksiniminizi karlayacak kaynaklar iermektedir.

Olabildiince Gvenli letiim Yapan Yazlmlar Kullann


Ethernet alarn dinlemek (sniff etmek de denir) ok kolay olduu iin, ne kadar iyi ifre seip kullansanz da gvende olamazsnz. Bu hat dinleme sorununa bir zm olarak TCP/IP protokolne SSL (Secure Socket Layer) zellii eklenmitir. SSL kullanan protokoller, her balantda sunucu ile istemciyi bir kriptolama sistemi zerinde anlatrp, a arabirime bastklar tm paketlerin bu sisteme gre kriptolanmasn salarlar. Genellikle RSA

408

Gvenlik

(Rivest, Shamir, Adleman) ad verilen teknikle kriptolanan bu paketleri zmek olanaksz deilse de pratik zaman snrlar iinde zlemezler. Bilgisayarnza telnet kullanarak erimeyin; onun yerine ssh kullann. Ssh, tm terminal haberlemesinin kriptolu yaplanmasn salayacaktr.

Gvenlikle lgili Yamalar zleyin ve Uygulayn


Tm LINUX datm kurulular gibi Mandrake de zaman zaman gvenlik yamalar yaynlamaktadr. Her hafta en az bir kere Mandrake Control Center altndaki Software Manager ile gvenlik yamalarn sorgulayp, gerekli grdklerinizi; hatta hepsini uygulayn. Her olasla kar bu ileri sisteminizin youn kullanlmad zamanlarda; rnein Cuma gnleri akam saatlerinde yapn. Cuma akamlar yama aramakla uraamam; arkadalarla elenmeye gideceiz diyenlerdenseniz siz sistem ynetici olamazsnz; en azndan iyi bir sistem yneticisi olamazsnz. Sistem yneticileri gezmezler, elenmezler (daha dorusu sistemlerinin banda daha mutludurlar); herkes gibi geceleri uyumazlar; normal yemek yemezler; organizmalar kahveden protein, karbonhidrat gibi yaamsal maddeleri sourma yeteneini gelitirmitir.

Gereksiz Yazlm Yklemeyin


Kesinlikle gerekli olmayan yazlmlar sisteminize yklemeyin; hele sisteminiz nemli servis(ler) veriyorsa... Kayna belli olmayan yazlmlardan uzak durun.

Gereksiz Servisler almasn


Sisteminizde kullanmayacanz servisleri kapatn. rnein sisteminizden bir web sunucusu olarak yararlanmayacaksanz, httpd almasn; hem bo yere bellek harcar hem de gereksiz risk alm olursunuz. Sisteminizin al srasnda balatlacak servisleri Mandrake Control Center - System altndaki DrakXServices yazlmyla grsel olarak seebilirsiniz.

409

Kim Korkar LINUXtan?

Bu ileri konsoldan yapmay yelerseniz


chkconfig

komutunu kullanabilirsiniz.
chkconfig --list

komutuyla, chkconfig size sisteminizde alan servisleri, her alma dzeyi iin (run level) ayr ayr belirtecektir.

rnein satr mysql veritaban sunucusunun 0,1 ve 6 alma dzeylerinde almayacan, ama 2, 3, 4 ve 5. dzeylerde alr durumda olacan (olduunu) gsterir.
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

410

Gvenlik

Meraklsna...
Daha nce drdnc LINUX alma dzeyinin kullanlmadn sylemitik. Hangi alma dzeyinde hangi yazlmlarn altrlaca /etc/init-

tab dosyasndan denetlenir. Eer kendi gereksinimleriniz iin zel bir d-

zg drdnc dzey tanmnz yapabilirsiniz.

/etc/inittab dosyasnda gerekli deiiklikleri yaparak kendi sisteminize

zey tanmlamak ve bu dzeyde birtakm yazlmlar altrmak isterseniz

alma dzeylerini yle bir hatrlatmak gerekirse... 0 1 Kapan dzeyi. Bu dzeyde pek alan program bulamazsnz... Tek kullancl dzey. Sistem, gerek a zerinden gerekse konsolundan birden fazla kullancya hizmet vermez. 2 ok kullancl dzey ama a zerinden dizin/dosya paylamna izin verilmez (NFS yoktur). 3 4 5 6 Sistemin tam kapasite ile alt ok kullancl dzeydir Pek kullanlmaz XFree86 pencere sisteminin alt dzeydir Reboot" dzeyidir. Yani, sistemi kapatan yazlmlarn alt dzeydir.

Sisteminizde mysql servisine gereksiniminiz yoksa


chkconfig mysql off

komutuyla servisin bir dahaki alta ve sonrasnda balatlmasn nleyebilirsiniz.


mysql veritaban sunucusunu kullanmaya baladnzda, allarda kendi-

liinden balamas iin


chkconfig mysql on

komutunu kullanabilirsiniz.

411

Kim Korkar LINUXtan?

chkconfig komutuyla birtakm servislerin otomatik olarak balatlmasn saladnzda (--add seenei) ya da engellediinizde (--del seenei), komutunuzun etkisi ancak sistemin bir dahaki alnda grlr. Yaptnz deiikliin etkisini hemen grmek istediinizde; rnein mysqlin hem hemen durdurulmasn hem de bir dahaki alta almamasn salamak iin

/etc/rc.d/init.d/mysql stop chkconfig mysql off


komutlarn kullanmalsnz.

deki al denetim komut dizelerini (script) dzenlemektir.

chkconfig komutunun aslnda tek yapt i, /etc/rc.d/init.d dizinin-

Gereksiz Portlar Ak Olmasn


Bildiiniz gibi (daha dorusu bilmeniz gerektii gibi) TCP/IP iletiiminin temelinde port kavram yatar. Internet hatlar zerinden bilgisayarnza ulaan veri paketlerinin hangi yazlm tarafndan karlanacan paketin iindeki port bilgisi belirler. rnein, 23 numaral port genellikle telnet servisi ile ilgilidir. Yani, sisteminize var port numaras (destination post) 23 olan bir veri paketi ulatnda, bu paket telnet sunucu yazlmna, yani in.telnetd yazlmna iletilir. Hangi port numarasn hangi yazlmn karlayacana ilikin tanmlar /etc/services dosyasnda bulabilirsiniz.

412

Gvenlik

TCP ve UDP portlarnn ne demek olduunu bilmiyorsanz en ksa zamanda TCP/IP temellerini renmeniz gerekir. Akas, TCP/IP bilmeden sistem yneticisi olma ansnz pek yok! TCP/IP renmek iin Murat Yldrmolunun Pusula Yaynclk tarafndan yaynlanan TCP/IP isimli kitabndan (ISBN: 975-7092-25-8) yararlanabilirsiniz.

Bilgisayarnzdaki Tm Servisler Dnyaya Ak Olmasn


Internet zerinde yer alan bilgisayarlar zerindeki TCP/IP trafiini denetim altna almak iin kullanlan yazlmlara Ate duvar, Firewall denir. Bu yazlmlarn temel grevi sisteme giren ve sistemden kan tm a paketlerini inceleyip, paketleri sistem yneticisinin direktifleri dorultusunda ilemektir. rnein, bir ate duvar yazlm, 192.168.13.* gibi adreslerden gelen telnet paketlerine izin verip bunun dndaki IP bloklarndan gelen tm telnet paketlerini reddedebilir. Sisteminizi darya kar korumak iin LINUXda pek ok ara vardr. Bu aralardan en yaygn olan iptables adyla bilinen filtre yazlmdr.

413

Kim Korkar LINUXtan?

TCP Wrapper, temel olarak bilgisayarnza hangi bilgisayarlarn, hangi servislerle eriebileceini ya da eriemeyeceini belirlemenizi salar. TCP Wrapper, yalnzca sisteminize giren paketleri denetlemek iin ie yarar; sisteminizden kan paketler bu yazlmla denetlenemez. TCP Wrapper, /etc/hosts.allow (sisteme erimesine izin verilecek bilgisayarlar) ve /etc/hosts.deny (sisteme erimesine izin verilmeyecek bilgisayarlar) dosyalaryla denetlenir. Bu dosyalar vi ile dzenlenebilecek basit dosyalardr. Dosyalarda yapacanz deiiklikler hemen etkili olur; yani, herhangi bir yazlm; hele hele iletim sistemini yeniden balatmanz gerekmez. TCP Wrappern denetim mant yledir: 1. Sisteminize bir TCP/IP paketi geldiinde, port numarasna baklarak hangi yazlma iletileceine karar verilir.

2. Paket eer /etc/services dosyasnda tanml bir servise gnderilecekse, nce /etc/hosts.allow dosyas taranarak paketin zelliklerine uygun bir tanm olup olmadna baklr. rnein gelen bir telnet paketiyse ve /etc/hosts.allow dosyasnda in.telnetd: 139.179.14.: ALLOW gibi bir satr varsa (139.179.14. ile balayan bir IP adresinden gelmek kaydyla, tm telnet paketlerini kabul et anlamnda), paket kabul edilir. 3. /etc/hosts.allow dosyasnda, gelen pakete uygun bir satr bulunamazsa, benzeri bir tarama /etc/hosts.deny dosyasnda tekrarlanr. Bu dosyada, sisteminize erimesini istemediiniz bilgisayarlar tanmldr. 4. Eer bu dosyada da gelen pakete uygun bir kural kalb bulunamazsa, paketin ieri girmesine izin verilir.
hosts.allow ve hosts.deny dosyalarnda yer alabilecek kalp tanm satr-

larnn genel format:

servis: IP alan tanm in.telnet.d:

eklindedir. rnein /etc/hosts.allow dosyasnda yer alan


139.179. ALLOW

gibi bir satr, IP adresi 139.179. ile balayan bilgisayarlardan gelen telnet paketlerini kabul edecektir.

414

Gvenlik

/etc/hosts.deny dosyasnda yer alabilecek in.telnet.d: 192.168.100.12 DENY

gibi bir satr, IP adresi 192.168.100.12 olan bilgisayardan gelecek telnet servisi isteklerine olumsuz yant verilmesini salayacaktr. Genellikle, salamc bir politika izlemek amacyla /etc/hosts.deny dosyasnda tek satr olur:
ALL: ALL:

Yani, nereden gelirse gelsin, hibir xinetd servis isteini kabul etme! Sisteme erimesine izin verilecek bilgisayarlar da /etc/hosts.allow dosyasnda belirtilir. Her iki dosyada da # ile balayan satrlar aklama satrlardr.
hosts.deny ve hosts.allow dosyalarna tipik birer rnek vermek gerekir-

se:

/etc/hosts.deny ALL: ALL:

/etc/hosts.allow in.telnetd: 139.179.14. ALLOW ALL: 139.179.14.41 ALLOW ALL: 139.179.23. EXCEPT 139.179.23.45

415

Kim Korkar LINUXtan?

lirsiniz. O yzden hosts.allow ve hosts.deny dosyalaryla sisteminizin

TCP Wrapper ile yalnzca xinetd zerinden verilen servisleri denetleyebitrafii zerinde tam denetim salayamazsnz. rnein bu arala bilgisayarnza ynelik web trafiini (http, 80. port zerinden gelen trafik) denetleyemezsiniz nk http, xinetdnin denetledii bir servis deildir. Benzeri ekilde ftp sunucusu olarak pro-ftpd altryorsanz (-ki, standart kurulumda byle olacaktr), gene eriim denetimini TCP Wrapper ile yapamazsnz. Sisteminize ynelik ve sisteminizden kaynaklanan trafii tam olarak denetim altna almak iin iptables veya ipchains ate duvar yazlmn ne kmaktadr.

kullanmalsnz. Son yllarda iptables daha popler bir yazlm olarak

Eer sisteminizde esnek bir trafik denetim sistemi kurmak istiyorsanz rulmu bir filtreleme sisteminin denetim yazlmdr. shorewallu kurmak shorewall paketini kurmanz neririz. shorewall, iptables zerine ku-

iin Mandrake Control Center yazlmndan Security seimini yapp DrakFirewall programn balatnz. shorewall yazlmnn ayarlar en kolay, web tabanl bir sistem ynetim arac olan webmin ile yaplr.

Log Dosyalarnza Bakn


LINUX iletim sisteminin seyir defteri olan log dosyalarna sk sk gz atmanz nemlidir. zellikle de /var/log/security dosyas... Log dosyalar genellikle ok sayda ve karmak satrlardan oluur. more xyz.log gibi komutlarla listelenip gzle kontrol edilmeleri zordur. Webmin servisinin System System Logs seimiyle daha kolay izlenebilecek log listeleri alabilirsiniz.

Sisteminizi Yedekleyin
Bakalarna ait bilgisayarlara girmek nedense ok sayda hasta ruhlu insan iin bir tutkudur. Bu tip insanlar, bir bilgisayarn gvenliini krmay baardklarnda bu zaferlerini kutlamak isterler; bu yzden de sistemleri tamamen kertmek yerine baarlarn belgeleyen bir iaret brakmay yelerler. Sisteminize girildiini hissettiinizde yapabileceiniz en akllca ey diskleri formatlayp iletim sistemini batan yklemek olacaktr. Bu iin kolay bl-

416

Gvenlik

mdr; te yandan iyimser bir bak asyla da srm gncellemek iin iyi bir frsattr. Ancak; i daha nce yaplm ayarlar, yklenmi uygulama programlarn, tanmlanm kullanclar, onlarn kiisel dosyalarn yerine koymaya gelince iiniz zor olacaktr. Disiplinli ve dikkatli bir ekilde yedeklenmi bir sistemde bu dosya/dizinleri yerine koymak zaman alsa bile kolayca yaplabilir. Napolyon sistem yneticisi olsayd, eminiz ki para, para, para yerine yedek, yedek, yedek derdi.

417

Kim Korkar LINUXtan?

BUNLARI BLYOR MUYDUNUZ?

Ka lemci?
UNIX ve trevi iletim sistemlerini oluturan yazlmlarn en nemli zellikleri, her birinin kendi iini, ama yalnzca kendi iini ok iyi ve hzl yapan, esnek ama gereksiz ilevleri olmayan, kk programcklar olmalardr. Bu yazlmlar; anlaml olabildii her durumda birer filtre olarak yazlmtr. Filtre olarak kullanlabilen programlar girdilerini STDINden alan, bu girdileri ileyip ktlarn da STDOUTa gnderen programlardr. Bu sayede, bu programlar pipe ( | ) ve ynlendirme ( <, > ) ilemleri ile pepee ya da birlikte altrlarak gereksinimlere gre anlaml iler yapabilen zincirler oluturulabilir. UNIXin ok nemli bir baka tasarm ilkesi de; olabildiince, tm verilerin, ayar/seenek deerlerinin basit metin dosyalarnda saklanmas ve ilenmesidir.

418

Yararl LINUX Sunucu ve Servis Yazlmlar

13

Yararl LINUX Sunucu Yazlmlar ftp Sunucusu apache Web Wunucusu postfix e-Posta Sunucusu procmail samba Sunucusu named (DNS) Sunucusu ssh Sunucusu (Secure Shell) NIS Sunucusu (Network Information Services) iptables Ate Duvar DHCP Sunucusu MySQL ve PostgreSQL Veritaban Sunucular squid Proxy Sunucusu ppp evirmeli A Sunucusu
Mandrake LINUXun, eitli sunucu yazlmlarn denetlemeyi kolaylatran Server Configuration isimli bir GUI (Graphical User Interface : Grafik Kullanc Arabirimi) arac vardr; ancak bu ara siz zellikle kurmadka Mandrake Control Center mensnde yer almaz. Her ne kadar bu blmde Server Configuration yazlmnn kullanmn anlatmayacaksak da, imdi bu yazlm yklemenizde yarar var. Server Configuration, Mandrake datm CDlerinizin ilkinde yer almaktadr. Yazlm yklemek iin birinci CDyi takp
rpm -ivh /mnt/cdrom/RPMS/drakwizard-1.8-1mdk.noarch.rpm

komutunu verin. Server Configuration yazlm kurulacak ve bundan sonra Mandrake Control Center yazlmn altrdnzda seenekler arasnda grnecektir:

419

Kim Korkar LINUXtan?

Artk bu yeni arala oynayp yeteneklerini kefetmek size dyor. Biz, nemli sunucu yazlmlarna ve bunlarla neler yapabileceinize dnelim.

Yararl LINUX Sunucu Yazlmlar


Mandrake ve dier tm LINUX datmlar iinde son derece gl, yetenekli bir ok sunucu yazlm yer almaktadr. Bunlarn neredeyse herbiri birer kitap yazlmasn gerektirecek kadar kapsaml yazlmlar olduu iin burada yalnzca ilevleri hakknda kaba bilgi vermekle yetineceiz. LINUXunuzla yapmak istediiniz iler iin yararl olacak yazlmlar ayrca almanz ve renmeniz gerekecektir. Standart kurulumlarda, burada szn ettiimiz sunucu yazlmlarn hepsi kurulmaz; bazlarn ayrca zel olarak kurmanz gerekecektir. Bu sunucu yazlmlarn ounun ayarlar webmin ile yaplabilmektedir.

File Transfer Protocol, Internet protokolleri arasnda en nemlilerinden; daha dorusu en ok kullanlanlarndan birisidir. TCP/IP alarda (bir baka deyile: nternette) bilgisayarlar aras dosya transferinde kullanlr. Uygun FTP istemci programlaryla (ncftp, gftp gibi) bir FTP sunucusu ile yetkileriniz dorultusunda iki ynl dosya transferi yapabilirsiniz. Bilgisayarnzda proftpd sunucu yazlm alyorsa FTP istemcileri size dosya gnderebilir, sizden dosya ekebilir. Sizin bilgisayarnzda hesab olan

ftp Sunucusu

420

Yararl LINUX Sunucu ve Servis Yazlmlar

kullanclar bir FTP istemci yazlmyla sisteminize balandklarnda, kendi kullanc yetkileri erevesinde dosya ekip gnderebilirler. Eer bilgisayarnzda hesab olmayan kullanclarn da bilgisayarnzdan dosya ekip gndermelerine izin vermek istiyorsanz anonymous (kimlii belirsiz) kullanclarn eriimine izin vermeniz gerekir. FTP sunucunuzu bir anon ftp sunucusu olarak kurmak istiyorsanz /etc/proftpd.conf konfigrasyon dosyasn aadaki gibi dzenleyip /etc/rc.d/init.d/proftpd restart komutuyla FTP sunucu yazlmn durdurup tekrar balatmalsnz.
ServerName ServerType DefaultServer Port Umask MaxInstances User Group <Directory /*> AllowOverwrite </Directory> <Anonymous ~ftp> User Group UserAlias MaxClients DisplayLogin DisplayFirstChdir <Limit WRITE> DenyAll </Limit> </Anonymous> Benim Sunucum standalone on 21 022 30 nobody nogroup on ftp ftp anonymous ftp 10 welcome.msg .message

Bu arada bir hatrlatma yapmadan geemeyeceiz: Eer FTP sunucu yazlmnz olan proftpd daemonu sisteminiz aldnda otomatik olarak altrlmyorsa chkconfig proftpd on komutuyla bu sorunu halledebilirsiniz.

421

Kim Korkar LINUXtan?

Bundan sonra yapmanz gereken kk bir i daha var: /etc/passwd dosyasna bakarsanz burada ftp diye bir kullancnn tanml olduunu fakat bu kullancnn kabuk programnn /bin/false olduunu greceksiniz. /bin/false aslnda bir kabuk deildir; balatldnda hemen duran bir programdr. Genellikle kullanclarn sisteme telnet ve ssh istemcileriyle balanmalarn nlemek iin kullanlr. ftp isimli kullancnn sisteminize balanmasn istemeyeceiniz; ama ftp ile dosya alp vermesine izin vermek isteyeceiniz iin /etc/passwd dosyasndaki kabuk tanmn deitirmeden /etc/shells dosyasnda /bin/falseun kabul edilebilir bir kabuk olduunu belirtmelisiniz. Bu ii vi ile /etc/shells dosyasna, iinde /bin/false olan bir satr ekleyerek yapabilirsiniz. (Bakn! Sonra uyarmadlar demeyin... vi renmeden olmaz!)

apache Web Sunucusu


Dnyann en iyi, en gelimi, en gvenli ve en yetenekli web sunucusu Apachedir. Bu yalnzca bizim fikrimiz deil. survey.netcraft.com adresine bir gz atarsanz dnyadaki web sunucularnn yzde yetmie yakn bir blmnn Apache ile servis verdiini greceksiniz. MS-IISde fena deil aslnda ama bir de gvenlik ve performans sorunlar olmasa... IIS, yalnzca web uygulamalarn ASP ile yazmakta srar edenler iin anlaml. Ehh.. kendileri bilir. (Gene satamadan duramadk.) Apache web sunucusu, kendinden nceki web sunucu yazlmlarna saygdan olsa gerek httpd (hyper text transfer protocol daemon) adyla kaydedilmi bir program dosyasyla alr. Bu nedenle sisteminizde almakta olan srelerin listesini aldnzda, iinde apache geen bir sre gremezsiniz. Apache sunucunuz alrken
ps ax grep httpd --

komutunu verirseniz birden fazla httpd sreci altn greceksiniz. Bu normaldir. Apache sunucusu, balatldnda, gelebilecek web isteklerini ayr ayr srelerle karlayabilmek iin kendisinin bir ka kopyasn birden balatr. Web istekleri artarsa, gerektii kadar kendi kopyasn balatr (UNIX dnyasnda bu kavrama spawning denir). Sre numaras en kk olan httpd srecini ldrrseniz, tm httpd sreleri lr ve bilgisayarnz artk web servisi vermez.

422

Yararl LINUX Sunucu ve Servis Yazlmlar

Bilgisayarnzdan web servisini balatmak iin sabrszlanyorsanz /var/www/html dizinine uygun bir index.html dosyas yerletirerek hemen yayna balayabilirsiniz. Web sitenizle ilgili tm html dosyalar bu dizinde yer almaldr. CGI (Common Gateway Interface), yani web uygulama yazlmlarnz varsa onlar da /var/www/cgi-bin dizinine yerletirebilirsiniz. Apache, hakknda bunun gibi bir kitap daha yazlmas gereken bir yazlmdr. Ayarlar olduka karmak olabilmektedir. Ancak, basit bir web servisi iin hibir ayar deitirmenize gerek olmayacaktr. Merak ediyorsanz, Apachenin ayar dosyalarn /etc/httpd/conf altnda bulabilirsiniz.
/usr/sbin/apachectl komutuyla yapmak daha dorudur. rnein web

Apache web sunucusunu durdurma, yeniden balatma gibi ilemleri

sunucunuzun ayarlarnda bir deiiklik yaptnzda

/usr/sbin/apachectl restart

komutuyla programn yeni ayarlarla tekrar balatlmasn salayabilirsiniz. Durdurmak iin


/usr/sbin/apachectl stop

Gvenli iletiim yetenekleriyle (Secure Socket Layer) balatmak istediinizde ise


/usr/sbin/apachectl startssl

komutlarn kullanabilirsiniz. Kullanclarnz, kendi kiisel web sitelerini yaynlamak isterlerse, kendi kiisel dizinlerinde public_html dizini yaratp, altna kendi web sitelerine ilikin dosyalar yerletirirlerse, Apache sunucunuz bu sayfalar http://www.abc.com.tr/~kullanici adresinden yaynlayacaktr. Apachenin yetenekleri arasnda sanal web sunucusu hizmeti de vardr. Bir bilgisayarla birok web sitesinin yaynn yapabilirsiniz. /etc/httpd/conf/vhosts/Vhosts.conf ayar dosyasnda yapacanz deiikliklerle bilgisayarnza http://www.abc.com.tr adresiyle ile gelen isteklere ayr; http://www.xyz.org.tr adresiyle gelenlere ayr web siteleri sunabilirsiniz.

423

Kim Korkar LINUXtan?

Web sitelerinin baars ziyareti saysyla llr. Apache web sunucusu, sunduu sayfalar kime ve ne zaman sunduunu kaydeder. Apache log dosyalarn /var/log/httpd/access.log isimli dosyada bulabilirsiniz. Gzle izlenmesi olanaksz olan bu log dosyasnn analizi ve grsel raporlar elde etmek iin webalizer yazlmn kullanmanz neririz.

Web tabanl uygulama programlarnda ok yaygn olarak kullanlan PHP programlama dili destei Apache ile birlikte kurulmaktadr. Gelitireceiniz web uygulamalarnn her trl bilgisayar donanm ve iletim sistemi platformunda alabilmesini istiyorsanz; hele yksek performans istiyorsanz; hele hele web ziyaretilerinizin her gelilerinde sitenizden yararlanabilmelerini istiyorsanz PHP renmenizi ve kullanmanz neririz. Tamam, tamam biliyoruz... Web uygulamalar ASP ile de gelitirilmekte, hem de ok yaygn

424

Yararl LINUX Sunucu ve Servis Yazlmlar

olarak; ama biz profesyonel i yapacak olan yazlmclara sesleniyoruz. Bu arada web uygulamalarnda tartmasz stnl olan bir betik dili olan Perl programlama dilinin de LINUX datmnzla birlikte standart olarak kuruluduunu belirtmeliyiz. Uygulamalarnzda ister PHP, ister Perl, ister C, ister Python, ister bir baka dil/ara ya da karmn kullann; artk o sizin bileceiniz i.

postfix e-Posta Sunucusu


e-Posta servisi olmayan nternet sunucusu olur mu? Olmaz tabii. Aslnda olur! Windows tabanl nternet servislerinde genellikle web servisi iin ayr; e-posta sunum hizmetleri iin ayr bilgisayar kullanlmak zorunda kalnd iin e-posta servisi olmayan nternet sunucusu olur diye kabul etmek zorundayz. LINUX dnyasndaysa, birka yz Mega Hertzlik alakgnll bir bilgisayar hem web servisinizi, hem ftp servisinizi, hem de e-posta servisinizi verebilir. SMTP (Simple Mail Transfer Protocol ) gnmz e-posta sunucular arasnda e-posta mesaj iletiminde kullanlan standart protokoldr. UNIX dnyasnda SMTP servisi iin yaygn olarak kullanlan yazlm bulunmaktadr: sendmail, postfix ve qmail. Bunlar arasnda kurulmas en kolay olan; stelik virs ve spam kontrolunun en kolay yaplan postfix yazlmdr. dosyasnda yaplr. Bu ayar dosyas iindeki aklayc notlar, ayarlar kolayca yapmanz salayacaktr. postfix ile virs ve spam filtreleri kurulmasna ilikin Trke Nasl belgelerini www.belgeler.org adresinde bulabilirsiniz. nek vermek gerekirse:
postfix ile e-posta alverii yannda yaplabilecek yararl ilere birka rpostfix sunucusunun temel ayarlar /etc/postfix dizinindeki main.cf

Virs ve spam filtreleme yapabilirsiniz (amavis, spamassassin gibi ek ve tabii ki zgr yazlmlarn destei ile), e-posta datm listeleri; yani jenerik e-posta adresleri yaratabilirsiniz. rnein web sayfanzda bilgi@abc.com.tr olarak ilan ettiiniz bir eposta adresine gelen mesajlar 5 deiik gerek e-posta adresine databilirsiniz (/etc/aliases dosyas),

425

Kim Korkar LINUXtan?

kullanclarnz kendilerine gelen tm e-posta mesajlarn baka bir adrese ynlendirebilirler (~/.forward dosyalar). e-Posta iletim mekanizmasn ksaca anlatmak iin ok uygun bir noktaya geldik galiba: yerinizin alan adnn abc.com.tr; e-posta sunucusu olarak setiiniz bilgisayarn adnn da sunucu.abc.com.tr olduunu varsayalm. Bylece kullanclarnzn e-posta adresleri ali@abc.com.tr veya ali@sunucu.abc.com.tr olacaktr. Dnyann herhangi bir yerinden gnderilecek bir e-posta mesajnn eposta sunucunuzu bulabilmesi iin abc.com.tr alan iin e-posta sunucusunu belirten bir MX kaydnn dnyaya ilan edilmesi gerekir. MX kaytlar (Mail Exchange), ait olduklar alanlarn DNS kaytlarn tutan sunucular tarafndan tutulur ve yaynlanr. rnein abc.com.tr irketi DNS kaytlarn kendisi tutuyorsa, irketin DNS sunucusuna sunucu.abc.com.tr iin bir MX kayd girmelidir. Eer irket DNS kaytlarn kendi tutmuyorsa byk olaslkla nternet servis salaycs tutuyordur; bu durumda MX kayd SSna yaptrlmaldr. imdi artk Patagonyadan ugur@abc.com.tr adresine bir e-posta gndermek isteyen bir bilgisayar kendi DNS sunucusuna abc.com.trnin e-Posta sunucusu kim? diye sorduunda yant olarak sunucu.abc.com.tr alacaktr. Ardndan, sunucu.abc.com.tr kim? diye sorgulayp IP adresini (rnein 195.194.12.32) renecektir. e-Posta sunucunuzun IP adresini renen Patagonyadaki bilgisayar, 195.194.12.32 IP adresli bilgisayarnzla SMTP protokolnde bir grme balatacaktr. Eer 195.194.12.32, SMTP konuabilen bir bilgisayar ise (rnein postfix, qmail veya sendmail gibi bir e-posta sunum program alyorsa) aralarnda aadakine benzer bir iletiim gerekleecektir: - ben Patagonyadan falanca, sizin kullanclardan birine e-posta iletilmesini isteyecektim... - Kullancnn ad ne? - cayfer - yi... Gnder...

426

Yararl LINUX Sunucu ve Servis Yazlmlar

- Mesajn ayrntlar yle:


From: ... To: ... BCC: ...

Subject: ... Body: ... bitti. Ekleri: ...

- Tamam.. Aldm.. Ben iletirim... - Kapatyorum... Grrz... Sizin sunucunuz mesajn tamamn aldktan sonra, alcnn posta kutusuna yerletirilmek zere mesaj olduu gibi procmail yazlmna iletecektir. procmail de varsa kullancnn filtrelerini (spam filtresi, virus filtresi gibi) uygulayacak; eer mesaj kabul edilecekse, /var/spool/mail dizininde kullancn adyla anlan posta kutusu dosyasnn sonuna ekleyecektir. Kullancnz, posta kutusunda kendisini bekleyen e-postalar grmek istediinde birka ey yapabilir: 1. LINUX sisteminize login olur, pine veya mail konsol komutuyla posta kutusunda kendisini bekleyen mesajlar grebilir, yantlayabilir, silebilir; 2. Bir POP3 (Post Office Protocol 3) istemcisi kullanarak (KMail, Eudora, Mozilla Thunderbird, Evolution, hatta tehlikeyi seven birisi ise Outlook) mesajlarn grebilir, yantlayabilir, silebilir; 3. Bir IMAP (Internet Message Access Protocol) istemcisi kullanarak (KMail, Eudora, Mozilla Thunderbird, Evolution, hatta tehlikeyi seven birisi ise Outlook) mesajlarn grebilir, yantlayabilir, silebilir. e-posta mesajnn sizin bilgisayarnzdan gnderilmesi durumunda da ayn senaryo tekrarlanacaktr. Mesajnz gnderen yazlm (rnein KMail), siz gnder butonunu tkladnzda mesaj, kendi ayarlarnda SMTP (Simple Mail Transfer Protocol) sunucusu olarak gsterilmi olan bilgisayara iletir. O bilgisayardaki postfix, sendmail veya qmail gibi bir servis sizin mesajnzdaki alcnn adresinde grnen alann (domain) MX kaydn DNS kana-

427

Kim Korkar LINUXtan?

lyla sorgular. MX kayd bulunursa, kaytta belirtilen sunucu ile bir SMTP grmesi aar ve mesaj gnderir. Mesajn alcnn posta kutusuna yerletirilmesi artk kardaki e-posta sunucusunun grevidir.

procmail

procmail sunuculukla pek ilgisi olmayan bir yazlmdr. Tm kullanclar-

nzn farknda olmadan ok sk kullanacaklar; bu nedenle hem varlndan, hem de neler yaptndan haberiniz olmas gereken bir program olduu iin sz etmeden geemedik.

sajlarn karlayan ve kullanclarn posta kutularna yerletiren yazlmdr. Eer kullanclarn kiisel dizinlerinde kendileri iin hazrladklar .procmailrc diye bir dosya varsa, bu dosyada yer alan satrlar procmaile komut (makrosu) olarak yorumlanp gelen e-posta mesaj bu komutlar dorultusunda deerlendirilir. Gelen mesaj bu kontrol sonunda zel bir posta kutusuna yerletirilebilir, pe atlabilir, bir bakasna ynlendirilebilir ya da normal posta kutusuna yerletirilebilir. Aadaki rnek .procmailrc dosyas, a. cyberspam.com adresinden gelen mesajlarn dorudan pe atlmasn (/dev/null dipsiz kuyusuna ynlendirilmesini),

procmail, kullanclarnza iletilmek zere bilgisayarnza ulaan e-posta me-

b. omer@ayfer.netden gelen mesajlarn da omer isimli bir dosyaya aktarlmasn salamaktadr.


# rnek .procmailrc dosyas SHELL=/usr/bin/sh MAILDIR=${HOME}/Mail LOGFILE=${MAILDIR}/procmail.log :0 * ^From: *@cyberspam\.com /dev/null # Omerden gelen mesajlar ayr posta kutusunda sakla :0: * $ ^From:.*omer@ayfer\.net /home/cayfer/Mail/omer # Diger mesajlari kabul et :0:

428

Yararl LINUX Sunucu ve Servis Yazlmlar

${DEFAULT}

samba Sunucusu

samba, Server Message Block (SMB) adyla anlan protokolun LINUX i-

letim sistemine bir uyarlamasdr. NETBIOS, LanManager ve Common Internet File System (CIFS) isimleriyle de anlan bu protokol, Windows tabanl bilgisayarlarn dosya ve yazc kaynaklarnn a zerinden paylamasn salayan protokoldur.

zerinde samba sunucusu alan bir LINUX bilgisayar, buluduu a zerinde bir NT sunucusu gibi davranr. Gerek yazc ve dosya paylam, gerekse Domain Controller ilevlerinde son derece baarldr. Samba ile LINUX bilgisayarnz bir i grubuna (Workgroup) yerletirip seeceiniz dizin ve yazclar Windows tabanl bilgisayarlar kullansn diye paylama aabilirsiniz. Samba sunucunun ayarlar /etc/samba/smb.conf dosyasndan yaplr. Olduka uzun olan bu ayar dosyasnn ayrntlarn gerek dosyann aklama satrlarnda, gerekse internette Samba Nasl szckleriyle yapacanz arama sonucunda karnza gelecek dokmanlarda bulabilirsiniz. Bir Windows bilgisayarn paylama at kaynaklara LINUX bilgisayarnzdan erimeniz gerektiinde ise, samba paketinin smbclient veya smbmount isimli yazlmn yararlanabilirsiniz. LINUX/UNIX ve Windows tabanl iletim sistemleriyle kullanlan bilgisayarlarn birlikte kullanld alarda iki iletim sistemi arasndaki paylamlar hep LINUX/UNIX iletim sistemi zerinden yapmanz neririz.

named (DNS) Sunucusu


TCP/IP protokoluyla alan her bilgisayarn bir DNS (Domain Name System) sunucusuna gereksinimi vardr. DNS sunucular, sembolik nternet adreslerinin saysal IP adreslerine evrilmesini salayan; bir bakma nternetin bilinmeyen numaralar servisleridir. Bu servisin yazlm, ilk olarak Berkeley niversitesinde gelitirilmi olan BIND (Berkeley Internet Name Domain) paketidir. Paketin adnn BIND olmasna ramen, alan programn ad nameddir.

429

Kim Korkar LINUXtan?

nternet zerinde bir bilgisayara eriebilmeniz iin aa basacanz paketlerin alc adresi blmnde kardaki bilgisayarn IP adresi bulunmaldr. Saysal IP adreslerini ezberlemek zor olduu iin nternet bilgisayarlarna sistematik bir ekilde dzenlenmi, alan adlar ieren sembolik isimler verilir. rnein sembolik adresi, tr alannn, edu alt alannda yer alan bilkent ann www isimli bilgisayar demektir. TCP/IP bir a zerinde yer alan bu bilgisayarn bir de IP adresi olmal ve birileri bu IP adresinin hangi sembolik isme karlk geldiini bilmeli ve soran olduunda da bunu bildirmelidir. DNS mekanizmas ana hatlaryla yle alr: Patagonyada web taraycsnn banda oturan bir kullanc, URL olarak http://www.bilkent.edu.tr girdiinde, o tarayc yazlmn, www.bilkent.edu.tr isimli bilgisayarn IP adresini renmesi ve http protokulunun web sayfas isteme kurallarna uygun bir paket hazrlayp, paketin alc adresi blmne bu IP adresini yerletirmesi gerekir. Bunun iin, Patagonyadaki kullancnn kulland iletim sistemi, kendi TCP/IP ayarlarnda belirtilmi olan DNS sunucusuna www.bilkent.edu.tr de kim ola ki? sorusunu; yani DNS sorgusunu gnderir. Diyelim ki, Patagonyadaki bilgisayar andan Bilkente ynelik daha nce hi bir sorgu yaplmam olsun... Bu durumda Patagonyadaki DNS sunucusu bu sorguya ne yant vereceini bilemeyecektir. Bu kez, Patagonyadaki DNS sunucusu, sorguyu kendi TCP/IP ayarlarnda belirtilmi olan bir st dzey DNS sunucusuna aktaracaktr. Sorgu bu ekilde yukar doru karken, yol zerinde biryerlerde bir DNS sunucusu www.bilkent.edu.tryi bilemem ama edu.tr adreslerini kimin bildiini biliyorum! yantn verecektir. Bu rneimiz iin edu.tr adreslerini bilen DNS sunucusu, ODTdeki bir DNS sunucusu olacaktr. Bu yant, Patagonyadaki bilgisayara geri iletilince, bu bilgisayar sorgusunu biraz deitirerek ODTdeki sunucuya bilkent.edu.tr adreslerini kim bilir? olarak yneltir. ODT bu soruya 139.179.10.13 IP adresli bilgisayara tm bilkent.edu.tr adreslerini sorabilirsin! yantn verir.
www.bilkent.edu.tr

430

Yararl LINUX Sunucu ve Servis Yazlmlar

Son admda da Patagonyadaki bilgisayar Bilkent niversitesinin 139.179.10.13 IP adresli DNS sunucusuna www.bilkent.edu.trnin IP adresi nedir? diye sorar, yantn alr ve http istek paketini bu adrese gnderir. Adresi zlen kaytlar, DNS sunucular tarafndan belki birazdan birileri gene sorar mantyla DNS kaesi ad verilen tampon bellekte bir sre saklanr. Bu senaryo, sorgularn aktarld hiyerarideki DNS sunucularnn ayarlarna bal olarak deiebilirse de, ana hatlaryla mekanizma bu ekilde iler. Eer hi kimsenin tanmad bir adres sorgulandysa, sorgu internetin en st dzey DNS sunucularna kadar kabilir. En st dzeydeki bu DNS sunucular (root level servers, top level servers) fazla ayrntya girmeden .com, .edu.tr gibi a alanlarna DNS servisi veren bilgisayarlarn listesini tutarlar. Yani, bu en st dzey DNS sunucular, rnein bilkent.edu.tr ann kaytlarn tutan bilgisayar ya da bilgisayarlar bilmeyebilir, ama edu.tr alannn kaytlarn tutan bilgisayar ya da bilgisayarlar bilirler. edu.tr kaytlarn tutan DNS sunucusu, bilkent.edu.tr iin kaytlar kimin tuttuunu bilir. Bilkent niversitesinin DNS sunucusu da niversitedeki tm kaytl bilgisayarlar bilir. ok sk yanl anlalan bir kavrama burada aklk getirmek istiyoruz: bir bilgisayarn sembolik adresleri zebilmesi iin o bilgisayarda DNS sunucusu yazlm almas gerekmez. Aslnda tek gereksinim olan, sz konusu bilgisayara makul bir srede yant verebilecek bir DNS sunucusunun yaknlarda biryerlerde bulunmasdr. Kk alarda (yaklak 250 bilgisayara kadar) ve daha nemlisi genellikle sorgulayan istemcilerden oluan alarda, DNS hizmeti genellikle internet servisini salayan kurulutan alnr. Eer anzda ok bilgisayar varsa ve/veya anzdaki bilgisayarlarn IP adresleri ok sorgulanyorsa kendi DNS sunucunuzu kurmanz genel a performansn arttracaktr. Kendi DNS sunucunuzu kurmanz yararl olur dediimize bakp da bu i iin yeni bir bilgisayar satn almanz gerektii sonucunu karmayn sakn. A zerindeki herhangi bir LINUX bilgisayar bu ii rahat rahat yapacaktr. DNS sunucunuzu Windows tabanl bir iletim sistemi zerinde altracaksanz; yani bir WINS sunucu kuracaksanz o zaman baka... Salt DNS ileri iin olduka gl bir bilgisayar ve iletim sistemi lisans satn almanz ve bu bilgisayarda baka i altrmamanz gerekecektir.

431

Kim Korkar LINUXtan?

named ayarlar /etc/named.boot dosyas ve /var/named dizini altndaki

dosyalarda yaplr. DNS sunucu kurmak kolay deildir. DNS mantn iyice renmek ya da kurulmu bir sistemi inceleyip, ona bakarak almak gerekir.

ssh Sunucusu (Secure Shell)


Yerel a hatlarn dinlemek, gelip geen tm Ethernet paketlerini seyretmek hatta kaydetmek mmkndr. Biliim terminolojisinde Sniff etmek, yani koklamak olarak anlan bu ii yapmak iin pek ok yazlm bulmak olasdr. Bu yazlmlar bilgi almann yansra a yneticileri tarafndan a sorunlarn bulmak iin de youn olarak kullanlmaktadr. Ethernet alarda Hub yerine Switch kullanarak hattn dinlenmesini nleyebileceinizi sanyorsanz yanlyorsunuz. Nasl yapldn bu kitapta elbette anlatmayacaz ama bunun mmkn olduunu bilmenizde yarar var. Hattn dinlenmesini nleyemeyeciinize gre bari dinleyenlerin neler olup bittiini izleyemeyecekleri bir dzen kurmalsnz. Hrsza kilit dayanmayaca gibi zlemeyecek bir ifre sistemi kurmak ta olas deil ama hibir ey yapmadan da olmaz. Secure Shell kavram ite bu i iin gelitirilmitir. ki bilgisayar haberlemeye balamadan nce karlkl bir ifre/parola sistemi zerinde anlarlar ve haberleme seans boyunca bu sistemi kullanrlar. Yeni bir seans baladnda yepyeni bir ifre/parola sistemi kullanlr. Bu haberlemeleri dinleyip de krmak isteyenler epeyce uraacaktr.
ssh, bilgisayar bilimlerinde Symmetric Key Encryption olarak snflandrlan RSA, 3DES ve Bluefish sistemlerini kullanarak hat zerinde gelip giden tm paketleri kriptolar. LINUX bilgisayarnza klasik telnet yerine ssh istemcisini kullanarak balanrsanz hatlarnz dinleyenler neler olup bittiini anlayamayacaktr. ssh ile terminal balants kurduunuzda grsel olarak hibir ey deimeyecek, size herey telnet ekran gibi bir ekranda grnecektir. Bilgisayarlar aras dosya kopyalarken rcp yerine scp kullanabilirsiniz. ssh kullanan ftp istemcileri de bulabilirsiniz (Mandrake LINUX datmnda sftp isimli bir gvenli ftp istemcisi, secure ftp yer almaktadr.)

432

Yararl LINUX Sunucu ve Servis Yazlmlar

ssh sunucunuzun ayarlarn /etc/ssh/ dizinindeki dosyalarda yapabilirsiniz. Eer paranoyak deilseniz, varsaylan ayarlar iinizi grecektir. Ancak; unutmayn; internete bal hibir bilgisayar yzde yz gvenli iletiim yapamaz!

NIS Sunucusu (Network Information Services)


NISin ne ie yarayacan en kolay bir rnekle aklayabiliriz. Diyelim ki, iyerinizde 10 tane UNIX/LINUX bilgisayar ve 30 da kullancnz var. Bu durumda bilgisayarlar paylalyor demektir; yani, kimin ne zaman hangi bilgisayarn nne oturaca ya da uzaktan login edecei belli olmayacaktr. Bir kullancnn rastgele setii bir bilgisayara login olabilmesi iin, setii bilgisayarda tanml bir kullanc hesabna sahip olmas gerekir. Bir baka deyile sistem yneticisinin, rnein, cayfer kullancs iin 10 bilgisayarda da birer hesap amas gerekecektir. Daha da kts, bu kullanc ifresini deitirmek istediinde 10 bilgisayarda da bu deiiklii yapmas gerekecektir. Olacak i deil! te buna benzer durumlarda NIS kullanmanz gerekecektir. Bir ada yer alan bilgisayarlar arasnda paylalacak /etc/passwd, /etc/shadow, /etc/hosts gibi dosyalar NIS ile bilgisayarlar arasnda paylatrabilirsiniz. Makinelerinizden birini ya da bir kan NIS sunucu olarak belirleyip, rnein /etc/passwd ve /etc/shadow dosyalarnz bu bilgisayara yerletirip, kullanc hesaplarn tek noktadan ynetebilirsiniz. NIS servisinin ad eskiden Yellow Pages idi. Ancak, Yellow Pages szcklerinin isim hakk AT&T telefon irketine ait olduu iin bu isim terkedildi ve yerine NIS kullanlmaya baland. Daha nce de belirttiimiz gibi, UNIX dnyas tutucu denebilecek kadar geleneklere bal olduu iin NIS ayar dosyalar ve ilgili sre/program isimleri yp ile balar ekilde kald. NIS ayarlar da bu nedenle /etc/ypserv.conf isimli dosyadan yaplmaktadr.

iptables Ate Duvar


Bilgisayarnza gelen ve bilgisayarnzdan kan TCP/IP paketleri zerinde tam bir denetim kurmak istiyorsanz, bir firewall yazlm, yani bir ate duvar yazlm kullanmanz gerekir. Aslnda iptables, sunucu kategorisine giren bir yazlm deildir. Sisteme, a ara birimleri zerinden gelen ve giden paketleri filtrelemek, deitirmek ve gerektiinde ynlendirmek iin kullanlr.

433

Kim Korkar LINUXtan?

LINUX altnda bu aracnz da hazr: son derece gl, yetenekli ve hzl bir ate duvar yazlm olan iptables ile /etc/hosts.deny ve /etc/hosts.allow dosyalaryla denetleyemeyeceiniz trafii de kontrol altna alabilirsiniz. rnein, 140.1.13.23 adresinden anzdaki 134.43.23.1 adresli makineye gelen SMTP paketlerini kesebilirsiniz. Anzdaki 134.43.23.1 adresli bilgisayara gelen http paketlerini yk datm yapmak zere 134.32.23.250 adresli bilgisayara ynlendirebilirsiniz.
iptables ile port dzeyinde filtreler kurabilirsiniz. rnein, gnn birinde

MS-SQL sunuculara musallat olan SQL Slammer gibi bir virsn 1434 numaral porttan saldrdn rendiinizde

/sbin/iptables -I FORWARD -p udp --dport 1434 -j DROP

komutunu vererek 1434 numaral porttan gelen tm UDP paketleri durdurabilirsiniz.


iptables ayarlar yeni balayanlara biraz kark grnecektir; bu nedenle shorewall paketi, iptables ayarlarn yapmanz kolaylatracak bir paket

olarak gelitirilmi ve tabii ki zgr bir yazlm olarak hizmetinize sunulmutur.

DHCP Sunucusu
Bir TCP/IP ada yer alacak her bilgisayar iin, IP numaras, a maskesi (netmask), a geidi (gateway), DNS sunucusu ya da sunucularnn belirtildii ayarlarn bir ekilde yaplmas gerekir. Bu ayarlar, statik olarak elle yaplabilecei gibi, otomatik olarak da yaplabilir. TCP/IP ayarlarn otomatik yaplmasn salayan servis DHCP (Dynamic Host Configuration Protocol) servisidir. Bu servisi kullanan alarda, bilgisayarlarn TCP/IP modllerine, ayarlarn DHCP ile yaplmas gerektii belirtilirse, TCP/IP modlleri yklendiinde a arabirimine MAC adresim 03:04:de:3a:29:1f; bana IP ayarlarm verecek bir DHCP servisi var m? anlamna gelen bir paket gnderirler. Eer ada DHCP sunucusu varsa, bu sunucu yazlm, gelen istei, deiik politikalara gre deerlendirip istekte bulunan bilgisayara

434

Yararl LINUX Sunucu ve Servis Yazlmlar

IP adresin 192.168.23.45, a geidin 192.168.2.1, a masken 255.255.255.0, DNS sunucun da 192.168.2.240 gibi bir yant gnderir. DHCP politikalar arasnda, verilen bir IP adresinin ne kadar sreyle bir bakasna verilmeyecei, belirli MAC adresine sahip istemcilere nceden kararlatrlm IP adreslerinin verilmesi gibi kavramlar kullanlabilir. DHCP kullanp kullanmamak bir a ynetim stratejisidir. Kimi a yneticileri, kullanclarnn trafiklerini izlemek ve denetlemek istedikleri iin statik IP adresleri tahsis etmeyi tercih ederler. rnein, iptables veya benzeri bir ate duvar yazlmyla anzdaki bilgisayarlarn zerinden geen trafik zerinde snrlamalarnz varsa, DHCP ayanza ba olacaktr. Dnsenize; siz 192.168.3.2 IP adresli bilgisayara ftp trafii gelmesini istemediiniz iin iptables ayar dosyasna bir satr eklemisiniz ama bir sonraki gn, sz konusu bilgisayar DHCP servisinden bir baka IP adresi alarak alm. Linuxta are tkenmez... Siz de uygun IP adresleriyle durduramyorsanz, bir iptables filtresi kullanarak MAC adresiyle durdurursunuz. te yandan, yeni yeni yaygnlaan telsiz Ethernet teknolojisi (Wireless Ethernet, 802.11b, 802.11a, 802.11g standartlar, Wi-Fi) sizi DHCP kullanmaya zorlayacaktr. Wi-Fi hizmeti verdiiniz bir blgeye kucanda bilgisayaryla gelen bir kullancnn nce a yneticisini bulup, uygun bir IP numaras istemek zorunda olmas hi de mantkl olmaz. DHCP kulanp kullanmamak sizin kararnza kalmtr. Bu karar alrken, kullanclarnz DHCP kullanmaya zorlayamayacanz bilmelisiniz. Siz DHCP servisi verseniz de vermeseniz de, anzdaki bir kullanc bilgisayarna istedii IP adresini girebilecektir. Tahmin edebileceiniz gibi DHCP sunucu yazlm dhcpdnin ayarlar /etc/dhcpd.conf dosyasndan yaplabilir.
Dikkat ettiyseniz neredeyse tm sunucu yazlmlarn ayar dosyalar /etc dizininin altnda yer alyor. Hatrlarsanz, daha nce yedeklemeden sz ederken /etc dizininin nemini vurgulamtk. Haklymz; deil mi?

435

Kim Korkar LINUXtan?

MySQL ve PostgreSQL Veritaban Sunucular


Her ikisi de zgr yazlm dnyasnn ok beenilen, gvenilen birer ilikisel veritaban ynetim (RDBMS: Relational Database Management System) sistemleridir. simlerinden de anlalaca zere; her ikisi de SQL veritaban sorgulama dilini desteklemektedir. Hangisinin daha iyi olduu konusunda birey sylemek olduka gtr. PostgreSQLin, ileyebildii SQL komut says ve komut varyasyonlar daha zengindir. Eer bir veritaban uzmanysanz, MySQL, PostgreSQL, Oracle, Sybase, MS-SQL, IBM DB2, Informix gibi veritaban ynetim sistemlerinin ok ayrntl bir karlatrmasn http://www.mysql.com/information/features.html adresinde incelemeden hangi veritaban sistemini kullanacanza karar vermeyin. Sradan bir veritaban ynetim sistemine gereksinim duyuyorsanz, ya da bu ilere yeni balayacaksanz, MySQL kullanmanz neririz. Aslnda MySQL ya da PostgreSQL sunucularndan birini semek zorunda deilsiniz; ikisini birden kurup altrabilirsiniz. Unutmayn, LINUX dnyasndasnz; almanz belki biraz zaman alacak ama zgrsnz. Eer MySQL seerseniz, gerek veritaban sunucusunu, gerekse veritabanlarnz ynetmek iin web tabanl bir uygulama olan phpMyAdmin yazlmn kurmanz neririz (www.phpmyadmin.net). likisel veritabanlarn pek tanmayan okuyucularmz iin ksaca zetlemek gerekirse; veritaban sunucu yazlmlar, desen olarak birbirine benzeyen ve ok sayda veri kayd arasndan belirli bir koulu salayan kaytlar ok hzl bir ekilde bulup karmak iin gelitirilmi yazlmlardr. Doal olarak bu sunucu yazlmlar, veritabanlarna kayt ekleme, gncelleme, kayt karma ilevlerini; ve en nemlisi ok kullancl ortamda eriimi de desteklemektedir. Uygulama programlar, ilikisel veritaban ynetim sistemi denetimindeki dosyalara dorudan eriemezler. Veritabanna bir kayt eklemek gerektiinde, uygulama program veritaban sunucusuna

436

Yararl LINUX Sunucu ve Servis Yazlmlar

INSERT musteriler values (ABC Ltd, Falanca Mah, 602.Sokak, Bayi);

benzeri SQL komutlar gnderir ve komutun yerine getirilmesini bekler. Kaytl veriler arasndan seim yapmak iinse
SELECT firma_adi, adresi FROM musteriler WHERE tip = Bayi;

benzeri bir SQL komutu gnderip, tipi Bayi olan mterilerin kaytlar istenebilir. Verilen kriterleri salayan kaytlar bir kme olarak uygulama programna geri gnderilir. Perl dili ile MySQL kullanm hakknda ayrntl bilgiye gereksinim duyarsanz, PUSULA Yaynclk tarafndan yaynlanm olan Perl ve MySQL ile CGI Programlama (ISBN:975-7092-89-4) kitabn nerebiliriz.

squid Proxy Sunucusu


LINUX dnyasnn en ok kullanlan proxy sunucusudur. Proxy server teriminin Trke karl olarak vekil sunucu kullanlmaktaysa da vekil szc proxy szcnn anlamn tam olarak vermedii iin; biz proxy demeye devam edeceiz. Proxy sunucular, bir bilgisayar ann nternet knda devreye seri olarak girmi ve proxy yazlm alan bilgisayarlardr. Genellikle, proxy sunucudan yararlanmak isteyenler TCP/IP istemci yazlmlarnn (rnein web tarayclarnn) ayarlarnda bunu belirtirler. Bylece sz konusu uygulama TCP/IP paketlerini proxy sunucuya ynlendirirler. rnein, http proxy grevini yapan bir proxy sunucu, ierden kendisine gelen tm http isteklerini yakalar; gerekiyorsa istemci olarak kendisini gstererek paketi yeniden dzenler ve alcsna yle gnderir. Gelen yantlar da nce kendi diskine kaydeder, sonra da dosyay istemi olan, ierdeki bilgisayara iletir. Bir sre sonra an iinden birileri gene bu dosyay nternetten indirmek isterse, bu istei nternet hattna aktarmak yerine kendi disklerine kaydettii dosyay geri gnderir. Aslnda mekanizma bu kadar basit deildir; rnein, istenen bir dosyay kendi disklerinden sunmadan nce dosyann istendii yerden o dosyann en son deiiklie urad saat ve tarihi renir; eer kendi diskindeki kopya daha eski deilse, dosyay nternetten indirmek yerine kendi diskinden gnderir.

437

Kim Korkar LINUXtan?

Proxy sunucular internet hatlarndan tasarruf salar; ayrca sk sk ziyaret edilen web sitelerinin kullanclara ok daha hzl sunulmasn salar. Proxy sunucular sadece web iletiiminde kullanlmaz, FTP proxy sunucular da anlamldr. Proxy sunucusu olarak kullanlacak bir bilgisayarn ie yarar bir disk kapasitesine sahip olmas gerekir. Arkasndaki an byklne; daha dorusu arkadaki kullanc saysna ve bunlarn web davranlarnn zelliklerine bal olarak birka Gigabytedan birka yz GigaBytea kadar disk gerekecektir. Bir niversite iin, 60 GByte civarnda bir proxy sunucu disk kapasitesi i grecektir; oysa bir servis salayc iin daha fazlas gerekecektir. Proxy sunucular kullanc tarafnda genellikle istee bal olarak kullanlr. Yani istemeyen kullanclar, web tarayclarnn proxy ayarlarn yapmayarak proxy sunucunuzdan yararlanmamay seebilir. Servis verdiiniz an zelliklerine bal olarak kullanclarnz proxy sunucusunu kullanmaya zorlamak isteyebilirsiniz. Byle bir durumda squid yazlmn saydam proxy sunucusu (transparent proxy server) olarak kurmalsnz. Kurduunuz bir proxy sunucusunun yararn lmek istediinizde, sunucunun raporlarndan ve log kaytlarndan yararlanmalsnz. Kae isabet oran (Cache hit ratio), sunucunuzun baar dzeyini en iyi gsterecek olan deerdir.
squid, sorumlu olduu adaki trafii ok sk denetlemek isteyen ynetici-

ler iin nemli bir aratr. Yerel ada kopyas bulunan bir dosyay almak iin internet hattnn bouna igal edilmesini engelledii gibi, a iinde kimin hangi adrese gittiinin de ayrntl bir ekilde izlenmesine olanak salar. yerinizdeki kullanclarn btn gn chat yaptklarndan, fal ve oyun sayfalarnda dolatklarndan pheleniyorsanz, squid kurup istatistik raporlarn inceleyebilirsiniz. tor ve privoxy gibi yazlmlarla squidin yetenekleri daha da geniletilebilir. rnein privoxy ile spam filtrelemeye benzer bir yntemle web sitelerindeki reklamlar filtrenebilir.

438

Yararl LINUX Sunucu ve Servis Yazlmlar

ppp evirmeli A Sunucusu


yerinizde kurduunuz LINUX bilgisayara evden modemle balanmak istediinizde iki seeneiniz vardr: 1. Basit telnet balants kurmak 2. ppp balants kurup, hem LINUX makinenize, hem de onun zerinden internete de balanmak. ppp (Point-to-Point protocol), seri arabirimler zerinden TCP/IP balants kurmak iin gelitirilmi bir protokoldur. ki bilgisayar arasnda ppp protokolu almaya baladnda her iki tarafta da seri arabirimlere birer IP numaras verilir. Bylece aranan bilgisayarn iki a arabirimi olur: biri Ethernet arabirimi; dieri de modemin bal olduu seri arabirim. Aranan bilgisayar artk iki bilgisayar a zerinde ayn anda yer alan bir ynlendiricidir (router). Aralarnda ppp balants olan bilgisayarlarn arasnda istemci-sunucu gibi bir iliki yoktur; her ikisi de eit dzeyde noktadan-noktaya bal bilgisayarlardr; bir baka deyile ppp sunucusu aslnda pek doru bir deyim deildir. Bir bilgisayarn, modem zerinden gelen seri balantlar kabul edebilmesi iin sz konusu seri arabirimin (/dev/ttySn) basit terminal balants yapabilir ekilde ayarlanm olmas gerekir. Bu ayar yapabilmek iin, rnein ilk seri arabirim /dev/ttyS0 iin getty program alabilir durumda olmaldr.
getty servisiyle normal terminal balants yapabilen bir kullanc, kendi

balants iin bir pppd sreci balatp kendi bilgisayaryla arad bilgisayar arasnda bir ppp balants kurabilir.

Evet! Yukardaki satrlarda biraz garip laflar ettiimizin farkndayz ama ne yapalm, bu iler byle. Bu kitapta, bir bilgisayarn ppp servisini verecek ekilde kurulmas iin yaplmas gereken hereyi anlatmaya olanak yok; amacmz yol gstermek. Eer bu konuda ayrntl bilgiye gereksinim duyuyorsanz, internette ok sayda kopyasn kolayca bulabileceiniz Serial Howto ve ppp Howto dokmanlarn okumalsnz.

439

Kim Korkar LINUXtan?

LINUX iletim sistemi ile birlikte gelen veya sonradan yklenebilen nemli a servisleriyle ilgili daha ayrntl bilgiye gereksinim duyduunuzda PUSULA Yayncln LINUX A Servisleri isimli kitabndan yararlanabilirsiniz (ISBN: 975-6477-13-x).
BUNLARI BLYOR MUYDUNUZ?

Linux Datmlar
Mays 2006 tarihinde, datlan, satlan ve desteklenen 357 deiik LINUX datm olduunu biliyor muydunuz? Evet, tam 357 deiik LINUX datmndandan sz ediyoruz... Bu kitabn birinci basksnn yaynland Temmuz 2003de datm says 135 idi. LINUXun arkasnda profesyonel destek olmadn, sorunlarn zlmesinde kullanclarn yalnz olduunu iddia edenlere ithaf olunur. LINUX datmlarn srekli izleyen, inceleyen, irdeleyip eletiren www.distrowatch.com sitesinde ayrntl bilgi bulabilirsiniz.

440

GNU Genel Kamu Lisans GNU Public License (GPL)


Genel Kamu Lisans

EK

This is an unofficial translation of the GNU General Public License into Turkish. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL-only the original English text of the GNU GPL does that. However, we hope that this translation will help Turkish speakers understand the GNU GPL better. Bu, GNU Genel Kamu Lisansnn (GPL) Trkeye gayrresmi evirisidir. Bu eviri Free Software Foundation tarafndan yaynlanmam olup GNU GPL kullanan yazlmlarn datm artlarn belirleme asndan hukuki balaycl yoktur. Hukuki adan yalnzca GNU GPLin ngilizce metni balaycdr. Bu eviri, Trke kullanclarnn GNU GPLi daha iyi anlayabilmeleri iin hazrlanmtr.

GNU Genel Kamu Lisans (GPL)


Srm 2, Haziran 1991 Telif Hakk 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Bu lisans dkmannn birebir kopyalarn yapma ve datma izni herkese verilmitir, fakat metinde deiiklik yapma izni yoktur. Giri Yazlm lisanslarnn ou sizin yazlm paylama ve deitirme hakknzn elinizden alnmas iin hazrlanmtr. Buna karlk, GNU Genel Kamu Lisans sizin serbest yazlmlar deitirme ve paylama hakknzn mahfuz tutulmas ve yazlmn btn kullanclar iin serbest olmas amac ile yazl-

441

Kim Korkar LINUXtan?

mtr. Bu Genel Kamu Lisans, Free Software Foundationun ou yazlm ve bu lisans kullanmay dstur edinen dier yazlmclarn yazlmlar iin kullanlmaktadr. (Free Software Foundationun baz yazlmlar GNU Kitaplk Genel Kamu Lisans -- GNU LGPL -- altnda datlmaktadr.) Siz de bu lisans yazlmlarnza uygulayabilirsiniz. Serbest yazlmdan bahsettiimiz zaman fiyattan deil, zgrlkten bahsediyoruz. Bizim Genel Kamu Lisanslarmz, sizin serbest yazlmlarn kopyalarn datma zgrlnz (ve isterseniz bu hizmet iin para almanz), yazlm kaynak kodlarnn size datm esnasnda veya eer isterseniz verilmesini, yazlm deitirebilmenizi, yazlmn paralarn yeni yazlmlar ierisinde kullanabilmenizi ve bunlar yapabileceinizi bilmenizi salamaktadr. Haklarnz koruyabilmemiz iin sizin haklarnz kstlama veya sizin bu haklarnzdan feragat etmenizi isteme yollarn yasaklayc baz kstlamalar getirmemiz gerekmektedir. Bu kstlamalar eer serbest yazlm datyor veya deitiriyorsanz size baz ykmllkler getirmektedir. rnein byle bir programn kopyalarn, bedava veya cret karl datyorsanz alclara sizin sahip olduunuz btn haklar salamalsnz. Onlarn da kaynak kodlarna sahip olmalarn veya ulaabilmelerini salamalsnz. Onlara da haklarn bilebilmeleri iin bu artlar gstermelisiniz. Haklarnz koruma iki aamada gereklemektedir: 1. Yazlma telif hakk alnmaktadr. 2. Yazlm lisans olarak size, hukuki olarak, yazlm kopyalama, datma ve/veya deitirme hakk tanyan bu lisans sunulmaktadr. Ayrca, yazarlarn ve bizim korunmamz iin bu serbest yazlmn herhangi bir garantisi olmadn herkesin anlamasn istiyoruz. Eer yazlm bakas tarafndan deitirilmi ve deitirilmi hali ile tarafnza ulatrlm ise alclarn, ellerinde olan yazlmn orijinal olmadn, dolaysyla bakalar tarafndan eklenen problemlerin ilk yazarlarn hretlerine olumsuz etkide bulunmamas gerektiini bilmelerini istiyoruz. Son olarak, btn serbest yazlmlar yazlm patentleri tarafndan srekli tehdit altnda bulunmaktadr. Serbest bir yazlmn datclarnn bireysel

442

GNU Genel Kamu Lisans / GNU Public License (GPL)

olarak patent lisans almalarn ve bu yol ile yazlm mseccel hale getirmelerine imkan vermemek istiyoruz. Bunu engellemek iin, yazlm iin alnacak her patentin herkesin serbest kullanmna izin vermesi veya patentlenmemesi gerektiini ak olarak ortaya koyuyoruz. Kopyalama, datm ve deitirme ile ilgili kesin art ve kaytlar aada yer almaktadr.

Kopyalama, Datm ve Deitirme ile lgili art ve Kaytlar


Bu Lisans, telif hakk sahibi tarafndan ierisine bu Genel Kamu Lisans altnda datldna dair ibare konmu olan herhangi bir yazlm veya baka eseri kapsamaktadr. Aada Yazlm, bu kapsamdaki herhangi bir yazlm veya eser, Yazlm baz alan rn, ise Yazlm veya telif kanunu altnda Yazlmdan itikak etmi, yani Yazlmn tamamn veya bir parasn, deitirmeden veya deiiklikler ile, veya baka bir dile tercme edilmi hali ile ieren herhangi bir rn, manasnda kullanlmaktadr. (Bundan sonra tercme deitirme kapsamnda snrsz olarak ierilecektir.) Her ruhsat sahibine siz olarak hitap edilmektedir. Kopyalama, datm ve deitirme haricinde kalan faaliyetler bu Lisansn kapsam dndadrlar. Yazlm altrma eylemi snrlandrlmamtr ve Yazlmn kts yalnzca ktnn ierii (Yazlm altrmak yolu ile elde edilmesinden bamsz olarak) Yazlm baz alan rn kapsamna girer ise bu Lisans kapsamndadr. Bu koulun salanp salanmad Yazlmn ne yapt ile ilgilidir. 1. Yazlmn kaynak kodlarn birebir, aldnz ekilde, herhangi bir ortamda ve vasta ile, uygun ve grnr bir ekilde telif hakk bildirimi ve garantisiz olduuna dair bildirim koymak, bu Lisansdan bahseden herhangi bir bildirimi aynen muhafaza etmek ve btn dier alclara Yazlm ile birlikte bu Lisansn bir kopyasn vermek art ile kopyalayabilir ve databilirsiniz. Kopyalamak fiili ilemi iin bir cret talep edebilir ve sizin seiminize bal olarak cret karl garanti verebilirsiniz. 2. Yazlmn kopyasn veya kopyalarn veya herhangi bir parasn deitirerek Yazlm baz alan rn elde edebilir, bu deiiklikleri veya rnn

443

Kim Korkar LINUXtan?

kendisini yukarda 1. blmdeki artlar dahilinde ve aada sralanan artlarn yerine getirilmesi koulu ile kopyalayabilir ve databilirsiniz. a. Deitirilen dosyalarn grnr bir ekilde dosyalarn sizin tarafnzdan deitirildiine dair, tarihli bir bildirim iermesini salamalsnz. b. Yazlmdan veya Yazlmn bir parasndan tamamen veya ksmen itikak etmi ve sizin tarafnzdan datlan veya yaynlanan herhangi bir rnn btn nc ahslara bu Lisans artlar altnda cretsiz olarak ruhsatlanmasn salamalsnz. c. Eer deitirilen yazlm olaan kullanm altnda komutlar interaktif olarak alyor ise, yazlm, en olaan kullanm iin interaktif olarak altrld zaman uygun bir telif hakk bildirimi, garantisi olmadna (veya sizin tarafnzdan garanti verildiine), kullanclarn bu yazlm bu artlar altnda tekrar databileceklerine ve kullancnn bu Lisansn bir kopyasn nasl grebileceine dair bir bildirim yazdrmal veya gstermelidir. (stisna: Eer Yazlmn kendisi interaktif ise fakat byle bir bildirimi olaan kullanm esnasnda yazdrmyor ise, sizin Yazlm baz alan rnnz byle bir bildirimde bulunmak zorunda deildir.) Bu artlar deitirilmi eserin tamamn kapsamaktadr. Eer eserin tespit edilebilir ksmlar Yazlmdan itikak etmemi ise ve makul surette kendi balarna bamsz ve ayr eserler olarak kabul edilebilir ise, o zaman bu Lisans ve artlar, bu paralar ayr eser olarak dattnz zaman balayc deildir. Fakat, ayn paralar Yazlm baz alan bir rn btnnn bir paras olarak dattnz zaman btnn datm, dier ruhsat sahiplerine verilen izinlerin btne ait olduu ve paralarna, yazarnn kim olduuna baklmakszn btn paralarna tek tek ve mterek olarak uyguland bu Lisans artlarna uygun olmaldr. Bu blmn hedefi tamamen sizin tarafnzdan yazlan bir eser zerinde hak iddia etmek veya sizin byle bir eser zerindeki haklarnza muhalefet etmek deil, Yazlm baz alan, Yazlmdan itikak etmi veya mterek olarak ortaya karlm eserlerin datmn kontrol etme haklarn dzenlemektir. Buna ek olarak, Yazlm baz almayan herhangi bir rnn Yazlm ile (veya Yazlm baz alan bir rn ile) bir bilgi saklama ortamnda veya bir datm ortamnda beraber tutulmas dier eseri bu Lisans kapsamna sokmaz.

444

GNU Genel Kamu Lisans / GNU Public License (GPL)

3. Yazlm (veya 2. blmde tanmland hali ile onu baz alan bir rn) ara derlenmi veya uygulama hali ile 1. ve 2. Blmdeki artlar dahilinde ve aada sralanan yntemlerden birisine uygun olarak kopyalayabilir ve databilirsiniz. a. Yaygn olarak yazlm datmnda kullanlan bir ortam zerinde, yukarda 1. ve 2. Blmde bulunan artlar dahilinde, bilgisayar tarafndan okunabilir kaynak kodlarnn tamam ile birlikte datmak. b. Herhangi bir nc ahsa, fiziksel olarak datm gerekletirme masrafnzdan daha fazla cret almayarak, yaygn olarak yazlm datmnda kullanlan bir ortam zerinde, yukarda 1. ve 2. Blmde bulunan artlar dahilinde, bilgisayar tarafndan okunabilir kaynak kodlarnn tamamn datacanza dair en az yl geerli olacak yazl bir taahhtname ile birlikte datmak. c. Size verilmi olan ilgili kaynak kodunu datma taahhtnamesi ile birlikte datmak. (Bu alternatif yalnzca ticari olmayan datmlar iin ve yalnzca siz de yazlm ara derlenmi veya uygulama bieminde ve yukarda b) blmnde anlatlan ekli ile bir taahhtname ile birlikte alm iseniz geerlidir.) Bir eserin kaynak kodu, esere deitirme yapmak iin en uygun yntem ve imkan anlamnda kullanlmaktadr. Uygulama bieminde bir eser iin, kaynak kodu, ierdii btn paralar iin ilgili kaynak kodlar, ilgili arayz tanm dosyalar ve derleme ve ykleme ilemlerinde kullanlan btn betikler anlamnda kullanlmaktadr. Bir istisna olarak, datlan kaynak kodu, genelde uygulamann zerinde alaca iletim sisteminin ana paralar (derleyici, ekirdek v.b.) ile birlikte datlan herhangi bir bileeni,eer ilgili bileen, uygulama ile birlikte datlmyorsa, iermek zorunda deildir. Eer uygulama veya ara derlenmi biemde yazlmn datm belli bir yere eriim ve oradan kopyalama imkan olarak yaplyorsa, ayn yerden, ayn koullar altnda kaynak koduna eriim imkan salamak, nc ahslarn ara derlenmi ve uygulama biemleri ile birlikte kaynak kodunu kopyalama zorunluluklar olmasa bile kaynak kodunu datmak olarak kabul edilmektedir. 4. Yazlm bu Lisansta sarih olarak belirtilen artlar haricinde kopyalayamaz, deitiremez, ruhsat hakkn veremez ve datamazsnz. Buna aykr herhangi bir kopyalama, deitirme, ruhsat hakk verme, veya datmda bulunma hkmszdr ve byle bir teebbs halinde bu Lisans altndaki btn haklarnz iptal edilir. Sizden, bu Lisans kapsamnda kopya veya hak al-

445

Kim Korkar LINUXtan?

m olan nc ahslar, Lisans artlarna uygunluklarn devam ettirdikleri srece, ruhsat haklarn muhafaza edeceklerdir. 5. Bu Lisans sizin tarafnzdan imzalanmad iin bu Lisans kabul etmek zorunda deilsiniz. Fakat, size Yazlm veya onu baz alan rnleri deitirmek veya datmak iin izin veren baka bir belge yoktur. Eer bu Lisans kabul etmiyorsanz bu eylemler kanun tarafndan sizin iin yasaklanmtr. Dolaysyla, Yazlm (veya onu baz alan bir rn) deitirmeniz veya datmanz bu Lisans ve Lisansn Yazlm veya ondan itikak etmi btn eserleri kopyalamak, deitirmek ve datmak iin getirdii art ve kaytlar kabul ettiiniz manasna gelmektedir. 6. Yazlm (veya onu baz alan herhangi bir rn) yeniden dattnz her defada alc, ilk ruhsat sahibinden otomatik olarak Yazlm bu artlar ve kaytlar dahilinde kopyalamak, deitirmek ve datmak iin ruhsat almaktadr. Alcnn burada verilen haklar kullanmasna ek birtakm kstlamalar getiremezsiniz. nc ahslar bu Lisans mucibince hareket etmee mecbur etmek sizin sorumluluk ve ykmllnz altnda deildir. 7. Eer bir mahkeme karar veya patent ihlal iddias veya herhangi baka bir (patent meseleleri ile snrl olmayan) sebep sonucunda size, bu Lisansn art ve kaytlarna aykr olan birtakm (mahkeme karar, zel anlama veya baka bir ekilde) kstlamalar getirilirse, bu sizi bu Lisans art ve kaytlarna uyma mecburiyetinden serbest brakmaz. Eer ayn anda hem bu Lisansn artlarn yerine getiren hem de dier kstlamalara uygun olan bir ekilde Yazlm datamyorsanz, o zaman Yazlm datamazsnz. rnein, eer bir patent lisans direkt veya endirekt olarak sizden kopya alacak olan nc ahslarn bedel demeksizin Yazlm datmalarna hak tanmyorsa o zaman sizin hem bu koulu hem Lisans koullarn yerine getirmenizin tek yolu Yazlm datmamak olacaktr. Eer bu blmn herhangi bir paras herhangi bir art altnda uygulanamaz veya hatal bulunur ise o artlar dahilinde blmn geri kalan ksm, btn dier artlar altnda da blmn tamam geerlidir. Bu blmn amac sizin patent haklarn, herhangi bir mlkiyet hakkn ihlal etmenize yol amak veya bu haklarn geerliliine muhalefet etmenizi salamak deildir; bu blmn btn amac kamu lisans uygulamalar ile oluturulan serbest yazlm datm sisteminin btnln ve ilerliini korumaktr. Bu sistemin tutarl uygulanmasna dayanarak pek ok kii bu sistemle datlan geni yelpazedeki yazlmlara katkda bulunmutur; yazlm-

446

GNU Genel Kamu Lisans / GNU Public License (GPL)

n bu veya baka bir sistemle datmak karar yazara aittir, herhangi bir kullanc bu karar veremez. Bu blm Lisansn geri kalannn dourduu sonularn ne olduunu akla kavuturmak amacn gtmektedir. 8. Eer Yazlmn kullanm ve/veya datm baz lkelerde telif hakk tayan arayzler veya patentler yznden kstlanrsa, Yazlm bu Lisans kapsamna ilk koyan telif hakk sahibi, Yazlmn yalnzca bu lkeler haricinde datlabileceine dair ak bir corafi datm kstlamas koyabilir. Byle bir durumda bu Lisans bu kstlamay sanki Lisansn ierisine yazlm gibi kapsar. 9. Free Software Foundation zaman zaman Genel Kamu Lisansnn yeni ve/veya deitirilmi biimlerini yaynlayabilir. Byle yeni srmler mana olarak imdiki haline benzer olacaktr, fakat doacak yeni problemler veya kayglara cevap verecek ekilde detayda farkllk arzedebilir. Her yeni biime ayrdedici bir srm numaras verilmektedir. Eer Yazlm bir srm numaras belirtiyor ve bu ve bundan sonraki srmler altnda datlyorsa, belirtilen srm veya Free Software Foundation tarafndan yaynlanan herhangi sonraki bir srmn art ve kaytlarna uymakta serbestsiniz. Eer Yazlm Lisans iin bir srm numaras belirtmiyor ise, Free Software Foundation tarafndan yaynlanm olan herhangi bir srmn art ve kaytlarna uymakta serbestsiniz. 10. Eer bu Yazlmn paralarn datm koullar farkl olan baka serbest yazlmlarn ierisinde kullanmak isterseniz, yazara sorarak izin isteyin. Telif hakk Free Software Foundationa ait olan yazlmlar iin Free Software Foundationa yazn, bazen istisnalar kabul edilmektedir. Kararmz, serbest yazlmlarmzdan itikak etmi yazlmlarn serbest statlerini korumak ve genel olarak yazlmlarn yeniden kullanlabilirliini ve paylamn salamak amalar dorultusunda ekillenecektir.

Garanti Yoktur
11. Bu yazlm cretsiz olarak ruhsatland iin, yazlm iin ilgili kanunlarn izin verdii lde herhangi bir garanti verilmemektedir. Aksi yazl olarak belirtilmedii mddete telif hakk sahipleri ve/veya baka ahslar yazlm olduu gibi, aikar veya zimnen, satlabilirlii veya herhangi bir amaca uygunluu da dahil olmak zere hibir garanti vermeksizin datmaktadrlar. Yazlmn kalitesi veya performans ile ilgili tm sorunlar size aittir.

447

Kim Korkar LINUXtan?

Yazlmdaki herhangi bir bozukluktan dolay doabilecek olan btn servis, tamir veya dzeltme masraflar size aittir. 12. lgili kanunun icbar ettii durumlar veya yazl anlama haricinde herhangi bir ekilde telif hakk sahibi veya yukarda izin verildii ekilde yazlm deitiren veya yeniden datan herhangi bir kii, yazlmn kullanm veya kullanlamamas (veya veri kaybi olumas, verinin yanl hale gelmesi, sizin veya nc ahslarn zarara uramas veya yazlmn baka yazlmlarla beraber alamamas) yznden oluan genel, zel, dorudan ya da dolayl herhangi bir zarardan, byle bir tazminat talebi telif hakk sahibi veya ilgili kiiye bildirilmi olsa dahi, sorumlu deildir.

art ve Kaytlarn Sonu


Bu artlar Yeni Yazlmlara Nasl Uygulanr? Eer yeni bir yazlm gelitiriyor ve bunun kamuya en fazla dzeyde yarar salamasn istiyorsanz, yazlmnz herkesin datp, deitirebilecei zgr yazlm haline getirmenizi neriyoruz. Bu koullar uygulamak iin yazlma aadaki bildirimleri ekleyin. En salkl yntem her kaynak kodu dosyasnn bana bu bildirimi ekleyerek garanti olmadna dair bilginin verildiinden emin olmaktr; her dosya en azndan copyright (telif hakk) satrn ve bildirimin tam metninin nerede bulunabileceine dair bilgi iermelidir. {yazlmn adn ve ne yaptn anlatan bir satr.} Copyright (C) {yl} {yazarn ad} This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation,

448

GNU Genel Kamu Lisans / GNU Public License (GPL)

Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Size normal ve elektronik posta ile nasl ulalabileceine dair bilgi eklemeyi unutmayn. Eer yazlmnz interaktif ise, interaktif kipte balatld zaman gsterilen ksa bir bildirim koyun. Gnomovizyon version 69, Copyright (C) yl yazarn ad Gnomovizyon comes with ABSOLUTELY NO WARRANTY; for details type `show w. This is free software, and you are welcome to redistribute it under certain conditions; type `show c for details. Gnomovizyon srm 69, Telif hakk (C) yl yazarn ad Gnomovizyon iin HBR GARANT verilmemektedir; detaylar iin `show w yazn. Bu bir serbest yazlmdr ve belli koullar altnda yeniden datlabilir; detaylar iin `show c yazn. rnekte verilen `show w ve `show c komutlar GNU Genel Kamu Lisansnn ilgili blmlerini gstermelidir. Elbette kullanlan komutlar daha farkl olabilir veya yazlmnza uyan baka yntemlerle bu bildirim yaplabilir. vereninizin (eer programc olarak alyorsanz) veya, eer renci iseniz, okulunuzun telif haklarndan feragat ettiklerine dair bir feragatname imzalamalarn isteyebilirsiniz. Aada bir rnek yer almaktadr, isimleri deitirin: Gereksizler, A.., Mehmet Herhangibiri tarafndan yazlm `AbidikGubidik yazlmnda (kapkolu evirmekte kullanlan bir yazlm) olabilecek btn telif haklarndan feragat eder. {Yn Etici mzas}, 1 April 1990 Yn Etici, Gereksizler Yetkilisi Bu Genel Kamu Lisans yazlmnzn serbest olmayan yazlmlarn ierisine dahil edilmesine imkan tanmaz. Eer yazlmnz bir kitaplk ise, serbest olmayan yazlmlarn kitaplnza balanmasna imkan tanmak isteyebilirsiniz. Eer yapmak istediiniz bu ise, bu Lisans yerine GNU Kstl Genel Kamu Lisansn kullanabilirsiniz.
eviren: Deniz Akku Kanca, 2001 Translated by: Deniz Akku Kanca, 2001

449

Kim Korkar LINUXtan?

Sonsz Bu kitap, LINUX dnyasna ilk admnz atmanz saladysa ne mutlu bize. LINUX ve doal olarak UNIX dnyasndaki yolculuk uzun, heyecanl, keyifli ve yorucu bir deneyimdir. yi bir UNIX sistem yneticisi olabilmek iin yllarca almak gerekir. yi bir di hekimi, iyi bir cerrah olabilmek iin nasl zamana ve en nemlisi meslein aralarn iyi tanma ve kullanma becerilerini gelitirmeye gereksinim varsa; UNIX dnyasnda da iletim sisteminin aralarn iyi renmeye ve kullanma becerilerini gelitirmeye gerek vardr. Bu kitab okumakla LINUX renmediniz. Olsa olsa korkmamay rendiniz. Bu kitapta bir iki satrla anlatlan birok konunun her biriyle ilgili yzlerce sayfalk kitaplar var. Onlar da bir okuyun; ondan sonra tekrar grelim. LINUX/UNIX sistem yneticilii bir meslektir. Tek bir kitap; hele giri dzeyinde bir kitap okumakla bir meslek edinmeyi ummuyordunuz herhalde... Tm biliim konularnda olduu gibi bir iletim sistemini kullanmay okuyarak renemezsiniz. Denemeli, uramal, aratrmal, a ve uykusuz kalmalsnz. Eer LINUX dnyasna ciddi bir ekilde girmek istiyorsanz size tek bir neride bulunabiliriz: bilgisayarnzdaki LINUX dndaki tm iletim sistemlerini silin. Eskiden beri dier iletim sistemiyle yapmakta olduunuz ileri LINUX ile yapmaya aln. Unutmayn; aklnza gelebilecek her trl sorunun zm LINUXta vardr; btn mesele bu zm bulup uygulayabilmektedir. LINUX iletim sistemine bir kez altktan ve onu ynetmeyi rendikten sonra dier iletim sistemleri; zellikle de Windows ailesinin sunucu zelliine sahip olan srmleri size ok zayf gelecektir. Bugne kadar UNIX/LINUX dnyasn brakp Windows ortamna geen profesyonele hi rastlamadk ama tersini ok grdk. Gzlem sresi yazarlardan gen olan iin 3-4 yl, ihtiyar olan iin Windowsun tarihi kadar uzundur. UNIX dnyasna hogeldiniz. mer Ayfer - Can Uur Ayfer

450

You might also like