İPUCU

Linux Linux İle İlgili Bilgi Paylaşım Platformu

Seçenekler

Linux Dosya Sistemi Hiyerarşisi

CreMieu-X' - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
05/2010
Nereden:
Burbank
Mesajlar:
5.532
Konular:
4316
Teşekkür (Etti):
99
Teşekkür (Aldı):
573
Ticaret:
(0) %
02-02-2011 10:52
#1
Linux Dosya Sistemi Hiyerarşisi
Windows'tan Linux'a geçenler veya bilgisayar kullanmaya ilk olarak Linux ile başlayanlar merak edeceklerdir "Bu dosyalar nedir" diye. Her ne kadar karışık görünse de sabredip sonuna kadar okuduğunuzda tüm taşlar yerine oturmuş olacak.
Daha önce Pardus-Linux.org e-Dergi 7. Sayı'da anlatılmıştı. Dergiyi okumanızı tavsiye etmekle birlikte, sadece forumdaki başlıkları inceleyenlerin de görmesini istediğim için konu açma ihtiyacı hissettim.

---------------------------------------------------------------------------------------------------------------------

Microsoft Windows gibi bir başka işletim sisteminden, Linux'a geçen son kullanıcıların en büyük sıkıntılarından biri, dosya sistemleri arasındaki farklardır. Windows konusunda biraz tecrübeli kime sorsanız, Program Files, Windows, System32, ********s and Settings klasörleri hakkında bilgi verebilir. Ancak Unix dünyası farklıdır ve geçiş yapan kullanıcılar, hangi klasörün ne işe yaradığını, hangisinin neyle alakalı olduğunu ilk bakışta çözemez. İşin kötü tarafı, farklı dağıtımlar için, dosya sistem hiyerarşisi değişebilir. Bu yazımızda, Linux Dokümantasyon Projesi (The Linux ********ation Project) tarafından yayımlanmış Linux Dosya Sistem Hiyerarşisini baz alarak, sizlere Linux dosya sistemi hakkında bilgi vereceğiz. Eğer daha çok bilgi almak isterseniz The Linux ********ation Project web sitesini ziyaret etmenizi tavsiye ederim.

Dosya Sistemi Nedir?
Dosya sistemi, işletim sisteminin bir disk veya bölüm (partition) üzerindeki dosyaları takip edebilmesi için oluşturulmuş yöntem ve veri yapıları bütünüdür. Dosya sistemi farklı anlamlar için de kullanılıyor. Örneğin iki diski olan bir kullanıcının "iki dosya sistemim var" dediğini duymuşsunuzdur. Buna şimdilik girmeyelim. Bizi ilgilendiren Linux'taki dosya yapısı...

Linux bir Unix klonudur. Bu yüzden "Tekil Hiyerarşik Klasör Yapısı"nı benimsemiştir. * her şey / (slash) simgesiyle ifade edilen root klasöründen başlar, aşağıya doğru iner. Windows'taki gibi C: D: şeklinde sözde sürücüler (drivers) bulunmaz. Windows ortamında, dosyalarınızı C sürücüsü, D veya E sürücüsü gibi her yere koyabilirsiniz. Bu tarz dosya sistemlerine, "Hiyerarşik Yapı"lı denmektedir.

Linux, / (root) klasöründen başlayarak, boot işlemindeki önem sırasına göre klasörleri dizer. Eğer neden Windows'taki gibi \ (ters slash) işareti yerine, / (slash) işareti kullanıldığını merak edebilirsiniz; bu Linux'un Unix geleneğini takip etmesindendir. Ayrıca bu geleneğe uygun olarak küçük büyük harf duyarlılığı önemli bir konudur. Örneğin Windows'ta KLASOR_ADI ve klasor_adi aynı şeydir; fark etmez. Ama Linux'ta iki ayrı klasörden bahsediyor oluruz.

Windows'ta bir program yüklediğinizde, programa ait dosyaların büyük çoğunluğu kendi klasörüne yüklenir. Örneğin Matlab'i, C:\Program Files\Matlab adresine kurduğunuzda, ona ait yardım dosyaları, bu klasör altındadır. Fakat Linux farklı çalışır; program dökümanlarını /usr/share/doc/program_adi/ altına koyarken, man(ual) dosyaları, /usr/share/man/man[1-9] altına koyulur. Eğer varsa info dosyaları da, /usr/share/info altına atılır. Kısacası, sistem hiyerarşisine gömülen bir yapı söz konusudur. Yüklenen herhangi bir program, işletim sisteminin muhtelif yerlerine yerleşmektedir.
hiyerarşi
Linux'un popülerleşmeye başladığı 90'ların ortalarında, dağıtım geliştiriciler, dosyaları yerleştirmek için en uygun gördükleri şekilde çalıştılar; belirli bir standart yoktu. Bu birçok soruna neden oldu. Bu anarşiyi durdurmak için daha sonraları Linux Dosya Sistem Hiyerarşisi (kısaca FSSTND) belirlendi. Bizim anlatacağımız yapı da bu standart dahilinde...

