2.1. Arkaplan

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 2.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.

Şekil 2.1. Bir Unix dizin ağacının yapısı
Bir Unix dizin ağacının yapısı
Kesikli çizgiler disk bölümlerinin sınırlarını belirtir.

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, iletiler, 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 olasılık ise dosyaları ait oldukları uygulamalara 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 sorun ortaya çıkmaktadır. Kılavuz sayfalarının hepsini bulan bir uygulama yapmak ve dosyaları paylaştırmak tam bir kabusa dönmektedir.