Alternatifim Cafe

Linux Dosya Sistemi

Discussion started on Linux İşletim sistemi

Linux Dosya Sistemi Yapısı

Bu bölümde Linux un
kullandığı dosya sistemi hakkında bilgi verilecektir. Dosya sistemini oluşturan
dizinler, kapsadıkları dosyalar ve bunların Linux işletim sistemindeki
görevleri de kısaca belirtilecektir.




Bir işletim sisteminin
dosya sisteminin performansı, hızı ve buna benzer çeşitli özellikleri sistemin
verimli ve kararlı çalışması üzerinde doğrudan etkisi vardır. Linux dizin
yapısının geliştirilmesinde FSSTND
(file system standard)
grubunun çalışmalarının payı çok büyük oldu. Programcılardan oluşan grup,
standartların belirlenmesinde ve uygulama aşamasında Linux ile ilgilenenlere
yardım etti. 1993 yılında Olaf Kirsh,
Linux haber grubuna yazdığı bir e-postasında Linux dosya sistemi üzerindeki
çalışmaların tamamlandığını haber verdi. O yıldan bu yana linux
dosya sistemi standardı üzerinde kayda değer değişiklik olmamıştır.




Linux dizin yapısında bazı
dizinlerin işlevi birbiriyle aynıdır. Bu durum, özellikle birbirini takip eden
iki Linux sürümünde belirginleşir. Örnek olarak bir dağıtımda style='font-size:10.0pt'>/usr/bin style='font-size:10.0pt;font-family:Arial'> dizini altında yeralan
dosya, diğer sürümde /bin style='font-size:10.0pt;font-family:Arial'> altına yerleştirilebiliyor.




Dosya sistemleri ve
dizinler paylaşımlı olarak da kullanılabilir. Birden fazla kişisel bilgisayarın
bağlandığı ağda, disk alanından yer kazanmak için bir makina
sunucu (ana makina)
olarak tayin edilir. Ağ üzerindeki diğer makinalar da
sunucu üzerindeki diski paylaşır. Buna örnek olarak kullanıcı ev dizinlerinin class=SpellE>yeraldığı / class=SpellE>home, çalıştırılabilir dosyaların bulunduğu style='font-size:10.0pt'>/usr style='font-size:10.0pt;font-family:Arial'>, e-posta ve haber grubu
bilgilerinin bulunduğu /var/ class=SpellE>spool/mail ve /var/ class=SpellE>spool/news style='font-size:10.0pt;font-family:Arial'> dizinleri verilebilir.




Kök dizini, kendisine bağlı
diğer tüm dizinleri de içerdiğinden, Linux dosya sisteminde önemli bir yere
sahiptir. Linux açılırken önce kök dizini /etc/fstab style='font-size:10.0pt;font-family:Arial'> dosyasına uygun şekilde bağlanır.
Diğer dosya sistemlerinin onarımı ve kontrolü için gerekli olan class=SpellE>fsck style='font-size:10.0pt;font-family:Arial'> programları bu dizinde
bulunmalıdır. Benzer şekilde yedekleme için gerekli olan class=SpellE>tar style='font-size:10.0pt'>, zip, compress style='font-size:10.0pt;font-family:Arial'> gibi arşiv programlarına da kök
dizin altından erişilebilmeli, açılış esnasında hafızaya yüklenen çekirdek de
kök dizininde yeralmalıdır.




Bir programı yerine
koymadan önce bazı "dengelerin" gözönünde
tutulmasında yarar vardır. Programlanan her yazılımı kök dizinine koyarsanız,
bir süre sonra bu dosya sisteminin şiştiğini görürsünüz. Kök dizinini
başlangıçta küçük (20-30Mb kadar) tutmak, geliştirilen programları daha önceden
belirlenen başka bir dosya sistemi altına koymak akıllıca olur. Bu yol, ağ
üzerinden genellikle paylaşımı mümkün olmayan kök dizininin her class=SpellE>makinadaki sabit diskte mümkün olan en az yer işgal
etmesini sağlar.




Sistemdeki önemli dizinlere
göz atarsak,




/bin
:




Sistemin açılışı ve kontrolü için gerekli komutlar. Hem
kullanıcıların, hem de sistem görevlisinin kullanabileceği dosyalar (kök
dizinde ise fazla şişmemesi koşuluyla) buraya atılabilir. Sadece class=SpellE>root kullanıcının ihtiyaç duyacağı init,
getty, updatedb gibi
programlar /sbin veya /usr/ class=SpellE>sbin de durabilir. Bu dizinde bulunan dosyalara örnek
olarak cat, chgrp, class=SpellE>chown, date, dd,
df, ln , class=SpellE>mkdir, mount, ps,
rm, sh, su, class=SpellE>sync ve umount u sayabiliriz.





/dev
:




G/Ç
dosyaları. Linux çekirdeğinde desteklenen her aygıta ait dosya /dev dizini
altında bulunur. Kurulum anında bu dosyalar yerine yerleştirilir, bu dosyaların
silinmesi durumunda /dev/MAKEDEV ile tekrar yaratılabilirler.




