Linux’ta Inode Nedir?
Inode (Index Node), Linux ve Unix tabanlı sistemlerde dosya sistemi nesnelerinin (dosya, dizin, sembolik bağlantı vb.) metadata bilgilerini saklayan bir veri yapısıdır. Her dosya/dizin, benzersiz bir inode numarası (inode number) ile ilişkilendirilir.
Inode’un Sakladığı Bilgiler
Bir inode, dosyanın içeriğini değil, şu bilgileri içerir:
-
Dosya boyutu
-
Sahip kullanıcı (UID) ve grup (GID)
-
İzinler (chmod)
-
Oluşturma/Düzenleme/Erişim zamanları
-
Disk bloklarının konumu (dosya içeriği nerede depolanmış?)
-
Bağlantı sayısı (hard link sayısı)
🔍 Önemli: Dosya adı inode’da değil, dizin girişlerinde (directory entries) saklanır.
Inode Numarası Nasıl Görülür?
Bir dosyanın inode numarasını öğrenmek için:
ls -i dosya_adi.txt
1234567 dosya_adi.txt # 1234567 = inode numarası
Tüm dosyaların inode'larını listelemek için:
ls -li
Inode Kullanımını Kontrol Etme
Sistemdeki inode kullanımını görmek için:
df -i # Tüm dosya sistemlerinin inode istatistikleri
Örnek çıktı:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 1.2M 234K 986K 20% /
⚠️ "No space left on device" hatası alıyorsanız, disk alanı boş olsa bile inode sınırı dolmuş olabilir!
Inode Sınırı Neden Dolar?
-
Çok sayıda küçük dosya (örneğin, spam e-postalar, log dosyaları).
-
Silinmeyen ancak açık olan dosyalar (bir process tarafından kullanılıyorsa).
-
Dosya sisteminin inode kotası (ext4’te formatlama sırasında belirlenir).
Inode Problemi Nasıl Çözülür?
-
Kullanılmayan dosyaları silin:
find / -type f -size +100M -exec rm -f {} \; # Büyük dosyaları temizle -
Açık ama silinemeyen dosyaları bulun:
lsof +L1 # Silinmiş ancak hala açık olan dosyaları listeler -
Geçici dosyaları temizleyin:
rm -rf /tmp/* -
Dosya sistemini genişletin (yeni bir disk ekleyerek).
Inode vs Dosya Adı
-
Dosya adı: Kullanıcı dostu bir etikettir, dizin girişinde saklanır.
-
Inode: Dosyanın gerçek kimliğidir, dosya sistemi tarafından kullanılır.
💡 Hard link oluşturduğunuzda, aslında aynı inode’u işaret eden yeni bir dizin girişi eklemiş olursunuz.
Özet
-
Inode = Dosya metadata’sının tutulduğu yapı.
-
Inode numarası = Dosyanın benzersiz kimliği.
-
df -i= Inode kullanımını kontrol etmek için. -
Çözüm = Küçük/geçici dosyaları silerek inode tükenmesini önleyin.
Linux’ta her şey bir dosyadır (file, directory, device, socket), ve her dosya bir inode ile yönetilir! 🐧
![]()
