Selamlar arkadaşlar bu makalemde sizlere Linux Dizin yapısı hakkında bilgilendirme vereceğim.
Günümüz dünyasında yüzlerce Linux dağıtımı bulunmakta ve bu dağıtımlarında kendilerine ait bir dizin yapıları bulunmaktaydı. Bu sorunun önüne geçebilmek adına Dosya Sistemi Hiyerarşi Standartı (File System Hierarchy Standard (FHS)) belirlendi. Bu standartın amacı kurulan yazılımların ve kullanıcıların kullanacağı dosya ve dizin sistemini belirlemekti. Bu standartla birlikte MAN dosyalarının, Programların, Veri tutan dizinlerin vs. yeri belli bir kural çerçevesinde düzenlendi.
Sistemin genel yapısı aşağıdaki gibidir.
/bin = Temel komutlar
/boot = Ön yükleyicinin kullandığı dosyalar
/dev = Aygıt dosyaları
/etc = Sistem yapılandırma dosyaları
/home = Kullanıcıların ev dizinleri
/lib = Paylaşılan temel kütüphaneler ve çekirdek modülleri
/media = Çıkarılabilir aygıtlar için bağlama noktası
/mnt = Dosya sistemlerini geçici olarak bağlama noktası
/opt = Sonradan eklenen uygulamalar
/proc = sistemin genel ve anlık bilgilerini içeren sanal dosya sistemi.
/sbin = Temel sistem yöneticisi komutları
/tmp = Geçici dosyalar
/usr = İkincil kök, kullanıcı için
yeni dizilim noktası
/var = Değişken veriler, log dosyaları
vb.
/BIN = Bu dizin sistem yöneticileri ve normal kullanıcılar için kullanışlı temel komutları barındıran alandır. Kullanıcığı kabuğu bash ve ls, cp, rm, cat gibi pek çok temel komutu içerdiğinden dolayı en basit sistem kurulumlarında bile oluşturulmaktadır.
/BOOT = İşletim sisteminin açılması için gerekli olan bütün dosyalar bu dizindedir. Çekirdekler ve initrd kalıpları burada bulunmaktadır.
/DEV = Bilgisayarımıza takılan cihazlara eriştiğimiz dosyadır. Linux içerisinde herşey bir dosyadır ve bu dizin altında da cihazlarımıza ulaşmak için bulunan dosyalar tutulmaktadır.
/ETC = Bu dosyamız sistemin kalbidir ve sistemimiz için önemli olan yapılandırma dosyaları bu dizindedir. Bu dosyalar çalıştırılamaz ancak okunur ve yorumlanabilirler. Bir programın nasıl çalışacağını belirleyen dosyalarda buradadır. Burada yapılan yanlış düzeltmeler sistem programlarının düzgün çalışmasını engelleyebilir. Sistemin kalbi olduğundan dolayı yedekleme önceliği vardır.
/HOME = Linux çok kullanıcılı bir yapıya sahiptir. Bu işletim sistemi kullanıcıların dosyalarını başkalarının erişiminden koruduğu gibi açılan her bir kullanıcı için bir ev (Home) dizini tahsis eder. /home klasörü kullanıcıların kişisel dizinlerinin bulunduğu dizindir. Oluşturulan bu dizinde kullanıcı istediği dosyayı yaratabilir, silebilir, programların kurulumlarını ve silme işlemlerini yapabilir. Çok fazla kullanıcılı bir yapıda bu dizinin farklı bir disk bölümü olarak tutması tavsiye edilmektedir. Bir kullanıcı oluşturulurken kullanıcı dizine bazı dosyalar otomatik olarak kopyalanmaktadır. /etc/skel dosyası içerisinde bulunan dosyalar kopyalanmaktadır.
/LIB = Bu dizin altında Çekirdek Modülleri ve Sistem Kütüphaneleri bulunmaktadır. Çekirdek Modülleri sistemin açılması için önemli olup bazı donanımların tanınmasını sağlar. Sistem Kütüphaneleri ise /bin ve /sbin altındaki programların çalışması için gerekli olan C kütüphaneleridir. Bu kütüphane dosyalarının uzantısı *.so şeklindedir. Çekirde modülleri ve Aygıt sürücüleri /lib/modules/’kernel-version’ dizini altındadır. Linux altında birden çok çekirdek olabileceği için bu şekilde çekirdek sürümü ile dizinler ayrılmaktadır. Açılış zamanında hangi çekirdek seçilirse onun dizindeki modülleri yüklenir.
/LOST+FOUND = Bilgisayarımızın doğru kapanmaması durumunda bir sonraki açılışında İşletim Sistemi Dosya Sistemi Kontrolü (fsck programı ile) yaparak bilgisayarı açacaktır. Bu kontrol sonucunda bozulmuş veya kaybolmuş bir dosya bulması durumunda düzeltip bu dizine atacaktır. Her disk bölümü kendi Lost+Found dizinine sahiptir. Bu dizindeki dosyalar düzgün ise olması gereken dizinin altına tekrar kopyalanır.
/MEDIA = Disket, CD-Rom, DVD-Rom, CD/DVD-RW gibi sokülüp takılabilir dosya sistemleri bu dizine bağlanmaktadır.
/MNT = Dosya sistemlerini ve Aygıtları bağlamak için kullanılan genel bağlama noktasıdır. Bağlama işlemi Mount komutuyla yapılır.
/OPT = İşletim
sisteminin Öntanımlı kurulumu ile
gelmeyen tüm yazılım ve paketlerin kurulumu için /opt dizini tahsis edilmiştir. Ör :
Tomcat
Bu dizin Windows‘ta bulunan Program Files dizinine benzetilebilir.
Her üretici kendi program adıyla bir dizin açar ve programı buraya kurar.
/PROC = Sanal bir dosya sistemidir. Linux’un sunduğu en güçlü özelliklerden biri de /proc dosya sistemidir. Buradaki dosyalar gerçek içerik taşımaz. Çalışma zamanında çekirdek tarafından içerikler güncellenebilir. Sistem belleği, bağlanmış aygıtlar, donanım bilgisi, süreçlerin durumu gibi çekirdeğe ait bilgileri barındırır. Pek çok sistem programı bilgilerini bu dizinden alırlar. lsmod komutu /proc/modules dosyasındaki bilgileri yorumlar. Bunun gibi ‘lspci’ komutu da /proc/pci dosyasını okur.
/ROOT = Sistem yöneticisi root isimli hesapa sahiptir ve bu kullanıcının ev dizini /root dur.
/SBIN = Sistem programları (System Binary) bu dizinde bulunur. Sistem programlarının normal programlardan (/bin) farkı sistem yönetimine yönelik olmasıdır. /sbin altında bulunan programların büyük bir kısmını normal kullanıcıların çalıştırma yetkisi yoktur. Normal kullanıcıların çalıştırabildiği komutlar sistemden bilgi almaya yönelik komutlardır. mkfs disk biçimlendirme komutu, lspci, lsmod, service, sysctl, syslogd, grub, fsck, dump, init, modprobe gibi sistem komutları bu dizindedir.
/USR = Sistem üzerinde en çok yer kaplayan dizindir. Bu dizin kullanıcı için ikinci bir kök dizin olarak düşünülebilir. Bu dizin altında /usr/bin ve /usr/sbin dizinleri vardır. Sisteme sonradan kullanıcı tarafından kurulan programlar /usr‘ı kök kabul eder ve dosya sistemine yerleşirler. Bu kurulan programlardan gelen dosyalar ör: kullanıcı programları /usr/bin‘e, sistem programları /usr/sbin‘e, yapılandırma dosyaları /usr/etc veya /usr/local/etc altına yerleştirilir.
/VAR = Genel olarak değişken (Variable) veriler/dosyalar bu dizinde tutulmaktadır.
/var ve /usr‘ın ayrı bölümlerde olması sistem yönetimini kolaylaştırmaktadır. Çünkü /usr yalnız okunur şekilde bağlanılıp korunmaya alınabilir ve burada dosya eklemek veya oradaki dosyaları değiştirmek çok nadiren gerçekleşir. /var ise her saniye değişebilir. Burada log tutulması gibi sürekli yazma işlemi yapmaktadırlar.
/TMP = Geçici olarak kullanılacak dosyaların oluşturulduğu dizindir. Bütün program ve kullanıcıların bu dizine yazma yetkileri vardır. Buradaki dosyaları silmeden önce herhangi bir çalışan sürecin burayı kullanıp kullanmadığını kontrol edin. Silmeniz sonucunda program durabilir.
Bir sonraki makalemde görüşmek üzere kolaylıklar dilerim.