⚙️ Bir Linux Ortamı Edinmek
Bir Linux Ortamı Edinmek: WSL2 (Windows Subsystem for Linux 2) bir simülatör ya da emülatör değildir — tıpkı Docker Desktop'ın arka planda yaptığı gibi, Windows'un yanında hafif
WSL2 (Windows Subsystem for Linux 2) bir simülatör ya da emülatör değildir — tıpkı Docker Desktop'ın arka planda yaptığı gibi, Windows'un yanında hafif bir VM içinde gerçek bir Linux kernel çalıştırır. Bunu, gerçek bir uçak motoru kullanan bir uçuş simülatörü gibi düşün: kontroller oyun gibi görünür, ama fizik gerçektir. Ama şu soruyu sor: zaten Windows'ta Docker varsa WSL2'ye neden ihtiyaç var? Çünkü bir `chmod +x` komutu farklı davranıyor, container içinde bir bash script satır sonu yüzünden kırılıyor veya bir `grep` pattern kendi makinende çalışıyor ama CI'da çalışmıyor olduğunda, o Linux ortamını local'de birebir yeniden üretip adım adım incelemeye ihtiyaç duyarsın — Docker göndermek içindir, WSL2 debug etmek içindir. Java'daki benzetimle: WSL2, Linux için JVM ne ise odur — bytecode için ne kadar gerçek bir runtime ortamı sağlıyorsa, WSL2 de Linux için o kadar gerçek bir execution environment sağlar, sadece ince bir sarmalayıcı değil. QA pratiğinde bu, en pahalı hata sınıfını kapatır: kendi laptop'unda görünmez ama GitHub Actions ubuntu-latest runner'ında gece 3'te tüm nightly regression'ı bloke eden hatalar.
Windows → WSL2 (Windows Subsystem for Linux)
PowerShell'i Yönetici olarak aç ve çalıştır. Bu, WSL 2'yi ve varsayılan bir Ubuntu dağıtımını kurar. Sonrasında bilgisayarı yeniden başlat.
Kurulu Linux dağıtımlarını listeler ve bunların eski/yavaş WSL 1 değil, versiyon 2 üzerinde çalıştığını doğrular.
Ubuntu'yu başlatır. İlk çalıştırmada bir Linux kullanıcı adı ve parola oluşturman istenir — Windows hesabından ayrıdır.
Paket listesini güncelleyip kurulu paketleri yükseltir. İlk kurulumdan hemen sonra çalıştır.
Kurulumu doğrular. Beklenen çıktıda "Distributor ID: Ubuntu" ve "22.04" gibi bir versiyon numarası olmalı.
🎬 WSL2: Windows'un İçindeki Gerçek Linux
Gerçek Linux kernel (VM)
lsb_release doğrulaması
Üretilemeyen CI hatası
Sorun şu: testlerin gece 03:00'te `ubuntu-latest` üzerinde patlıyor ama senin makinen Windows — hatayı local'de üretecek bir Linux zeminin YOK.
Tek komut: `wsl --install` — PowerShell (Yönetici) içinde çalışır, WSL2'yi VE varsayılan Ubuntu dağıtımını birlikte kurar. Yeniden başlatma ister.
Kritik nokta: bu bir emülatör ya da simülatör DEĞİL. WSL2, hafif bir VM içinde GERÇEK bir Linux kernel çalıştırır — Docker Desktop'ın Windows'ta kullandığı mekanizmanın ta kendisi.