03-dev-disk · Kullanım Kılavuzu
Amaç
Geliştirme makinesinde sessizce biriken çöpü önce ölçer, sonra isterseniz temizler: Docker build cache, sarkan imajlar, eski snap sürümleri, journald kayıtları, APT önbelleği ve çöp kutusu.
Docker’la ve kind/Multipass gibi araçlarla çalışan bir makinede bu birikim hızlıdır — tipik olarak birkaç GB.
Güvenlik ilkesi
Bu modül, yıkıcı olabilecek şeyleri varsayılan olarak yapmaz:
| Kategori | Davranış | Neden |
|---|---|---|
| Build cache, sarkan imajlar | Silinir | Yeniden üretilir, kayıp yok |
| APT önbelleği, journald, eski snap’ler, çöp kutusu | Silinir | Yeniden indirilir / eski kayıt |
| Docker volume’ları | Asla silinmez — yalnızca raporlanır | İçinde veritabanı/uygulama verisi olabilir |
| Konteynerler (durmuş olanlar dahil) | Dokunulmaz | Sizin işinize yarıyor olabilir |
| Kullanılmayan imajlar | Yalnızca disk-clean-all ile |
Yerel build’ler yeniden build gerektirir |
Sarkan volume’lar için script size komutu gösterir ama silmeyi size bırakır —
docker volume prune‘un geri dönüşü yoktur ve durmuş bir veritabanı konteynerinin
verisi orada olabilir.
Make hedefleri
| Hedef | Açıklama |
|---|---|
make disk-report |
Neyin ne kadar yer kapladığını gösterir, hiçbir şey silmez |
make disk-clean |
Güvenli temizlik (yeniden üretilebilir olanlar) |
make disk-clean-all |
Yukarıdakiler + kullanılmayan tüm Docker imajları |
Parametreler
| Değişken | Varsayılan | Anlamı |
|---|---|---|
DRY |
— | DRY=1: hiçbir şey silmez, ne yapılacağını komutlarıyla gösterir |
YES |
— | YES=1: onay sorusunu atlar |
DISK_JOURNAL_KEEP |
7d |
journald’de saklanacak süre |
DISK_SNAP_RETAIN |
2 |
snap’te saklanacak sürüm sayısı |
DISK_NO_SUDO |
— | DISK_NO_SUDO=1: sudo gerektiren adımları (APT, snap, journald) atlar |
Çalıştırma
1. Önce ölç
make disk-report
KATEGORI KAZANC NOT
──────────────────────────────────────────────────────────────────────────────
Docker build cache 3.6 GiB guvenli - yeniden uretilir
Docker sarkan imajlar 0 MiB guvenli - etiketsiz artiklar
journald kayitlari 347 MiB 7d oncesi silinir
APT paket onbellegi 10 MiB guvenli - yeniden indirilir
Eski snap surumleri 176 MiB guvenli - son 2 surum kalir
Cop kutusu 1 MiB guvenli
──────────────────────────────────────────────────────────────────────────────
TOPLAM 4.1 GiB guvenli temizlik
Ayri degerlendirilenler
──────────────────────────────────────────────────────────────────────────────
Kullanilmayan imajlar 2.5 GiB yeniden build gerekir
Sarkan volume'lar 4.7 GiB VERI KAYBI RISKI - silinmez
2. Ne olacağını gör (kuru çalışma)
make disk-clean DRY=1
Tek bir şey silmeden, çalıştırılacak komutları tek tek listeler:
▸ Docker
[kuru] Build cache temizleniyor
docker builder prune -f
[kuru] Sarkan imajlar temizleniyor
docker image prune -f
▸ Sistem (sudo gerekir)
[kuru] APT onbellegi temizleniyor
sudo apt-get clean
[kuru] journald 7d oncesine kadar kirpiliyor
sudo journalctl --vacuum-time=7d
[kuru] Eski snap siliniyor: spotify (rev 97)
sudo snap remove spotify --revision=97
3. Temizle
make disk-clean
Önce raporu gösterir, onay ister, sonra adım adım temizler ve sonunda raporu yeniden basar — böylece ne kadar yer kazandığınızı görürsünüz.
sudo gerektiren adımlar (APT, journald, snap) için parola sorulur. İstemiyorsanız:
make disk-clean DISK_NO_SUDO=1
Geniş temizlik
make disk-clean-all
Ek olarak kullanılmayan tüm Docker imajlarını siler. Bu, yerel olarak build ettiğiniz imajları da kapsar (kendi projeleriniz); onları yeniden build etmeniz gerekir. Internet’ten gelen imajlar yeniden indirilir.
kind kullanıyorsanız kindest/node imajı da silinebilir — bu, sonraki
make kind-up çağrısını birkaç dakika yavaşlatır (imaj yeniden indirilir).
Sarkan volume’lar
Rapor bunları gösterir ama silmez. Karar vermeden önce içeriklerine bakın:
docker volume ls -f dangling=true
docker volume inspect <ad> | head -20
Örneğin durmuş bir postgres konteynerine ait volume, veritabanınızı barındırıyor
olabilir. Emin olduktan sonra:
docker volume prune # geri dönüşü yoktur
Notlar
disk-reporttamamen salt okunurdur; istediğiniz zaman çalıştırabilirsiniz.- Temizlik sonrası tekrar rapor basılır; “önce/sonra” farkını orada görürsünüz.
- Build cache silmek sonraki
docker buildişlemlerini bir kereliğine yavaşlatır (katmanlar yeniden üretilir), ama kalıcı bir kayıp değildir.