Linux'ta Disk Temizleme Nasıl Yapılır?
Linux sunucularda disk alanının dolması oldukça yaygın bir problemdir. Disk tamamen dolduğunda sistem performansı ciddi şekilde düşebilir ve bazı servisler çalışmayı durdurabilir.
Örneğin:
- veritabanları yazma işlemi yapamaz
- web servisleri hata vermeye başlar
- log dosyaları büyümeye devam eder
- kullanıcılar SFTP üzerinden dosya yükleyemez
Bu nedenle Linux sistem yöneticileri için disk kullanımını düzenli olarak kontrol etmek ve gereksiz dosyaları temizlemek oldukça önemlidir.
Bu rehberde Linux sistemlerde disk alanını analiz etmek ve temizlemek için kullanılan en güçlü araçları inceleyeceğiz:
- df komutu → disk doluluğunu görmek
- du komutu → klasör bazlı disk analizi
- ncdu → interaktif disk analiz aracı
Linux'ta Disk Doluluğunu Kontrol Etme (df Komutu)
Linux'ta disk kullanımını kontrol etmek için kullanılan en temel komut df komutudur.
df -h
Buradaki -h (human readable) parametresi disk boyutlarını GB ve MB formatında gösterir.
Örnek çıktı:
| Filesystem | Size | Used | Avail | Use% | Mounted on |
| /dev/sda1 | 50G | 47G | 1G | 96% | / |
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 47G 1G 96% /
Bu çıktıya göre root disk bölümü %96 doludur.
Disk Doluluğu Ne Zaman Tehlikelidir?
Genellikle şu değerler referans alınır:
| Kullanım | Durum |
| %70 | normal |
| %85 | dikkat edilmeli |
| %95+ | kritik |
Root dizini %95'i geçtiğinde sistemde ciddi performans sorunları oluşabilir.
Linux'ta En Büyük Klasörleri Bulma (du Komutu)
Diskin dolu olduğunu öğrendikten sonra ikinci adım hangi klasörün en fazla alanı kullandığını bulmaktır.
Bunun için du (disk usage) komutu kullanılır.
Örneğin bir kullanıcının klasörlerini analiz etmek için:
sudo du -sh /home/enable/* | sort -rh
Bu komutun yaptığı işlemler:
- du -sh → klasör boyutlarını özet olarak gösterir
- sort -rh → en büyük klasörü en üstte listeler
Örnek çıktı:
12G /home/enable/backups
4.5G /home/enable/logs
1.2G /home/enable/uploads
Bu sayede diski dolduran klasörleri hızlıca tespit edebilirsiniz.
ncdu ile Disk Analizi (En Pratik Yöntem)
Linux'ta disk temizleme işlemlerinde en pratik araçlardan biri ncdu'dur.
ncdu, komut satırında çalışan fakat görsel bir arayüz sunan disk analiz aracıdır.
Bu araç sayesinde klasörler arasında gezebilir ve büyük dosyaları hızlıca bulabilirsiniz.
ncdu Kurulumu
Ubuntu ve Debian sistemlerde kurulum:
sudo apt install ncdu -y
Programı çalıştırmak için:
sudo ncdu /
Program diski taradıktan sonra aşağıdaki gibi bir ekran gösterir:
--- / ---
10G /var
7G /home
2G /usr
Yön tuşlarıyla klasörler arasında gezilebilir.
ncdu Kısayollar
| Tuş | İşlev |
| ok tuşları | klasörler arasında gezinme |
| enter | klasöre girme |
| d | dosya silme |
| q | çıkış |
ncdu özellikle Linux disk temizleme işlemlerini çok hızlı hale getirir.
Linux'ta Disk Alanı Açma Teknikleri
Disk doluluğu genellikle birkaç sebepten kaynaklanır:
- log dosyalarının büyümesi
- paket önbelleği
- eski kernel dosyaları
- backup arşivleri
- container image'ları
Şimdi en etkili temizleme yöntemlerini inceleyelim.
APT Paket Önbelleğini Temizleme
Ubuntu ve Debian tabanlı sistemlerde indirilen paketler /var/cache/apt dizininde saklanır.
Bu klasör zamanla birkaç GB büyüyebilir.
Temizlemek için:
sudo apt-get clean
Gereksiz bağımlılıkları kaldırmak için:
sudo apt-get autoremove
Bu işlem genellikle yüzlerce MB disk alanı açar.
Büyük Log Dosyalarını Temizleme
Linux'ta log dosyaları genellikle /var/log dizininde tutulur.
100 MB'tan büyük log dosyalarını bulmak için:
sudo find /var/log -type f -size +100M
Log Dosyasını Silmeden Temizleme
Bir log dosyasını tamamen silmek bazı servislerde sorun yaratabilir.
Daha güvenli yöntem truncate kullanmaktır.
sudo truncate -s 0 /var/log/syslog
Bu komut dosyanın içeriğini temizler ancak dosyanın kendisini silmez.
systemd Journald Loglarını Temizleme
Systemd kullanan Linux sistemlerde loglar journald tarafından tutulur.
Bu loglar zamanla gigabaytlarca büyüyebilir.
Son 3 günden eski logları silmek için:
sudo journalctl --vacuum-time=3d
Disk kullanımını 200 MB ile sınırlamak için:
sudo journalctl --vacuum-size=200M
Inode Doluluğunu Kontrol Etme
Bazen disk doluluğu alan nedeniyle değil inode sayısı nedeniyle oluşur.
Bu durum özellikle çok sayıda küçük dosyanın olduğu sistemlerde görülür.
Kontrol etmek için:
df -i
Eğer inode %100 ise yeni dosya oluşturulamaz.
Linux Sunucularda Disk Kotası (Quota)
Birden fazla kullanıcı bulunan sunucularda disk kullanımını kontrol etmek için disk kotası (quota) sistemi kullanılabilir.
Quota sayesinde:
- kullanıcı başına disk limiti belirlenir
- disk kullanımı kontrol edilir
- tek bir kullanıcının tüm diski doldurması engellenir
Bu yöntem özellikle paylaşımlı hosting sunucularında yaygın olarak kullanılır.
Sık Sorulan Sorular (FAQ)
Linux'ta disk dolu hatası nasıl çözülür?
Linux'ta disk doluluğunu çözmek için şu adımlar uygulanır:
- df -h komutu ile disk kullanımı kontrol edilir
- du komutu ile büyük klasörler bulunur
- ncdu ile interaktif disk analizi yapılır
- log dosyaları ve paket önbelleği temizlenir
Linux'ta en büyük dosyalar nasıl bulunur?
Aşağıdaki komut en büyük dosyaları listelemek için kullanılabilir:
sudo du -ah / | sort -rh | head -20
Linux'ta disk kullanımı nasıl kontrol edilir?
Disk kullanımını görmek için şu komut kullanılır:
df -h
Sonuç
Linux sunucularda disk doluluğu sistem performansını ciddi şekilde etkileyebilir.
Bu nedenle disk kullanımını düzenli olarak kontrol etmek ve gereksiz dosyaları temizlemek önemlidir.
Bu rehberde Linux disk temizleme için üç güçlü aracı inceledik:
- df → disk doluluğunu kontrol etmek
- du → klasör bazlı analiz
- ncdu → interaktif disk analizi
Bu araçları kullanarak sunucularınızda disk alanını kolayca yönetebilir ve performans sorunlarının önüne geçebilirsiniz.