/ class=SpellE>etc :




Sistem
konfigürasyon dosyaları. Bu dizinde çalıştırılabilir dosyalar bulunmamalıdır.





style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
skel : Buradaki dosyalar, kullanıcı hesabı açıldığında kullanıcının ev
dizinine kopyalanır.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
rc.d : Bu dizinin içinde, init sürecinin
başvurduğu konfigürasyon dosyaları vardır.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
passwd : Kullanıcı şifre veritabanı




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
fstab : Linux un açılışı esnasında bindirilecek dosya sistemleri burada
listelenir.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
group : passwd e benzer şekilde kullanıcıların
gruplarını tutar.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
inittab : init daemon
için konfigürasyon dosyası




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
motd : Kullanıcı sisteme girdikten sonra ekranına basılması istenen
mesaj burada tutulur.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
profile
: Kullanıcı sisteme girdiği zaman çalıştırılan dosya (csh
ve sh türevi kabuklar için)




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
shells : Sistemde kullanılabilecek kabuk isimleri burada tutulur.





style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
login.access : login
komutu için konfigürasyon dosyası. Sisteme girişi kullanıcı bazında sınırlamak
için kullanılır.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
limits : İşlemci performansının kullanıcı bazında kısıtlanmasını
sağlar




/ class=SpellE>home :




Kullanıcılara
ayrılmış dizin. Başka şekilde ayarlanmamış ise, açılan her hesaba ait
kullanıcı, burayı kullanacaktır. Büyük sistemlerde, bu kısım alt parçalara
ayrılabilir (/home/ftpadm ,
/home/ogrenci gibi)




/ class=SpellE>lib :




Kütüphane
dosyaları.




/ class=SpellE>mnt :




Geçici
bağlanan dosya sistemleri. Sadece bu iş için kullanıldığından sistem
görevlisine zaman kazandırır.




/ class=SpellE>proc :




Süreç
kontrollerini ve diğer sistem bilgilerini tutan dosya sistemi. Bu dosya sistemi
aslında disk üzerinde yer kaplamaz, tüm dosyalar çekirdeğin bir uzantısı
sayılabilir.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
cpuinfo : işlemci modeli, tipi ve performansını bildirir.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
devices : Halihazırda çalışan çekirdek içinde desteği bulunan aygıt
sürücülerini listeler.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
dma : Hangi dma kanallarının kullanıldığını
belirtir.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
filesystems : Halihazırda çalışan çekirdek içinde desteği bulunan dosya
sistemlerini listeler.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
interrupts : Hangi kesintilerin kullanımda olduğunu söyler.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
iports : Halen hangi giriş/çıkış iskelelerinin kullanıldığını
belirtir.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
kcore : Sistem hafızasının görüntüsü




/ class=SpellE>root :




Sistem
görevlisinin ev dizini. Mümkünse bu dizini sistemdeki diğer kullanıcıların
görmeyeceği şekilde ayarlayın.




/ class=SpellE>sbin :




Hayati
sistem komutları. Bir zamanlar bu dosyalar /etc
dizini altında yeralıyorlardı. Sadece sistem
görevlisinin ihtiyacı olan komutlar, /sbin veya / class=SpellE>usr/sbin içinde bulunur.




/ class=SpellE>tmp :




Geçici
dosyaların koyulduğu dizin. Belirli zaman aralıklarında temizlenmelidir.





/ class=SpellE>usr :




Diğer
önemli sistem dosyalarını tutar. Bu bölüm genelde en kalabalık dizindir, zira
yeni kurulan tüm programlar buraya konulur.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
X11R6:
X Window sistemi bilgileri tutulur.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
doc: Belge ve dokümanlar, genellikle HOWTO ve FAQ dosyala genellikle HOWTO ve FAQ dosyala class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3;tab-stops:list 36.0pt'> style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
lib: Bazı kütüphaneler




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
man: Man dosyaları




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
src: Bazı kaynak dosyaları ve linux çekirdeğini
oluşturan kodları (/usr/src/ class=SpellE>linux) içeren dizin.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
sbin : Kök dosya sisteminde yeralması gerekmeyen
çalıştırılabilir sistem görevlisi dosyaları




/var
:




Sürekli
değişen sistem bilgileri burada tutulur. İstisnalar dışında diğer class=SpellE>makinalarla paylaştırılmaz.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
adm: Sistem yönetimini ilgilendiren kayıtlar




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
preserve : Sistemin göçmesinden sonra zarar görmesi mümkün
dosyaların kaydedildiği yer.




style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'> style='mso-list:Ignore'>·
spool : Sonra işlenecek olan veriler buraya atılır (e-posta gibi)




Eğer
sistem yöneticisi iseniz düzenli olarak dosya ve dizin yapısını kontrol
etmelisiniz. Örneğinn style='font-size:10.0pt'>/tmp style='font-size:10.0pt;font-family:Arial'> dizini normal kullanıcıların
kullanımına açık olduğu için çok kısa bir sürede dolabilir. Burayı periyodik
olarak silmek için find komutu işe yarayabilir :





