- WSL2, gerçek Linux dağıtımlarını tam çekirdek ve tam sistem çağrısı desteğiyle Windows'a entegre eder.
- Kurulum, bileşenleri etkinleştiren, çekirdeği yükleyen ve Ubuntu'yu varsayılan olarak yapılandıran wsl --install ile basitleştirilir.
- WSL2, Windows Terminal ve VS Code'un birleşimi, üretime neredeyse birebir benzeyen bir geliştirme ortamına olanak tanır.
- WSL2, Windows masaüstünün rahatlığını korurken Docker, veritabanları ve Linux araçlarının kullanımını büyük ölçüde iyileştiriyor.
Windows'ta programlıyor ancak Linux sunucularına dağıtım yapıyorsanız, muhtemelen ortam farklılıkları, yalnızca üretimde başarısız olan kütüphaneler veya düzensiz çalışan Docker ile birden fazla kez karşılaşmışsınızdır. WSL, tam da bu kabustan kaçınmak için yaratıldı ve WSL2 Microsoft nihayet hedefi tam on ikiden vurdu: Windows'a entegre edilmiş, yerel Linux'a yakın bir Linux ve ağır bir sanal makine kurmaya gerek kalmadan.
Bu, Windows 10 veya 11'de bir Ubuntu, Debian veya Kali terminali açmanıza, komutları, Docker'ı, veritabanlarını veya komut satırı araçlarını bir Linux sunucusundaymış gibi çalıştırmanıza olanak tanıdığı için binlerce geliştiricinin tercih ettiği seçenektir; ancak Windows uygulamalarınızı ve oyunlarınızı kaybetmenize gerek kalmaz. Nasıl çalıştığını, nasıl kurulacağını, WSL1'den nasıl farklı olduğunu ve günlük işlerinizde ondan nasıl en iyi şekilde yararlanabileceğinizi görelim.
WSL nedir ve bir Windows geliştiricisinin hayatını neden değiştirir?
WSL kısaltması Linux için Windows Alt SistemiGeleneksel bir sanal makineye veya çift önyüklemeye ihtiyaç duymadan Windows içinde GNU/Linux dağıtımlarını çalıştırmanıza olanak tanıyan alt sistem. Ubuntu, Debian, Kali, openSUSE, Arch (appx kullanarak) veya diğer dağıtımları yükleyebilir ve konsol araçlarını doğrudan Windows masaüstünüzden kullanabilirsiniz.
WSL1'in aksine, WSL2 Gerçek bir Linux çekirdeği kullanıyor Windows (Hyper-V ve sanal makine platformu) tarafından yönetilen hafif bir sanal makinede çalışır ve ELF64 sistem çağrılarına tam destek sağlar. WSL1, belirli görevler için hızlı ancak özellikle Docker gibi araçlarla uyumlulukta ciddi sınırlamaları olan bir sistem çeviri katmanıydı.
Web geliştiricileri, arka uç geliştiricileri, DevOps veya veri uzmanları için bu, şunları yapabileceğiniz anlamına gelir: üretim ortamına neredeyse birebir benzeyen bir ortamda çalışmak (çoğu durumda Linux olan) aynı kütüphaneleri, veritabanı yöneticilerini, kuyrukları, mesajlaşma sunucularını vb. kullanarak Windows'u terk etmeden. Klasik "benim makinemde çalışıyor" anlayışı artık geçmişte kaldı çünkü Windows'ta geliştirip tamamen farklı bir Linux dağıtımına dağıtıyorsunuz.
WSL2 tam teşekküllü bir Linux grafik masaüstü değildir GNOME veya KDE sanal makinelerine benzer şekilde, birincil arayüz terminaldir. Ancak günümüzde WSL2 üzerinde Linux GUI uygulamalarını da çalıştırabilir ve hatta makine öğrenimi veya gelişmiş grafikler gibi iş yükleri için GPU hızlandırmasından yararlanabilirsiniz. Uygulamalara uzaktan erişmeniz gerekiyorsa, şunları yapılandırabilirsiniz: Windows'ta Chrome Uzak Masaüstü.
Windows ve Linux: Klasik geliştirme ortamı sorunu
Windows, masaüstü bilgisayarlarda en çok yüklü işletim sistemi olmaya devam ediyorÜretim uygulamalarının çoğu Linux üzerinde gerçekleştirilse de bu ikilik, Windows'ta çalışan ancak uygulamalarını Linux sunucularında yöneten veya dağıtan geliştiriciler için her zaman bir çatışmaya yol açmıştır.
macOS kullanıcıları geleneksel olarak daha az sorunla karşılaştı Çünkü macOS, Unix benzeri bir temele sahip ve birçok araç Linux'a benzer şekilde çalışıyor. Bu, birçok geliştiricinin yıllar önce Mac'e geçiş yapmasının nedenlerinden biriydi: Üretime daha yakın, iyi bir terminal ve ortamlar arıyorlardı.
Büyük dönüm noktası geldi liman işçisiKonteynerler geliştirme ve dağıtım için vazgeçilmez hale geldi, ancak Windows'ta performans ve kullanıcı deneyimi oldukça zayıftı ve uyumluluk katmanları verimsizdi. WSL2, Docker'ın çok daha iyi çalıştığı bir ortam sunarak bu sorunların çoğunu çözüyor.
WSL1 ve WSL2: farklar ve neden 2. sürümü kullanmalısınız?
WSL'nin iki ana sürümü mevcuttur: WSL1 ve WSL2Her ikisi de Linux'u Windows üzerinde çalıştırmanıza izin verse de, mimarileri birinden diğerine çok değişmiş durumda ve bu durum performans ve uyumluluk açısından fark ediliyor.
- WSL1, Linux sistem çağrılarını çevirir Windows çekirdeğine. Bu, çok hızlı önyükleme süreleri ve iyi dosya entegrasyonu sağlar, ancak bazı uygulamalarla, özellikle de belirli veritabanı motorları veya tam kapasitede çalışan Docker gibi gerçek bir Linux çekirdeğine ihtiyaç duyan uygulamalarla sınırlı uyumluluğu vardır.
- WSL2, tam Linux çekirdeğine sahip hafif bir sanal makine kullanır.Windows tarafından yönetilir. Sistem çağrılarıyla tam uyumluluk, gelişmiş dosya sistemi performansı (özellikle Linux dosya sisteminde) sunar ve WSL2 üzerinde yerel Docker ve doğrudan çekirdek erişimi gibi gelişmiş özellikler sağlar.
- Her iki sürüm de bazı özellikleri paylaşıyorAvantajları arasında Windows ile entegrasyon, hızlı önyükleme süreleri, VMWare veya VirtualBox (son sürümlerde) gibi sanallaştırma araçlarıyla uyumluluk ve birden fazla dağıtım desteği yer alır. Ancak, yalnızca WSL2 tam bir Linux çekirdeği ve eksiksiz sistem çağrısı desteği sunar.
Yukarıdakilerin hepsi, Bugün önerilen seçenek WSL2'yi kullanmaktırWSL1'de kalmak için çok özel bir nedeniniz olmadığı sürece. Örneğin Docker Desktop, WSL2 ile entegre olacak şekilde tasarlanmıştır ve birçok modern kılavuz ve araç bu sürümü standart olarak kabul eder.

