Bu bölüm Dosyasistemi Hiyerarşisi Standardının (
Filesystem Hierarchy Standart -
FHS) 2.1 sürümü üzerinden, Linux dizin yapısının nasıl
organize edildiğini anlatmaktadır. Standardizasyon, Linux işletim
sistemleri için yazılım hazırlanmasını ve uyarlanabilmesini daha
kolaylaştırır, her şey belli bir standart içinde olduğundan sistem
yönetiminde pek çok kolaylıklar sağlar. Bu standardizasyon için her
hangi bir otorite tarafından yapılan bir baskı söz konusu değildir,
ama pek çok Linux dağıtımı bu standardizasyonu desteklemektedir. Çok
önemli ve geçerli sebepler olmadıkça FHS'yi bırakmak hiç de akıllıca
bir fikir değildir. FHS, Unix gelenek ve göreneklerini izleyerek
diğer Unix sürümleri ile Linux arasında bir uyum ve köprü vazifesi
görmektedir.
Bu bölümde FHS ayrıntılı bir biçimde anlatılmamıştır. Sistem
yöneticilerinin FHS'i anlayabilmeleri için FHS ile ilgili kılavuzu
tamamen okuması daha yararlı olur.
Bu bölümde bütün dosyalar ayrıntılı bir biçimde anlatılmamış,
sadece genel bir bakış açısı kazandırmak amacıyla dosya sistemleri
konusu temelinde genel bir anlatım yapılmıştır. Bununla beraber bu
kılavuz içinde veya diğer kılavuz sayfalarında burada anlatılan
dosyalar hakkında daha geniş bilgi bulmak mümkündür.
Dizin ağacının tamamı çeşitli görevleri yerine getirmek, sistem
yedeklerini daha kolay almak veya disk üst limitleri nedeniyle;
kendi diski ya da bağımsız diskler üzerinde çeşitli küçük parçalara
ayrılmış olabilir. Ana parçalar: kök (
/),
/usr,
/var, ve
/home dosya sistemleridir (Bakınız:
Şekil 4.1). Her bölüm farklı
bir amaca hizmet etmektedir. Dizin yapısı bir Linux makinesinin
ağ üzerinde daha hızlı ve daha verimli çalışmasını sağlamak amacıyla
yapılır.
Dizin ağacının farklı parçalarının rolleri aşağıda açıklanmıştır.
Kök dosya sisteminin kendine özgü bir yapısı vardır. Genellikle
yerel sabit disk üzerinde olabileceği gibi ram diskte veya ağ
tarafından da yönetilebilir. Kök dosya sistemi, sistemin açılıp,
diğer dosya sistemlerinin bu sisteme bağlanabilir bir hale
getirilmesi için gereklidir. Kök dosya sistemi tek kullanıcılı
bir makine için yeterli olacaktır. Ayrıca bozulan bir sistemi
tamir etmek için ve kaybolan yedeklenmiş dosyaların geri
getirilmesini sağlayan araçlara da sahiptir.
/usr dosya sistemi, bütün kütüphaneleri,
komutları, normal işlemler sırasında değişmeyen dosyaları ve
kılavuz sayfalarını içerir. /usr dosya
sistemindeki hiçbir dosya her hangi bir makine için özelleştirilmez.
Hepsi normal kullanım amacına yönelik hazırlanmış dosyalardır.
Bu sayede buradaki dosyalar ağ üzerinden paylaşılabilir. Bu sayede
sabit disklerden önemli ölçüde yer kazanmak mümkün olur. Bu da çok
büyük bir tasarruf sağlar. Bir uygulamanın güncellenmesinde sadece
ana /usr değiştirilir. Bu da
/usr'yi ağ sistemine bağlamayı oldukça
kolaylaştırır. Dosya sistemi yerel bir disk üzerinde olsa bile
sadece okunabilir şekilde ayarlanması daha uygun olur. Bu sayede
herhangi bir çökme durumunda dosyaların hasar görme ihtimalini
azaltmış oluruz.
/var dosya sistemi sürekli değişen
dosyaları barındırır. Epostalar, mesajlar, spool dizinleri
(news, printer, vb..), düzenlenmiş kılavuz sayfaları ve temp
dosyaları bu dosya sisteminin içindedir. Geleneksel olarak
/var dizininin altındaki her şey
/usr dizini altında bir yerlerde mutlaka
vardır. Bu da /usr dosya sisteminin
salt okunur yapılmasına olanak verir.
/home dosya sistemi kullanıcıların ev
dizinlerini yani sistemde bulunan bütün gerçek verileri ihtiva
eder. Ev dizinlerini çeşitli parçalara ayırmak yedekleme açısından
son derece faydalı olabilir. Nede olsa bütün dizinler aynı hızla
değişmiyor. Büyük /home dizinlerinin;
/home/staff, /home/student
gibi parçalara ayrılması daha akıllıca olacaktır.
Bununla beraber yukarıda dosya sistemi olarak adlandırılan
bölümlerin her birinin ayrı birer dosya sistemi olması gerekmemektedir.
Bütün bunlar tek bir dosya sistemi altında kolaylıkla tutulabilir.
Özellikle tek kullanıcılı basit sistemlerde. Ayrıca sabit diskin
yapısına ve büyüklüğüne göre çeşitli dosya sistemleri kullanılabilir.
Unix dosya sistemi yapısı bütün dosyaları amaçlarına göre gruplara
ayırır. Bütün komutlar bir yerde, bütün veriler başka bir yerde,
bütün belgeler üçüncü bir yerde gibi. Diğer bir alternatif ise
dosyaları ait oldukları programlara göre sınıflamaktır: bütün emacs
dosyaları bir yerde, teX dosyaları başka bir yerde gibi. Daha sonra
paylaşılan dosyaların bulunmasında bir problem ortaya çıkmaktadır.
Kılavuz sayfalarının hepsini bulan bir program yapmak ve dosyaları
paylaştırmak tam bir kabusa dönmektedir.