🚨 Hata Sözlüğü
Hata Sözlüğü: 🎬 Bir Linux Hatasının Teşhis Zinciri CI adımı kıpkırmızı: `./deploy.sh: Permission denied`. Dosya ORADA, içeriği DOĞRU — ama çalışmıyor.
🎬 Bir Linux Hatasının Teşhis Zinciri
CI adımı kıpkırmızı: `./deploy.sh: Permission denied`. Dosya ORADA, içeriği DOĞRU — ama çalışmıyor. Bu filmde, sözlükteki her hataya uygulanabilen 5 adımlı teşhis zincirini bu vaka üzerinden izleyeceksin.
Adım 1 — mesajı PARÇALA: "Permission denied" bir sözdizimi hatası değil, bir ERİŞİM reddi. Bash dosyayı çalıştırmayı denemeden kapıda durduruldu — içerik hiç okunmadı bile.
Adım 2 — KATMANI bul: sorun izin mi, PATH mi, disk mi, ağ mı? "Permission denied" izin katmanının sesidir — script'in içeriğini düzeltmeye çalışmak yanlış katmanda kürek çekmektir.
Adım 3 — DEĞİŞTİRMEYEN komutla kanıt topla: `ls -l deploy.sh` → `-rw-r--r--`. İşte kanıt: x biti HİÇBİR seyircide yok. Teşhis artık tahmin değil, gözlem.
Adım 4 — en küçük GÜVENLİ düzeltme: `chmod u+x deploy.sh` — sadece owner'a, sadece execute. `chmod 777` de "çözerdi" — ama herkese yazma yetkisi vererek, paylaşılan CI makinesinde güvenlik deliği açarak.
Adım 5 — KANITLA: başarısız olan komutu AYNEN tekrar çalıştır. `./deploy.sh` artık çalışıyor. Hata "kayboldu" değil — ANLAŞILDI ve kökünden çözüldü.
Final — zincir: mesajı parçala → katmanı bul → değiştirmeyen kanıt → en küçük güvenli düzeltme → aynı komutla kanıtla. Java refleksinin aynısı: stack trace'te ilk satır + "Caused by" okunur, rastgele satır silinmez. Aşağıdaki sözlükteki her hata bu zincirle çözülür.
Adım Adım: Linux Hata Teşhis Refleksi
Mesajın türünü ayırt et
"Permission denied" erişim, "No such file or directory" path/isim, "command not found" PATH, "No space left on device" disk sorunudur — mesajın kendisi katmanı fısıldar.
Dört aday katman: izin (ls -l), konum/path (pwd, ls), ortam (echo $PATH, env), kaynak (df -h, free). Hata mesajının işaret ettiği TEK katmanda çalış.
Değiştirmeyen kanıt topla
Önce hiçbir şeyi bozamayan komutlar: ls -l, pwd, whoami, df -h, ss -tulpn. `sudo`, `rm`, `chmod 777` gibi kalıcı hamlelerle ASLA başlama.