Windows 10 ve Windows 11'e WSL2 yükleme gereksinimleri
WSL2'yi kullanmak için nispeten yeni bir Windows sürümüne ihtiyacınız var. Genel olarak, şu koşulları karşılamanız gerekir:
- Windows 10 sürüm 2004 veya üzeri (yapı 19041+) basitleştirilmiş komutu kullanmak için
wsl --install. - Özellikle WSL2 için, Windows 10 sürüm 1903, yapı 18362 veya üzeriveya Windows 11.
- 64 bit mimariWSL2, 32-bit Windows 10'da mevcut değildir.
Buna ek olarak, BIOS'ta sanallaştırmanın etkinleştirildiğinden emin olmalısınız Ekibinizin. Aksi takdirde, şu gibi hatalarla karşılaşabilirsiniz: 0x80370102Bu mesajlar genellikle donanım sanallaştırmanın etkin olmadığını gösterir. BIOS/UEFI'ye girin, CPU veya "Sanallaştırma Teknolojisi" ile ilgili seçenekleri arayın ve etkinleştirin.
WSL2'yi wsl –install komutunu kullanarak sıfırdan yükleyin
Windows 10 ve Windows 11'in modern sürümlerinde kurulum büyük ölçüde basitleştirildi: yalnızca bir komut ve yeniden başlatma gerekiyor.
1. PowerShell'i yönetici olarak açınBaşlat menüsünde “PowerShell”i arayın, sağ tıklayın ve “Yönetici olarak çalıştır”ı seçin. Görünürse Kullanıcı Hesabı Denetimi (UAC) istemini kabul edin.
2. Tam kurulum komutunu çalıştırın:
komuta: wsl --install
Bu komut, başka hiçbir şeye dokunmanıza gerek kalmadan birkaç dahili adımı halleder:
- Gerekli isteğe bağlı bileşenleri etkinleştirin: Linux için Windows alt sistemi y Sanal makine platformu.
- İndirin ve yükleyin en son Linux çekirdeği WSL için.
- yapılandırır Varsayılan sürüm olarak WSL2.
- Varsayılan bir Linux dağıtımını indirin ve yükleyin (genellikle Ubuntu).
3. Windows sizden istediğinde bilgisayarınızı yeniden başlatın.Bu, yeni etkinleştirilen özelliklerin işlevsel hale gelmesi için gereklidir.
4. Linux dağıtımının ilk önyüklemesinde (Aksi belirtilmedikçe Ubuntu'da), dosyaların çıkarılacağı bir konsol penceresi açılacaktır. İlk çalıştırma biraz daha uzun sürer; sonraki başlatmalar genellikle neredeyse anında gerçekleşir.
WSL'de Linux dağıtımını seçme ve değiştirme
- Varsayılan olarak, komut
wsl --installgenellikle Ubuntu'yu kurar Varsayılan dağıtım olarak. Ancak, kurulum sırasında ve sonrasında farklı bir dağıtım seçebilirsiniz. - Çevrimiçi olarak mevcut dağıtımların listesini görmek içinPowerShell'i açın ve şunu yazın:
- Liste:
wsl.exe --list --online - Konsoldan belirli bir dağıtımı yüklemek için, seçeneği kullanın
-dadınızı belirterek: - Dağıtımı kurun:
wsl.exe --install -d NombreDeLaDistro - Varsayılan dağıtımı değiştirmek istiyorsanız (sadece koştuğunuzda açılan
wsl), şunları yapabilirsiniz: - Varsayılan:
wsl.exe --set-default NombreDeLaDistro - Ve eğer sadece tek seferlik belirli bir dağıtımı başlatmak istiyorsanız Varsayılanı değiştirmeden şunu kullanın:
- Zamanında lansman:
wsl.exe --distribution NombreDeLaDistro
Microsoft Store dağıtımlarına ek olarak, TAR dosyasından özel dağıtımları içe aktarmak veya paketleri yüklemek mümkündür .appx bazı durumlardaArch Linux gibi. Hatta şirket içindeki ortamları standartlaştırmak için kendi özel WSL görüntülerinizi bile oluşturabilirsiniz.

Linux kullanıcı adınızı ve parolanızı WSL'de yapılandırın
WSL ile yüklenen Linux dağıtımınızı ilk kez açtığınızdaBir UNIX kullanıcı adı ve parolası oluşturmanız istenecektir. Bu hesap, söz konusu dağıtım için varsayılan kullanıcı olacaktır.
Bu kullanıcı hakkında birkaç önemli ayrıntıyı aklınızda bulundurun:
- Windows kullanıcı hesabınızla bağlantılı değildir.; ismi farklı yapabilirsiniz (ve bu tavsiye edilir).
- Şifreyi yazdığınızda ekranda hiçbir şey görünmeyecektir. (Yıldız işareti yok). Bu, Linux'ta gayet normal olan "kör" giriş olarak bilinir.
- Bu kullanıcı o dağıtımda bir yönetici olarak kabul edilir ve kullanabilir
sudoyükseltilmiş ayrıcalıklarla komutları yürütmek için. - Her dağıtımın kendine ait bir kullanıcı grubu vardır ve şifreler; yeni bir dağıtım eklerseniz hesap oluşturma işlemini tekrarlamanız gerekecektir.
İsterseniz şifreyi değiştir Daha sonra dağıtımı açın ve şunu çalıştırın: Şifre değiştir: passwd
Dağıtım için bir kullanıcının şifresini unuttuysanız Ancak Windows'ta hala yönetici erişiminiz varsa, kontrolü şu şekilde geri alabilirsiniz:
- Yönetici olarak bir Komut İstemi veya PowerShell açın ve varsayılan dağıtımda root olarak oturum açın:
wsl -u root
Belirli bir dağıtım için:
wsl -d NombreDistro -u root - O kök terminalinin içinde, Çalıştırmak:
passwd nombre_usuariove yeni şifreyi ayarlayın. - WSL'den çıkış yapın ile
exitve kurtarılan kullanıcı hesabıyla normal şekilde tekrar oturum açın.
Linux dağıtımlarınızı Windows'ta başlatmanın ve kullanmanın yolları
Birkaç dağıtım kurduğunuzdaBunları, sizin için en uygun olana bağlı olarak, farklı şekillerde açabilirsiniz.
- Windows Terminal (önerilir). Windows Terminal, Microsoft'un modern terminal emülatörüdür. WSL'de her yeni Linux dağıtımı yüklediğinizde, Windows Terminal'de özelleştirebileceğiniz (simge, renk şeması, başlangıç komutu vb.) yeni bir profil görüntülenir. Birden fazla komut satırıyla aynı anda çalışmanın en kullanışlı yoludur.
- Başlat menüsünden. Dağıtımın adını yazabilirsiniz ("Ubuntu", "Debian", "Kali Linux"…). Üzerine tıkladığınızda doğrudan kendi konsol penceresinde açılacaktır.
- PowerShell veya CMD'den. Dağıtımın adını doğrudan yazabilirsiniz (örneğin,
ubuntu) veya genel komutu kullanın:
wslvarsayılan dağıtıma girmek için veya
wsl -d NombreDistroBelirli bir tanesine girmek için. - Windows'tan belirli bir Linux komutunu çalıştırın. Sözdizimini kullanın:
wsl
Örnek:wsl ls -la,wsl pwd,wsl datevb. Bu şekilde Windows ve Linux komutlarını aynı işlem hattında birleştirmiş olursunuz.

