WSL Kurulumu: Windows'ta Linux
Windows'a WSL 2 ve Ubuntu kurup gerçek bir Linux geliştirme ortamı hazırlamayı, VS Code ve Docker ile bağlamayı ve sık hataları çözmeyi anlatıyoruz.

WSL kurulumu için PowerShell'i yönetici olarak açıp wsl --install komutunu çalıştırırsınız. Komut gerekli Windows özelliklerini açar, WSL 2 çekirdeğini ve varsayılan olarak Ubuntu dağıtımını indirir. Bilgisayarı yeniden başlattıktan sonra Ubuntu açılır, Linux kullanıcı adı ve parolası belirlersiniz; wsl -l -v ile kurulumu doğrularsınız.
WSL Nedir, Ne İşe Yarar?
WSL (Windows Subsystem for Linux), Türkçe adıyla Windows Linux alt sistemi, Windows içinde gerçek bir Linux ortamı çalıştırmanızı sağlayan Microsoft özelliğidir. Sanal makine kurmadan, çift önyükleme yapmadan Ubuntu terminali açar; apt ile paket kurar, bash betiklerini çalıştırırsınız.
Web geliştirmede sunucuların büyük çoğunluğu Linux çalıştırır. Projeyi geliştirdiğiniz ortamın yayın sunucusuna benzemesi, yalnızca canlıda ortaya çıkan dosya yolu, izin ve büyük küçük harf hatalarını baştan önler. Node.js, Python, PHP, Ruby ve veritabanı araçlarının çoğu Linux'ta daha sorunsuz kurulur.
WSL 1 ile WSL 2 Farkı
WSL 2, hafif bir sanal makine içinde gerçek Linux çekirdeği çalıştırır. Bu sayede Docker gibi çekirdek özelliği isteyen araçlar çalışır ve Linux dosya sistemi içindeki işlemler çok hızlıdır. WSL 1 ise Linux çağrılarını Windows'a çevirir; Windows dosyalarına erişimde bazen daha hızlıdır ama uyumluluğu daha düşüktür. Yeni kurulumlarda varsayılan sürüm WSL 2'dir ve çoğu kullanıcı için doğru tercih budur.
Önkoşullar
WSL yalnızca Windows'a özgü bir özelliktir; macOS ve Linux kullanıcılarının buna ihtiyacı yoktur, çünkü bu sistemlerde Unix tabanlı terminal zaten hazırdır. Windows tarafında birkaç koşul gerekir.
- Windows 11 ya da Windows 10 sürüm 2004 (derleme 19041) veya üzeri; sürümünüzü winver komutuyla görebilirsiniz.
- BIOS/UEFI ayarlarında sanallaştırma (Intel VT-x ya da AMD-V/SVM) açık olmalı. Görev Yöneticisi'nin Performans sekmesinde CPU altında Sanallaştırma: Etkin yazısını kontrol edin.
- Yönetici yetkisine sahip bir kullanıcı hesabı.
- Dağıtım ve araçlar için birkaç GB boş disk alanı.
Tek Komutla WSL 2 Kurulumu
Başlat menüsünde PowerShell'e sağ tıklayıp Yönetici olarak çalıştır seçeneğini kullanın. Aşağıdaki komut WSL ve Sanal Makine Platformu özelliklerini açar, Linux çekirdeğini indirir ve Ubuntu'yu kurar.
- Kurulum bitince bilgisayarı yeniden başlatın.
- Açılışta Ubuntu penceresi kendiliğinden gelir ve dosyaları açar; birkaç dakika sürebilir.
- Linux kullanıcı adı ve parolası belirleyin. Bu hesap Windows hesabınızdan bağımsızdır; sudo komutlarında bu parola istenir.
- Paket listesini güncelleyip sistemi yükseltin.
wsl --installİlk Güncelleme ve Doğrulama
Ubuntu terminalinde paketleri güncelleyin, ardından PowerShell'de kurulu dağıtımları ve sürümlerini listeleyin. VERSION sütununda 2 görüyorsanız WSL 2 çalışıyor demektir.
sudo apt update && sudo apt upgrade -ywsl -l -v
wsl --statusDağıtım Seçmek ve Yönetmek
Varsayılan dağıtım Ubuntu'dur ama Debian, openSUSE ve başka dağıtımlar da kurulabilir. Windows'ta Ubuntu çalıştırmak çoğu öğretici ve dokümantasyonla birebir uyumlu olduğu için başlangıçta en rahat yoldur.
- wsl --list --online kurulabilecek dağıtımları listeler.
- wsl --set-version, WSL 1 ile kurulmuş bir dağıtımı WSL 2'ye taşır.
- wsl --shutdown tüm dağıtımları ve WSL sanal makinesini kapatır; ayar değişikliklerinden sonra gereklidir.
- Bir dağıtımı yedeklemek için wsl --export, geri yüklemek için wsl --import kullanılır.
wsl --list --online
wsl --install -d Debian
wsl --set-default Ubuntu
wsl --set-default-version 2
wsl --set-version Ubuntu 2
wsl --update
wsl --shutdownDosyalar Nerede Durmalı?
WSL'de iki dosya sistemi yan yana yaşar. Windows diskleri Linux içinden /mnt/c gibi yollarla görünür; Linux dosyaları ise Windows Gezgini'nde \\wsl.localhost\Ubuntu adresinden açılır. Gezgin'de kolay erişim için Ubuntu terminalinde explorer.exe . yazabilirsiniz.
Altın kural şudur: proje dosyalarını Linux dosya sisteminde (örneğin /home/kullanici/projeler) tutun. /mnt/c altında çalışan npm install, git status ya da derleme komutları, iki sistem arasındaki çeviri nedeniyle belirgin biçimde yavaşlar ve dosya izleme (hot reload) bazen hiç çalışmaz. Geliştirme ortamının hızı, hız ve performans yönetimi gibi yayın tarafındaki çalışmalar kadar ekip verimliliğini etkiler.
VS Code, Git ve Docker Bağlantısı
WSL'i asıl güçlü kılan, Windows'taki araçlarla birlikte çalışmasıdır. Kod editörü Windows'ta açılır ama komutlar, eklentiler ve terminal Linux içinde çalışır.
VS Code
VS Code'a Microsoft'un WSL eklentisini kurun. Ubuntu terminalinde proje klasörüne girip code . yazdığınızda editör WSL modunda açılır; sol altta bağlantı göstergesi görünür.
Git
Git'i Linux içinde ayrıca yapılandırın; Windows'taki Git ayarları WSL'e geçmez. Ayrıntılı ayarlar için Git kurulumu rehberimize bakabilirsiniz.
sudo apt install git -y
git config --global user.name 'Ad Soyad'
git config --global user.email ad@ornek.com
git config --global core.autocrlf inputDocker
Docker Desktop, ayarlarında WSL 2 tabanlı motoru kullanır ve seçtiğiniz dağıtımlarla entegre olur; bu sayede docker komutlarını Ubuntu terminalinden çalıştırırsınız. Adımlar Docker kurulumu yazısında yer alıyor. Veritabanını konteyner yerine doğrudan Ubuntu'ya kurmak isterseniz PostgreSQL kurulumu rehberindeki Linux adımları WSL'de aynen çalışır.
WSL'de Tipik Bir Geliştirme Akışı
Kurulum bittikten sonra günlük çalışma birkaç adımlık bir düzene oturur. Ubuntu terminalini açar, ev dizinindeki proje klasörüne girer, code . ile editörü başlatırsınız. Node.js'i nvm ile, Python'u venv ile, veritabanını apt ya da Docker ile kurarsınız; hepsi canlı sunucudaki Linux ortamıyla aynı komutlarla çalışır.
Bu düzen özellikle birden fazla sistemin konuştuğu projelerde fark yaratır. Örneğin bir mağazanın stok, kargo ve muhasebe servisleriyle haberleşen entegrasyon kodlarını yerelde Linux üzerinde test etmek, yayına çıkınca karşılaşılacak sürprizleri azaltır. Rezervasyon ya da ilan yönetimi gibi sektörel yazılım çözümleri de çoğunlukla Linux sunucularda çalıştığı için aynı ortamda geliştirilip denenir.
Ekip olarak çalışıyorsanız herkesin aynı dağıtımı ve aynı araç sürümlerini kullanması, çalışıyor ama bende değil sorunlarının önüne geçer. Kurulum adımlarını bir README dosyasına ya da kurulum betiğine yazmak yeni gelen birinin ortamı dakikalar içinde hazırlamasını sağlar.
Bellek ve Kaynak Ayarı
WSL 2 ihtiyaç duydukça bellek kullanır ve uzun çalışmalarda Windows'u yavaşlatabilir. Sınır koymak için Windows kullanıcı klasörünüzde (C:\Users\kullanici) .wslconfig dosyası oluşturun. Değişiklikten sonra wsl --shutdown ile WSL'i yeniden başlatın.
[wsl2]
memory=4GB
processors=2Sık Hatalar ve Çözümleri
WSL kurulum hatalarının çoğu sanallaştırmanın kapalı olmasından ya da eksik Windows bileşenlerinden kaynaklanır. Hata kodunu not alıp aşağıdaki tabloyla karşılaştırın.
| Hata | Neden | Çözüm |
|---|---|---|
| 0x80370102 | Sanallaştırma kapalı | BIOS/UEFI'de VT-x ya da SVM'yi açın |
| 0x8007019e | WSL özelliği etkin değil | Komutu yönetici PowerShell'de tekrar çalıştırın veya özelliği elle açın |
| wsl --install yalnızca yardım metni gösteriyor | WSL zaten kurulu | wsl --list --online ve wsl --install -d Ubuntu kullanın |
| İnternet yok, apt çalışmıyor | VPN ya da DNS çakışması | VPN'i kapatıp deneyin, wsl --shutdown sonrası yeniden açın |
| Proje çok yavaş | Dosyalar /mnt/c altında | Projeyi Linux ev dizinine taşıyın |
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartSık Sorulan Sorular
01WSL kurmak Windows'u yavaşlatır mı?
WSL yalnızca kullandığınızda kaynak tüketir; kapalıyken etkisi yok denecek kadar azdır. Uzun çalışmalarda bellek kullanımı artabilir, bunu .wslconfig ile sınırlayabilirsiniz. Ayrıca wsl --shutdown komutu kaynakları hemen serbest bırakır.
02WSL ile grafik arayüzlü Linux uygulaması çalışır mı?
Windows 11 ve güncel Windows 10 sürümlerinde WSLg desteğiyle grafik arayüzlü Linux uygulamaları doğrudan Windows masaüstünde açılabilir. Geliştirme işlerinin çoğunda buna gerek kalmaz; terminal ve VS Code yeterlidir.
03WSL bir sunucunun yerini tutar mı?
Hayır. WSL bir geliştirme ortamıdır; bilgisayar kapanınca durur ve dışarıdan erişim için tasarlanmamıştır. Canlı site ya da uygulama için gerçek bir sunucu veya bulut ortamı kullanılmalıdır.
04WSL'i tamamen kaldırabilir miyim?
Evet. Önce wsl --unregister ile dağıtımları silin; bu işlem içindeki tüm dosyaları kalıcı olarak siler. Ardından Windows özelliklerinden WSL ve Sanal Makine Platformu'nu kapatabilirsiniz.
WSL kurulumu, Windows kullanan bir geliştiriciye yayın sunucusuyla aynı dili konuşan bir çalışma ortamı kazandırır. İşletmeniz için geliştirilmiş, Linux sunucularda güvenle çalışan sektörel yazılım çözümleri arıyorsanız ürünlerimizi inceleyin; özel bir web tasarımı ya da entegrasyon projesi için iletişim sayfamızdan bize ulaşın.


