NASIL:Dosyalar ve dizinler
Bu maddede, Pardus ve diğer Linux dağıtımlarının kullandığı ortak dosya sistemi yapısı, dizinlerin ne anlama geldikleri ve Windows'taki bazı dosya ve dizinlerin Linux'taki karşılıkları konularında temel ve ileri düzeyde bilgi verilmektedir.
Konu başlıkları |
Temel prensipler
Kök dizin altındaki dizinler, geçmişte Linux Dosya Sistem Hiyerarşisi (kısaca FSSTND) denilen bir standart ile belirlenmiş klasörlerdir. Günümüzde Linux dağıtımlarının büyük çoğunluğunun FSSTND tarafından belirlenmiş klasörlerin dışında kök dizine bir iki klasör daha ekledikleri ya da nadiren bu yapıdan bir klasörü çıkardıkları görülmektedir.
Her şey bir dosya
Sistemdeki her şey bir dosyadır, Buna sistemdeki aygıtlar, donanım kaynakları hatta hafızada çalışan programlar da dahildir. Linux çekirdeği örneğin bir ethernet kartına ulaşmak istediğinde /dev/eth0 dosyasına okuma yazma yapar veya bir sabit disk bölümü için /dev/sda1 dosyasını kullanır. /dev Dizini altında aygıtlar /proc dizini altında sistem kaynakları ile ilgili dosyalar bulunur. Ancak bu tür dosyalar sistem açıldığında oluşturulan ve kapandığında kaybolan dosyalardır ve sadece sistem programları tarafından erişilebilir.
Tek Kök dizin
Sistemde sadece bir tane Kök dizin vardır diğer tüm dosya ve dizinler "/" işaretiyle gösterilen kök dizinden başlayarak ağaç yapısında dallanır. Bir dizin ya da dosyanın, sistemdeki konumu, o dosya/dizinin “yol”'uyla belirtilir. Yol, kök dizininden itibaren, o dosya/dizine ulaşmak için geçilmesi gereken dizinlerin “/” işaretiyle birleştirilerek ardışık bir şekilde yazılmasıyla elde edilen ifadedir. Örneğin “/home/uludag” yolu, kök dizinindeki, home isimli dizin içindeki uludag dizininin konumunu belirtir. Bu ifadede en baştaki “/” kök dizinini belirtmektedir.
Bağlama (Mount)
Bağlama kısaca /dev dizinindeki depolama aygıtının uygun bir sürücü ve erişim izinleri ile başka bir dizinde kullanılmasını sağlamaktır. Bu güvenliği ve denetimi sağlayan, dağıtık çalışmayı kolaylaştıran bir yöntemdir.
Eğer /dev altındaki bu disk bölümlerine NTFS veya ext gibi bir aygıt sürücüsü ile ulaşılırsa içindeki dosyalar görünecektir, sistem de bu dosyalara kullanıcının erişimi için /dev/ haricindeki başka bir dizini kullanır. Bu işleme bağlama denir.
Örneğin /dev/sda1 dosyasındaki disk bölümü /mnt/sda1 dizinine NTFS sürücüsü ve uygun erişim izinleri ile bağlanırsa bu dizinden dosyalara ulaşılabilir olur, bağlama işlemi yapılmadığı sürece /mnt/sda1 dizini boş olacaktır.
Otomatik Bağlama
Sabit sürücülerin veya istenilen ağ sürücülerinin Linux açılışı sırasında bağlanabilmesi için /etc/fstab dosyası kullanılır. Açılışta otomatik bağlama ayarlarını değiştirmek için Disk Yöneticisi uygulamasını kullanabilirsiniz, bu uygulama bir Pardus Projesidir.
Çıkarılabilir aygıtlara medya takıldığında da sistemde sürekli çalışan HAL servisi tarafından takip edilir. Kullanıcı bu medyalara erişmek istediğinde bağlama /media dizinine otomatik olarak yapılır.
Tüm bunların amacı nedir?
Tüm bu tek kök dosya sistemi ve bağlama özelliklerinin amacı çok kullanıcılı ve dağıtık bir sistemi güvenli ve kolay bir şekilde kurup yönetebilmektir. Örneğin birden çok bilgisayarın olduğu bir ağda bilgisayarlardan birisindeki bir ağ dizinine /home dizini bağlanır, bir diğerine /var dizini içerisindeki e-posta sunucusunun dosyalarının olduğu dizin, bir diğerine de Web sunucusunun dosyalarının olduğu dizin bağlanabilir. Bu sayede fiziksel olarak pek çok bilgisayara dağılmış olan bir sunucu tek bir kök dosya sisteminden sanki tek bir bilgisayrmış gibi yönetilerek kullanılabilir.
Her ne kadar bu durum tek kullanıcı ve tek bilgisayardan olaşan Masaüstü kullanımı için gereksiz gibi görünse de Linux ile bir sunucunun sağladığı güvenlik özellikleri masaüstünde de kullanılabilir olmuştur.
Hangi dizin ne işe yarar?
Kök dizininde bulunan dizinlerin görevleri kısaca şöyledir:
| /bin | Olması zorunlu temel komut dosyalarını içerir (cp, mv, ls gibi..). Sistemde bir sorun meydana geldiğinde /bin klasörü altındaki komutlar kullanarak sistem onarılabilmektedir. |
|---|---|
| /boot | Açılış işlemi sırasında kullanılan dosyaları (çekirdek görüntüsü, sistem haritası, önyükleyici yapılandırması gibi..) içerir. |
| /dev | Bilgisayarınızdaki, donanımlarla (sabit diskler, fare gibi..) iletişim kurulabilmesi için gereken özel aygıt dosyalarını içerir. |
| /etc | Sistem ayarlarını barındırır, bulunduğu bilgisayara özel birçok yapılandırma bilgisini içerir. Durağandır ve çalıştırılmak için değildir. Bu dizinde çalıştırılabilir dosyalar bulunmamalıdır. |
| /home | Bu dizin altında, kullanıcıların kişisel verilerini, yapılandırmalarını kaydettikleri çalışma alanları olan ev dizinleri bulunur. /home dizini altında her kullanıcı için ayrı ayrı tahsis edilmiş kullanıcı (ev) dizinleri mevcuttur.(/home/ftpadm , /home/ogrenci gibi). |
| /lib | Çekirdek modülleri ve paylaşılan kod kütüphanelerini içerir. MS Windows'ta dll uzantısına sahip olan paylaşılan kütüphane dosyaları, Linux'ta so uzantısına sahiptir. |
| /media | Pardus'ta sistem açılışında otomatik olarak bağlanmayan sabit disk bölümleri ile kaldırılabilir aygıtlar (CD-Rom, USB bellek, vb.) bu dizin altında bir dizin açılarak bağlanmaktadır. |
| /mnt | Pardus'ta sistem açılışında otomatik olarak bağlanan sabit disk bölümleri bu dizin altında bir dizin açılarak bağlanmaktadır. |
| /opt | Sistem için zorunlu olmayan 3. parti kullanıcı programları bulunur. |
| /proc | Süreçler, sistem belleği, bağlı aygıtlar, donanım yapılandırmalarıyla ilgili bilgileri içeren özel bir “sanal” dosya sistemidir. Fiziksel dosyalar bulunmaz. Bir bilgi alma merkezi olarak görülebilir, birçok uygulama buradaki bilgilerden yararlanmaktadır. |
| /root | Sistem yöneticisinin (yani “root” kullanıcısının) ev dizinidir. |
| /usr | Tüm kullanıcılarca paylaşılan verileri (örneğin programlar, komutlar, kütüphaneler, dokümanlar gibi) içeren dizindir. |
| /var | Değişken verileri içerir (örneğin rapor dosyaları, veritabanları, kuyrukta bekleyen yazdırılacak dokümanlar gibi) |
| /tmp | Geçici dosyaları içerir. Yalnız geçici olduğu için bu dosyaları silmek tehlikeli olabilir. Ama yine de belirli zaman aralıklarında temizlenmelidir. |
Şunu özellikle belirtmek gerekir. Linux, Windows'tan farklı bir dizin hiyerarşisi izler. Windows'ta genellikle yüklenen programlar Program Files klasörü altında saklanırken Pardus'ta durum size çok daha farklı gözükecektir. Pardus'ta bir programın dosyaları aynı türdeki dosyaları saklayan gerekli klasörlere dağıtılır. Bu şekilde aradığınız bir yerelleştirme dosyasını yani programın Türkçe çalışması için yapılmış çeviri dosyasını, programın kullandığı kütüphane dosyasını yani Windows'taki (.dll) Pardus'taki (.so) dosyası ve bunun gibi belirli bir amaç için kullanılan dosyaları yerleştirilmiş oldukları kendine özgü klasörün içinde bulabilirsiniz.
Erişim izinleri
Linux sistemlerde her dizin ve dosyanın bir Sahip Kullanıcısı ve bir de Sahip Grubu vardır. Erişim izinleri de sahibi, grubu ve diğerler kullanıcıların izinleri olarak üç kategoride ayarlanabilir. Bunlardan her birisine okuma, yazma ve çalıştırma yetkileri verilebilir veya kısıtlanabilir.
Örneğin; /root dizininin sahip kullanıcısı "root", sahip grubu yine "root" olarak ayarlanmıştır. Erişim izinleri de Sahibi:Okuma-Yazma, Grubu:İzin yok, Diğerleri:İzin yok olarak ayarlanmıştır. Böylece bu dizine sadece "root" kullanıcısı erişebilmektedir.
Erişim izinlerini ayarlamak için Dosya ve dizinlerin erişim izinlerini ayarlamak maddesine bakınız.
Depolama aygıtları
Linux'ta depolama aygıtları diğerleri gibi /dev dizini altındaki bir dosyadır ve bağlama yöntemiyle ulaşılabilir.
- Pardus'ta /media dizini altına bağlanan depolama aygıtları
- Sistem açılışında otomatik bağlanmayan sabit disk bölümleri
- Çıkarılabilir depolama aygıtları (USB bellek, CD/DVD vb.)
- Pardus'ta /mnt dizini altına bağlanan depolama aygıtları
- Sistem açılışında otomatik bağlanan sabit disk bölümleri
Bağlama dizinlerinin isimleri
- /mnt Dizini altına bağlanan depolama aygıtları
- Kullanıcının Disk Yöneticisi ile tespit ettiği isimde bir dizin açılarak bağlanır. (Ayrıca Disk Yöneticisi ile /mnt haricinde farklı yerlere de bağlama işlemi yapılabilir.)
- /media dizini altına bağlanan depolama aygıtları
- Depolama biriminin etiketi dikkate alınır ve /media altına bu isimde bir dizin oluşuturulur. Eğer birimin etiketi yoksa disk, disk-1, disk2, ... gibi otomatik isimler verilir.
Bununla ilgili aşağıdaki açıklayıcı grafiği inceleyebilirsiniz. Grafikte örnek bir sistemde depolama aygıtlarının hem Windows hem de Pardus altında nasıl ve nereye bağlandığını ve hangi mantıkla adlandırıldıklarını görebilirsiniz.
İpuçları
- Pardus'da gizli dosyaları görüntülemek için Dolphin dosya yöneticisinde "Görünüm > Gizli dosyaları göster" yolu izlenir. Ayrıca Pardus'da gizli dosyaların isimlerinin başında nokta bulunmaktadır. Örneğin .Notlarım isimli dosya gizli bir dosyadır.
- Windows'ta kullanıcıların çeşitli programlarda yaptığı değişiklik ve ayarlamaların tutulduğu Documents and Settings klasörünün yerini Pardus'ta büyük oranda Ev Dizini almaktadır. Yönetici (root) kullanıcısının dosyaları ayrıcalıklı olarak root isimli dizinde yer alır.
- /home dizini altındaki kullanıcı ev dizinlerine erişim için bir kısayol vardır, şöyle ki; bir kullanıcı, kendi ev dizinindeki metin.txt adındaki bir dosyaya “~/metin.txt” yolunu kullanarak erişebilir. Yani “~” işareti her kullanıcı için, o kullanıcının ev dizinini belirtir.
- Mevcut tüm diskleri ve bölümlerini konsolda sorgulamak için yönetici olarak fdisk -l (küçük L) komutu verilir.
- Programların dil dosyaları /usr/share/locale dizininde saklanır.
- Pardus'ta (.so) yani kütüphane dosyaları diğer bir değişle Windows'ta bulunan (.dll) dosyalarının benzerleri lib ve usr/lib dizinlerinde yer alır.
- Windows’taki Program Files klasörü Pardus'ta yaklaşık olarak /usr klasörüne benzemektedir.
- Windows'ta bulunan CONFIG.SYS ve AUTOEXEC.BAT gibi sistem açılışı ve pencere sisteminin düzenini etkileyen dosyaların yer aldığı dizin /etc dizinidir.
- Geçici dosyaların yer aldığı dizinler /tmp ve /var/tmp dizinleridir.
İlgili maddeler
- Dosya ve dizinlerin erişim izinlerini ayarlamak
- Linux'ta sabit disk isimleri
- Ev dizinini taşımak
- Var dizinini taşımak
Dış bağlantılar
- Linux Dosya Sistemi Yapısı (belgeler.org)
Kaynakça
- hakanarin.blogspot.com
- PLO e-dergi (Çağatay ÇEBİ)
- Linux İlk Sorulan Sorular