Bu bolumde Linux'un kullandigi dosya sistemi hakkinda bilgi verilecektir. Dosya sistemini olusturan dizinler, kapsadiklari dosyalar ve bunlarin Linux isletim sistemindeki gorevleri de kisaca belirtilecektir.
Bir isletim sisteminin dosya sisteminin performansi, hizi ve buna benzer cesitli ozellikleri sistemin verimli ve kararli calismasi uzerinde dogrudan etkisi vardir. Linux dizin yapisinin gelistirilmesinde FSSTND (file system standard) grubunun calismalarinin payi cok buyuk oldu. Programcilardan olusan grup, standartlarin belirlenmesinde ve uygulama asamasinda Linux ile ilgilenenlere yardim etti. 1993 yilinda Olaf Kirsh, Linux haber grubuna yazdigi bir e-postasinda Linux dosya sistemi uzerindeki calismalarin tamamlandigini haber verdi. O yildan bu yana linux dosya sistemi standardi uzerinde kayda deger degisiklik olmamistir.
Linux dizin yapisinda bazi dizinlerin islevi birbiriyle aynidir. Bu durum, ozellikle birbirini takip eden iki Linux surumunde belirginlesir. Ornek olarak bir dagitimda /usr/bin dizini altinda yeralan dosya, diger surumde /bin altina yerlestirilebiliyor.
Dosya sistemleri ve dizinler paylasimli olarak da kullanilabilir. Birden fazla kisisel bilgisayarin baglandigi agda, disk alanindan yer kazanmak icin bir makina sunucu (ana makina) olarak tayin edilir. Ag uzerindeki diger makinalar da sunucu uzerindeki diski paylasir. Buna ornek olarak kullanici ev dizinlerinin yeraldigi /home, calistirilabilir dosyalarin bulundugu /usr, e-posta ve haber grubu bilgilerinin bulundugu /var/spool/mail ve /var/spool/news dizinleri verilebilir.
Kok dizini, kendisine bagli diger tum dizinleri de icerdiginden, Linux dosya sisteminde onemli bir yere sahiptir. Linux acilirken once kok dizini /etc/fstab dosyasina uygun sekilde baglanir. Diger dosya sistemlerinin onarimi ve kontrolu icin gerekli olan fsck programlari bu dizinde bulunmalidir. Benzer sekilde yedekleme icin gerekli olan tar, zip, compress gibi arsiv programlarina da kok dizin altindan erisilebilmeli, acilis esnasinda hafizaya yuklenen cekirdek de kok dizininde yeralmalidir.
Bir programi yerine koymadan once bazi "dengelerin" gozonunde tutulmasinda yarar vardir. Programlanan her yazilimi kok dizinine koyarsaniz, bir sure sonra bu dosya sisteminin sistigini gorursunuz. Kok dizinini baslangicta kucuk (20-30Mb kadar) tutmak, gelistirilen programlari daha onceden belirlenen baska bir dosya sistemi altina koymak akillica olur. Bu yol, ag uzerinden genellikle paylasimi mumkun olmayan kok dizininin her makinadaki sabit diskte mumkun olan en az yer isgal etmesini saglar.
Sistemdeki onemli dizinlere goz atarsak,
/bin :
Sistemin acilisi ve kontrolu icin gerekli komutlar. Hem kullanicilarin, hem de sistem gorevlisinin kullanabilecegi dosyalar (kok dizinde ise fazla sismemesi kosuluyla) buraya atilabilir. Sadece root kullanicinin ihtiyac duyacagi init, getty, updatedb gibi programlar /sbin veya /usr/sbin'de durabilir. Bu dizinde bulunan dosyalara ornek olarak cat, chgrp, chown, date, dd, df, ln , mkdir, mount, ps, rm, sh, su, sync ve umount'u sayabiliriz.
/dev :
G/C dosyalari. Linux cekirdeginde desteklenen her aygita ait dosya /dev dizini altinda bulunur. Kurulum aninda bu dosyalar yerine yerlestirilir, bu dosyalarin silinmesi durumunda /dev/MAKEDEV ile tekrar yaratilabilirler.
/etc :
Sistem konfigurasyon dosyalari. Bu dizinde calistirilabilir dosyalar bulunmamalidir.
• skel : Buradaki dosyalar, kullanici hesabi acildiginda kullanicinin ev dizinine kopyalanir.
• rc.d : Bu dizinin icinde, init surecinin basvurdugu konfigurasyon dosyalari vardir.
• passwd : Kullanici sifre veritabani
• fstab : Linux'un acilisi esnasinda bindirilecek dosya sistemleri burada listelenir.
• group : passwd'e benzer sekilde kullanicilarin gruplarini tutar.
• inittab : init daemon icin konfigurasyon dosyasi
• motd : Kullanici sisteme girdikten sonra ekranina basilmasi istenen mesaj burada tutulur.
• profile : Kullanici sisteme girdigi zaman calistirilan dosya (csh ve sh turevi kabuklar icin)
• shells : Sistemde kullanilabilecek kabuk isimleri burada tutulur.
• login.access : login komutu icin konfigurasyon dosyasi. Sisteme girisi kullanici bazinda sinirlamak icin kullanilir.
• limits : Islemci performansinin kullanici bazinda kisitlanmasini saglar
/home :
Kullanicilara ayrilmis dizin. Baska sekilde ayarlanmamis ise, acilan her hesaba ait kullanici, burayi kullanacaktir. Buyuk sistemlerde, bu kisim alt parcalara ayrilabilir (/home/ftpadm , /home/ogrenci gibi)
/lib :
Kutuphane dosyalari.
/mnt :
Gecici baglanan dosya sistemleri. Sadece bu is icin kullanildigindan sistem gorevlisine zaman kazandirir.
/proc :
Surec kontrollerini ve diger sistem bilgilerini tutan dosya sistemi. Bu dosya sistemi aslinda disk uzerinde yer kaplamaz, tum dosyalar cekirdegin bir uzantisi sayilabilir.
• cpuinfo : islemci modeli, tipi ve performansini bildirir.
• devices : Halihazirda calisan cekirdek icinde destegi bulunan aygit suruculerini listeler.
• dma : Hangi dma kanallarinin kullanildigini belirtir.
• filesystems : Halihazirda calisan cekirdek icinde destegi bulunan dosya sistemlerini listeler.
• interrupts : Hangi kesintilerin kullanimda oldugunu soyler.
• iports : Halen hangi giris/cikis iskelelerinin kullanildigini belirtir.
• kcore : Sistem hafizasinin goruntusu
/root :
Sistem gorevlisinin ev dizini. Mumkunse bu dizini sistemdeki diger kullanicilarin gormeyecegi sekilde ayarlayin.
/sbin :
Hayati sistem komutlari. Bir zamanlar bu dosyalar /etc dizini altinda yeraliyorlardi. Sadece sistem gorevlisinin ihtiyaci olan komutlar, /sbin veya /usr/sbin icinde bulunur.
/tmp :
Gecici dosyalarin koyuldugu dizin. Belirli zaman araliklarinda temizlenmelidir.
/usr :
Diger onemli sistem dosyalarini tutar. Bu bolum genelde en kalabalik dizindir, zira yeni kurulan tum programlar buraya konulur.
• X11R6: X Window sistemi bilgileri tutulur.
• doc: Belge ve dokumanlar, genellikle HOWTO ve FAQ dosyalari.
• lib: Bazi kutuphaneler
• man: Man dosyalari
• src: Bazi kaynak dosyalari ve linux cekirdegini olusturan kodlari (/usr/src/linux) iceren dizin.
• sbin : Kok dosya sisteminde yeralmasi gerekmeyen calistirilabilir sistem gorevlisi dosyalari
/var :
Surekli degisen sistem bilgileri burada tutulur. Istisnalar disinda diger makinalarla paylastirilmaz.
• adm: Sistem yonetimini ilgilendiren kayitlar
• preserve : Sistemin gocmesinden sonra zarar gormesi mumkun dosyalarin kaydedildigi yer.
• spool : Sonra islenecek olan veriler buraya atilir (e-posta gibi)
Eger sistem yoneticisi iseniz duzenli olarak dosya ve dizin yapisini kontrol etmelisiniz. Orneginn /tmp dizini normal kullanicilarin kullanimina acik oldugu icin cok kisa bir surede dolabilir. Burayi periyodik olarak silmek icin find komutu ise yarayabilir :
# find /tmp -atime +7 -exec rm -rf \;
Yukaridaki komut, tmp dizini altinda yeralan tum dosyalari kontrol edecek ve 7 gunden daha eski dosyalari silecektir. Benzer sekilde, kullanicilarin dosyalarinin yer aldigi /home dizini de cok kisa bir surede dolmaya mahkumdur. Sistemde ne kadar buyuk sabit disk olursa olsun bir gun gelecek burasi dolacaktir. Periyodik olarak buraya da goz gezdirmek gerekir. Asagida yeralan kisa program, /home dizininde yeralan kullanici dizinlerideki disk kullanimini buyukten kucuge dogru disk isimli dosyaya yollayacaktir. Bu dosyanin incelenmesiyle hangi kullanicilari "cezalandiracaginizi" gorebilirsiniz
# du -skx /home/* | sort -rn > disk
du (disk usage), sistem kullanicilarinin sikca basvurdugu bir komuttur. Kullanilabilecek parametreler icin du(1) kilavuz sayfasina bakin.
UNIX, (ve dolayisiyla Linux) iki tip aygit tanir. Bunlardan ilki karakter aygitlari, baska bir deyisle veri alisverisini bayt bazinda yapan cihazlar, digeri de blok aygitlari, yani veri alisverisini blok cinsinden yapan cihazlardir. Karakter aygitlarina ornek olarak seri baglanan cihazlar ve teypler, disk aygitlarina ornek olarak da diskler verilebilir. Bu cihazlardan bir bilgi yazilip okundugunda dosya sistemi altinda bunlari tanimlayan dosyalar (/dev/*) kullanilmis olur. Ornek olarak bir yaziciya bilgi gondermek icin,
$ cat dosya > /dev/lp1
komutunu kullanabilirsiniz. Dosya, duz metin gibi, yazicinin anlayabilecegi bir yapida olmalidir.
Her aygit, bir dosya olarak dosya sisteminde kendine yer bulduguna gore hangi aygit dosyalarinin (dugum ) bulundugunu gormek mumkun olabilir.
$ ls -l /dev/cua0
crw-rw-rw- 1 root uucp 5, 64 Nov 30 1993 /dev/cua0
Ilk kolondaki ilk karakter (c), bu dosyanin bir karakter aygitina ait oldugunu belirtiyor. Normal dosyalar icin buradaki karakter '-' olmaliydi. Benzer sekilde blok aygitlar icin ise 'b' kullanilr.
Aygit surucu destegi cekirdekte olmasa bile /dev dizini altinda genellikle tum aygit dosyalari (dugumler) bulunur. Bu demektir ki /dev/sda dosyasina sahip oldugunuz halde bir SCSI sabit diski sistemde takili olmayabilir. Tum aygit suruculerinin bulunmasi, programlarin kurulumunu ve yeni donanimin eklenmesini kolaylastirir.
__________________
Linux Dosya Sistem Yapısı !
Linux0 Mesaj
●40 Görüntüleme
- ReadBull.net
- Donanım Forumları
- işletim Sistemleri
- Linux
- Linux Dosya Sistem Yapısı !