#
class=SpellE>find /tmp -atime +7 -
class=SpellE>exec rm -rf {} ;



style='font-size:10.0pt;font-family:Arial'>Yukarıdaki komut, class=SpellE>tmp style='font-size:10.0pt;font-family:Arial'> dizini altında yeralan
tüm dosyaları kontrol edecek ve 7 günden daha eski dosyaları silecektir. Benzer
şekilde, kullanıcıların dosyalarının yer aldığı style='font-size:10.0pt'>/home style='font-size:10.0pt;font-family:Arial'> dizini de çok kısa bir sürede
dolmaya mahkumdur. Sistemde ne kadar büyük sabit disk olursa olsun bir gün
gelecek burası dolacaktır. Periyodik olarak buraya da göz gezdirmek gerekir.
Aşağıda yeralan kısa program, style='font-size:10.0pt'>/home style='font-size:10.0pt;font-family:Arial'> dizininde yeralan
kullanıcı dizinlerideki disk kullanımını büyükten
küçüğe doğru disk style='font-size:10.0pt;font-family:Arial'> isimli dosyaya yollayacaktır. Bu
dosyanın incelenmesiyle hangi kullanıcıları "cezalandıracağınızı"
görebilirsiniz




#
class=SpellE>du -skx /home/* |
class=SpellE>sort -rn > disk



class=SpellE>du style='font-size:10.0pt;font-family:Arial'> (disk usage),
sistem kullanıcılarının sıkça başvurduğu bir komuttur. Kullanılabilecek
parametreler için du style='font-family:Arial'>(1) kılavuz sayfasına bakın.




style='font-size:10.0pt;font-family:Arial'>UNIX, (ve dolayısıyla Linux) iki tip
aygıt tanır. Bunlardan ilki karakter aygıtları, başka bir deyişle veri
alışverişini bayt bazında yapan cihazlar, diğeri de blok aygıtları, yani veri alışverişini
blok cinsinden yapan cihazlardır. Karakter aygıtlarına örnek olarak seri
bağlanan cihazlar ve teypler, disk aygıtlarına örnek olarak da diskler
verilebilir. Bu cihazlardan bir bilgi yazılıp okunduğunda dosya sistemi altında
bunları tanımlayan dosyalar (/dev/* style='font-size:10.0pt;font-family:Arial'>) kullanılmış olur. Örnek olarak bir
yazıcıya bilgi göndermek için,




$
class=SpellE>cat dosya > /dev/lp1



style='font-size:10.0pt;font-family:Arial'>komutunu kullanabilirsiniz. Dosya,
düz metin gibi, yazıcının anlayabileceği bir yapıda olmalıdır. Her aygıt, bir
dosya olarak dosya sisteminde kendine yer bulduğuna göre hangi aygıt
dosyalarının (düğüm ) bulunduğunu görmek mümkün olabilir.




style='font-size:10.0pt;font-family:Arial'>$ ls -l
/dev/cua0

crw-rw-rw-
1 root uucp 5, 64 class=SpellE>Nov 30 1993 /dev/cua0



İlk kolondaki ilk karakter (c), bu dosyanın bir karakter aygıtına ait olduğunu
belirtiyor. Normal dosyalar için buradaki karakter - olmalıydı. Benzer şekilde
blok aygıtlar için ise b kullanılr. Aygıt sürücü
desteği çekirdekte olmasa bile /dev style='font-size:10.0pt;font-family:Arial'> dizini altında genellikle tüm aygıt
dosyaları (düğümler) bulunur. Bu demektir ki /dev/sda dosyasına sahip olduğunuz halde bir SCSI sabit diski
sistemde takılı olmayabilir. Tüm aygıt sürücülerinin bulunması, programların
kurulumunu ve yeni donanımın eklenmesini kolaylaştırır....
#1 - Şubat 20 2006, 22:24:05
İmza kural dışı.

fat32 dosya sistemleri uzerine hardiski 2 ye bolmeden windows tabanli sabit disklerin uzerine linuxun herhangi bir sistemini yuklemeyin.50 gb sabit diskiniz bi anda linux sistemin kapladigi alan kadar olur.
linux sabit diskin butun tabanini degistirmektedir.ve tekrar windowsun anlayacagi tabana cevirmek icin cok ugrasmaniz gerekir..
bu gibi sorunlara dikkat edilmelidir.
yoksa ileride linuxa buyuk kufurler edebilirsiniz :)
#2 - Temmuz 21 2006, 11:52:48

Microsoft kadar kullanışlı değil...paylaşıma teşekkür ediyorum... :sizo :sizo
Linuxun en iyi yanı bi program kastığı zaman sadece o program yavaslar.Sistemin tamamını etkilemez
#3 - Ağustos 09 2006, 19:12:54

yukarıda yazılanlara tamamen katılıyorum.

Üye:

0 Üye ve 1 Ziyaretçi konuyu incelemekte.