Linux ve dosya sistemiyle ilgili söylenecek çok şey var; ama özet geçip son kullanıcının ihtiyacına cevap vermek daha doğru olur: "Linux'ta hangi klasör ne işe yarar?"

/ (root) :
Yukarda belirttiğimiz gibi, / (root) işletim sisteminin başlangıç noktasıdır. Bütün diğer klasörler, dosyalar, root'un 'çocuklarıdır'. Bilgisayar başlarken, ilk önce buraya bakılır ve bulunmazsa sistem başlamaz. / (root) ve /root (root kullanıcısına ait klasör) birbirinden ayrıdır. İlerki bölümde farkını açıklayacağız.

FSSTND'a göre root altındaki temel klasörler:

/bin : Olması şart komut dosyalarını içerir
/boot : Başlangıç için gerekli dosyaları bulundurur
/dev : Donanım dosyaları vardır
/etc : Sistem ayarlarını barındırır
/lib : Kütüphane dosyaları ve kernel modülleri bulunur
/media : Kaldırılabilir aygıtların (CD-Rom, Flash bellek vs...) sisteme eklendiği klasördür.
/mnt : Bir dosya sistemini geçici olarak eklemek için kullanılır.
/opt : Ekstra programların kurulması içindir
/sbin : Sistemi yöneticisiyle ilgili çalıştırabilir dosyaları tutar.
/srv : Sistemin sunduğu hizmetlerle alakalıdır
/tmp : Geçici dosyaları tutmak içindir
/usr : İkincil bir hiyerarşi
/var : Değişken verileri saklar

Günümüzde Linux dağıtımlarının büyük çoğunluğu, zaman zaman FSSTND tarafından belirlenmiş klasörlerin dışına çıkabiliyor. Bu tanıma bazen bir iki klasör eklendiğini ya da nadiren bu yapıdan bir klasörün çıkarıldığını görüyoruz. Biz gerek güncel dağıtımları, gerekse FSSTND'yi baz alarak incelememizi yapacağız. Ancak yazımızda FSSTND tarafından belirlenen bütün klasörler olmayacak. Linux dosya sistemi oldukça derin bir konu ve her şeyi anlatmaya kalkarsak, ayrı bir kitapçık yayımlamamız gerekir. Bunun yerine, son kullanıcının daha çok ilgisini çekecek ve genellikle haşır neşir olabileceği klasörleri ele alacağız.

/bin :
İşletim sisteminizi kullanmak için gereken birçok yararlı komut /bin klasörü altındadır. cat, mkdir, cp, ls, mv, rm vb. temel komutların hepsini burada bulabilirsiniz. Sistem boot ettiğinde, ilk olarak /bin klasörü çalışır hâle getirilir. Network bağlantınız olmasa ya da önemli klasörlere bir nedenden dolayı erişemeseniz bile, /bin klasöründeki komutlar n'olursa olsun çalışır. Bir sorun çıktığında, /bin klasörü altındaki komutları kullanarak sistemi onarırız.

/boot :
Boot, işletim sisteminin yüklenme evresidir. /boot klasörü, boot işlemi için gereken her şeyi içerir. Bilgisayarın başlangıç (boot) aşamasında gerekmeyen ayar ve yapılandırma dosyaları burada bulunmaz; başka klasörlerden gerektiği zamanlarda yüklenir.

/dev :
Linux'ta her şey bir dosyadır; donanım aygıtları da öyle... USB girişleri, seri ve paralel portlar, diskleriniz, cd-rom'larınız vb... bütün aygıtlar /dev klasörü altında tutulan dosyalardan ibarettir. Örneğin /dev altında bulunan hda1 dosyası, sabit diskinizi temsil eder. Ya da /dev/dsp, ses aygıtınızdır. Bunları programlar vasıtasıyla kullanırız ancak direk müdahale ekmek mümkündür.
Mesela "cat /boot/vmlinuz > /dev/dsp" yazarak Kernel'in sesini duyabilirsiniz.

Bazı Önemli Aygıt Dosyaları:
/dev/ttyS0 : Fare, modem gibi aygıtların bağlandığı seri port. (COM 1)
/dev/psaux : PS/2 girişi; fare ve klavyeler içindir.
/dev/lp0 : Paralel port (LPT 1); yazıcı, tarayıcı vs...
/dev/dsp : Birincil ses aygıtı
/dev/usb : USB aygıtları
/dev/sda : SCSI aygıtlar, Flash Bellekler, harici CD-ROM'lar vs...
/dev/scd : SCSI CD-ROM'lar
/dev/js0 : Joystick (Microsoft Türkçesiyle Eğlence Çubuğu)
as283480 Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı