Linux'ta her şey dosyadır. Metin belgelerinden donanım aygıtlarına, dizinlerden çalışan process'lere kadar sistem her şeyi dosya olarak ele alır. Bu felsefe Unix'ten miras kalmış ve Linux'un güçlü esnekliğinin temelini oluşturur.
Linux Dosya Sistemi Nedir?
Dosya sistemi, verilerin diskte nasıl organize edildiğini ve erişildiğini belirleyen yapıdır. Dosya isimleri, konumları, erişim izinleri ve metadata bilgilerini yönetir.
Linux, farklı dosya sistemi türlerini destekler. Her birinin kendine özgü özellikleri, avantajları ve kullanım alanları vardır.
Dosya Sistemi Türleri
Ext4
Linux'un varsayılan dosya sistemi. Ext3'ün geliştirilmiş versiyonu.
Özellikler: Maksimum dosya boyutu: 16 TB Maksimum bölüm boyutu: 1 EB (exabyte) Journaling desteği: Veri kaybını önler Geriye dönük uyumluluk: Ext2 ve Ext3 ile uyumlu
Kullanım alanı: Masaüstü sistemler, sunucular, genel amaçlı kullanım. Kararlı ve yaygın destek.
XFS
SGI tarafından geliştirilen, yüksek performanslı dosya sistemi.
Özellikler: 64-bit adresleme Büyük dosyalar için optimize Paralel I/O desteği Çevrimiçi defragmentasyon
Kullanım alanı: Büyük dosyalar, medya sunucuları, veritabanları. Red Hat Enterprise Linux 7'den itibaren varsayılan.
Btrfs
Oracle tarafından geliştirilen modern dosya sistemi.
Özellikler: Copy-on-Write (COW): Veri bütünlüğü sağlar Anlık görüntüler (snapshots): Sistem yedeği için ideal Dahili RAID desteği Şeffaf sıkıştırma Alt hacim (subvolume) desteği
Kullanım alanı: Gelişmiş özellikler gerektiren sistemler, openSUSE ve Fedora'da varsayılan.
ZFS
Sun Microsystems tarafından geliştirilen kurumsal sınıf dosya sistemi.
Özellikler: Veri bütünlüğü doğrulaması Dahili RAID-Z Anlık görüntüler ve klonlama Sıkıştırma ve tekilleştirme
Kullanım alanı: Veri depolama sunucuları, NAS sistemleri. Ubuntu'da opsiyonel destek.
F2FS
Samsung tarafından flash depolama için optimize edilmiş dosya sistemi.
Kullanım alanı: SSD'ler, SD kartlar, mobil cihazlar.
Linux Dizin Hiyerarşisi
Linux'ta tüm dosyalar kök dizinden (/) başlayan hiyerarşik yapıda organize edilir. Bu yapı Filesystem Hierarchy Standard (FHS) tarafından tanımlanmıştır.
Kök Dizini (/)
Tüm dosya sisteminin başlangıç noktası. Diğer tüm dizinler buradan dallanır.
/bin
Temel kullanıcı komutları. ls, cp, mv, cat gibi komutlar burada bulunur. Tüm kullanıcılar tarafından erişilebilir.
/sbin
Sistem yönetim komutları. fdisk, ifconfig, reboot gibi. Genellikle root yetkisi gerektirir.
/boot
Önyükleme dosyaları. Linux çekirdeği (vmlinuz), initramfs ve GRUB yapılandırması burada.
/dev
Aygıt dosyaları. Linux her donanımı dosya olarak temsil eder.
/dev/sda: İlk SATA/SCSI disk /dev/sda1: İlk diskin birinci bölümü /dev/tty: Terminal aygıtları /dev/null: Çöp kutusu, yazılanlar kaybolur /dev/zero: Sıfır bayt üretir
/etc
Sistem yapılandırma dosyaları.
/etc/passwd: Kullanıcı hesapları /etc/shadow: Şifreli parolalar /etc/fstab: Disk bağlama yapılandırması /etc/hosts: Yerel DNS kaydı /etc/ssh/: SSH yapılandırması /etc/nginx/: Nginx yapılandırması
/home
Kullanıcı ana dizinleri. Her kullanıcının kendi klasörü burada oluşturulur.
/home/ahmet /home/mehmet
/lib ve /lib64
Paylaşılan kütüphane dosyaları. Programların çalışması için gereken .so dosyaları.
/media
Çıkarılabilir medya bağlama noktası. USB bellekler, DVD'ler otomatik olarak buraya bağlanır.
/mnt
Geçici bağlama noktası. Manuel olarak disk veya ağ paylaşımı bağlamak için kullanılır.
/opt
Üçüncü parti uygulamalar. Dağıtım dışı yazılımlar buraya kurulabilir.
/proc
Sanal dosya sistemi. Çalışan sistem ve process bilgilerini içerir.
/proc/cpuinfo: CPU bilgisi /proc/meminfo: Bellek bilgisi /proc/[PID]/: Process bilgileri
/root
Root kullanıcısının ana dizini. Normal kullanıcılardan ayrı tutulur.
/run
Çalışma zamanı verileri. Sistem başlangıcından bu yana oluşturulan geçici dosyalar.
/srv
Servis verileri. Web sunucusu, FTP sunucusu dosyaları için önerilen konum.
/sys
Sanal dosya sistemi. Çekirdek ve donanım bilgilerine erişim sağlar.
/tmp
Geçici dosyalar. Sistem yeniden başlatıldığında temizlenir. Tüm kullanıcılar yazabilir.
/usr
Kullanıcı programları ve verileri.
/usr/bin: Kullanıcı komutları /usr/sbin: Sistem yönetim komutları /usr/lib: Kütüphaneler /usr/share: Paylaşılan veriler /usr/local: Yerel kurulumlar
/var
Değişken veriler.
/var/log: Sistem logları /var/www: Web sunucusu dosyaları /var/mail: E-posta /var/cache: Önbellek dosyaları
Disk Yönetimi
Disk Bilgisi
Diskleri listeleme:
lsblk
Disk kullanımı:
df -h
Dizin boyutu:
du -sh /home
Disk Bölümlendirme
fdisk ile bölüm oluşturma:
sudo fdisk /dev/sdb
Bölümleri listeleme:
sudo fdisk -l
Dosya Sistemi Oluşturma
Ext4 oluşturma:
sudo mkfs.ext4 /dev/sdb1
XFS oluşturma:
sudo mkfs.xfs /dev/sdb1
Disk Bağlama (Mount)
Geçici bağlama:
sudo mount /dev/sdb1 /mnt/disk
Bağlantıyı kesme:
sudo umount /mnt/disk
Kalıcı Bağlama (fstab)
/etc/fstab dosyası disk bağlamalarını kalıcı yapar.
Örnek satır:
/dev/sdb1 /mnt/veri ext4 defaults 0 2
UUID ile (önerilen):
UUID=xxxx-xxxx /mnt/veri ext4 defaults 0 2
UUID öğrenme:
sudo blkid
fstab değişikliğini test etme:
sudo mount -a
Dosya İzinleri
Linux'ta her dosyanın sahibi, grubu ve erişim izinleri vardır.
İzin Türleri
r (read): Okuma - 4 w (write): Yazma - 2 x (execute): Çalıştırma - 1
Kullanıcı Kategorileri
u (user): Dosya sahibi g (group): Grup üyeleri o (others): Diğer kullanıcılar
İzinleri Görüntüleme
ls -l dosya.txt -rw-r--r-- 1 ahmet users 1024 Mar 1 10:00 dosya.txt
İlk karakter: Dosya türü (- dosya, d dizin, l sembolik link) Sonraki 9 karakter: İzinler (3'er gruplar halinde owner, group, others)
İzin Değiştirme
Sembolik gösterim:
chmod u+x dosya.sh # Sahibine çalıştırma izni ekle
chmod go-w dosya.txt # Grup ve diğerlerinden yazma iznini kaldır
chmod a+r dosya.txt # Herkese okuma izni ekle
Sayısal gösterim:
chmod 755 script.sh # rwxr-xr-x
chmod 644 dosya.txt # rw-r--r--
chmod 600 gizli.txt # rw-------
Sahiplik Değiştirme
chown ahmet dosya.txt chown ahmet:grup dosya.txt chown -R ahmet:grup dizin/
Link Türleri
Hard Link
Aynı inode'a işaret eden farklı isim. Dosya silinse bile veri korunur.
ln dosya.txt link.txt
Sembolik (Soft) Link
Başka bir dosyaya işaret eden kısayol.
ln -s /path/to/dosya link
Sembolik linkler daha esnektir, dizinlere ve farklı dosya sistemlerine link oluşturulabilir.
Dosya Sistemi Bakımı
Dosya Sistemi Kontrolü
Ext4 için:
sudo fsck.ext4 /dev/sdb1
XFS için:
sudo xfs_repair /dev/sdb1
Disk bağlı değilken çalıştırın.
Disk Alanı Temizleme
Büyük dosyaları bulma:
find / -type f -size +100M
Eski log dosyalarını temizleme:
sudo journalctl --vacuum-time=7d
Paket önbelleğini temizleme:
sudo apt clean
Sonuç
Linux dosya sistemi yapısını anlamak sistem yönetimi için temeldir. Dizin hiyerarşisi, dosya izinleri ve disk yönetimi günlük işlerin ayrılmaz parçası.
Ext4 çoğu kullanım için yeterli ve kararlı. Gelişmiş özellikler gerekiyorsa Btrfs veya ZFS değerlendirilebilir. Büyük dosya sunucuları için XFS güçlü bir seçenek.
İzinleri doğru ayarlamak güvenlik için kritik. En az yetki prensibiyle çalışın, gerekmedikçe root kullanmayın.
0 Yorum
Yorum Yaz