Windows Terminal: WSL2 için mükemmel bir arkadaş
WSL2'den en iyi şekilde yararlanmak için, şunu yüklemeye değer: Windows Terminali Microsoft Store'dan. Klasik Komut İstemi'nden veya varsayılan PowerShell penceresinden çok daha kullanışlı ve güçlü.
Windows Terminali izin verir her dağıtım için profiller oluşturunVarsayılan olarak hangi terminalin açılacağını tanımlayın (PowerShell, CMD, Ubuntu, vb.), sekmeleri, bölünmüş panelleri, farklı renk temalarını, özel yazı tiplerini, arka plan resimlerini ve gelişmiş klavye kısayollarını kullanın.
Windows'taki birçok geliştirici içinWindows Terminal + WSL2, alıştığınız Windows ortamınızdan ayrılmadan, yerel bir Linux sisteminin veya gelişmiş bir terminale sahip bir macOS'un çalışma deneyimine en yakın olan kombinasyondur.
Geliştirme ortamınızı kurma: VS Code, Visual Studio, Git ve veritabanları
WSL2 çalışır duruma geldiğinde, bir sonraki mantıksal adım şudur: favori düzenleyicinizi veya IDE'nizi entegre edin Microsoft, Visual Studio Code ve Visual Studio'nun WSL ile mükemmel bir şekilde çalışması için çok çaba sarf etti.
VS Kodu
İdeal olarak, şunu yüklemelisiniz: Uzaktan Geliştirme PaketiBu eklenti, WSL'de bulunan bir klasörü, yerel bir projeymiş gibi açmanıza olanak tanır; ancak dağıtım içinde VS Code sunucusunu çalıştırır. Sadece şunu yazın:
code .
WSL terminalinden, proje klasörünüzde, VS Code tüm ekosistemiyle birlikte o "uzak" yolu açacaktır: uzantılar, hata ayıklama, entegre terminal, vb., ancak aslında Linux'a karşı çalışacaktır.
Visual Studio
CMake kullanarak C++ projeleriniz için hedef olarak WSL'yi yapılandırmanıza olanak tanır. Hedefi IDE içinden değiştirerek Windows, WSL veya uzak makinelerde derleme ve hata ayıklama işlemleri gerçekleştirebilirsiniz.
Sürüm kontrolü açısından, Git'i WSL içinde kullanmak, onu dağıtımınızın paket yöneticisiyle yüklemek kadar basittir (örneğin, sudo apt install git (Ubuntu'da) ve kimlik bilgilerini, hariç tutma dosyalarını, satır sonlarını vb. yapılandırın. Kimlik doğrulamayı entegre etmek için Windows Kimlik Bilgisi Yöneticisi'ni de kullanabilirsiniz.
WSL'de veritabanlarını yapılandırma (MySQL, PostgreSQL, MongoDB, Redis, SQL Server, SQLite vb.) herhangi bir Linux sunucusunda yapmaya çok benzer. Hizmetleri dağıtım içinde başlatabilir veya WSL2 üzerinde Docker kapsayıcılarını kullanabilir, ardından ihtiyaçlarınıza bağlı olarak uygulamalarınızı Windows'tan veya WSL'nin kendisinden bağlayabilirsiniz.
Harici sürücüleri, GUI'yi ve dağıtımların yedeklerini yönetme
WSL2 ayrıca şunları da sağlar: harici diskleri veya USB sürücülerini bağlayın Doğrudan Linux ortamında. Diskleri komutla bağlamak için özel belgeler mevcuttur. wsl --mountBu, diğer birimlerde bulunan verilerle çalışırken size büyük esneklik sağlar.
İsterseniz Linux grafiksel uygulamalarını çalıştırın Microsoft'un GUI uygulamalarına sunduğu destek sayesinde WSL2 içinde (GUI) artık mümkün. Bu sayede, geleneksel bir sanal makineyi başlatmanıza gerek kalmadan grafiksel düzenleyicileri, tasarım araçlarını veya hafif masaüstü ortamlarını açabilirsiniz.
için yedeklemeler veya tüm dağıtımı başka bir bilgisayara taşımaWSL'de iki adet çok kullanışlı komut bulunmaktadır:
- Bir dağıtımı dışa aktar:
wsl --export NombreDistro backup-wsl.tar
Bu, tüm dosya sistemiyle birlikte bir TAR dosyası oluşturur. - Bir dağıtımı içe aktarın:
wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
Bu, söz konusu dağıtımı tüm içeriğiyle birlikte başka bir yola geri yükler ve isterseniz WSL2 kullanmasını sağlar.
Bu dışa aktarma/içe aktarma mekanizması, geliştirme ortamlarını klonlamak, bunları iş arkadaşlarınızla paylaşmak veya büyük değişiklikler yapmadan önce bir güvenlik yedeği tutmak için oldukça kullanışlıdır.
WSL2, birincil geliştirme ortamı olarak kendini kanıtlamıştır Oyun oynamaktan, belirli yazılımları kullanmaktan veya bu sistemdeki iş akışlarından vazgeçmek istemeyen, ancak programlama için gerçek bir Linux ortamına ihtiyaç duyan birçok Windows kullanıcısı için WSL2'yi denemek, çalışma şekliniz açısından oyunun kurallarını değiştirebilir.
Farklı dijital mecralarda on yıldan fazla deneyime sahip, teknoloji ve internet konularında uzmanlaşmış editör. E-ticaret, iletişim, online pazarlama ve reklam şirketlerinde editör ve içerik yaratıcısı olarak çalıştım. Ekonomi, finans ve diğer sektörlerin internet sitelerinde de yazılar yazdım. İşim aynı zamanda tutkumdur. Artık makalelerim aracılığıyla Tecnobits, Hayatlarımızı iyileştirmek için teknoloji dünyasının bize her gün sunduğu tüm haberleri ve yeni fırsatları keşfetmeye çalışıyorum.
