Rain WikiWindows · Linux · Android

Inodlar ve 'Cihazda yer kalmadı'

Kavramext4 ve benzer dosya sistemleri

Bir inod, Unix benzeri bir dosya sisteminin dosya sahibi, izinleri, boyutu ve verisinin nerede saklandığı gibi bilgilerini depolamak için kullandığı veri yapısıdır. Her dosya bir inod kullanır ve birçok dosya sisteminde sabit bir sayı bulunur; bu nedenle milyonlarca küçük dosya, df -h boş alan göstermeye devam ederken 'Cihazda yer kalmadı' hatasına neden olabilir.

1Nasıl görüldüğü

df -i, dosya sistemi başına toplam, kullanılan ve boş inodları listeler. ls -i bir dosyanın inod numarasını, stat <file> ise inod ayrıntılarını gösterir.

2Tipik nedenler

Web uygulamalarının oturum veya önbellek dizinleri, posta kuyrukları, döndürülmemiş küçük günlük dosyaları ve derleme önbellekleri milyonlarca dosya oluşturabilir.

3Dizini bulma

GNU du komutu inodları sayabilir: du --inodes -x / | sort -n | tail en çok öğe barındıran dizinleri listeler.

İnod tükenmesi nasıl giderilir

  1. Doğrulayın: df -i (IUse% %100'e yakın).
  2. Dizini bulun: sudo du --inodes -x --max-depth=3 / | sort -n | tail -20
  3. Herhangi bir şeyi silmeden önce dosyaları neyin oluşturduğunu kontrol edin.
  4. İlgili uygulamanın eski dosyalarını kendi aracıyla veya find kullanarak kaldırın; örneğin -delete seçeneği olmadan kuru bir çalıştırma yaptıktan sonra find /path -type f -mtime +7 -delete komutunu kullanın.

Dikkat

  • find komutunu her zaman önce -delete olmadan çalıştırın ve listeyi okuyun.
  • ext4 dosya sisteminin inod sayısı, dosya sistemi oluşturulduğunda sabitlenir.

Kaynaklar

  1. inode(7) man7.org
  2. df(1) man7.org
  3. du(1) man7.org
  4. find(1) man7.org

Son gözden geçirme: