Microsoft ve Canonical, Linux için Windows Alt Sistemine systemd desteği eklemek üzere bir araya gelerek daha fazla sayıda uyumlu uygulamanın yüklenmesine izin verdi.
systemd, işletim sisteminin başlatılması sırasında arka plan programlarını/hizmetleri başlatmak için sistem ve hizmet yöneticisi olarak görev yapan bir Linux yazılım uygulamasıdır. Systemd ayrıca Linux yöneticilerinin bu hizmetleri başlatıldıktan sonra kolayca yönetmesine ve denetlemesine olanak tanıyan araçları da destekler.
systemd, diğer tüm hizmetleri başlatmaktan sorumlu olduğundan, başlangıçta Linux çekirdeği tarafından oluşturulan ilk işlem (PID 1) olarak çalışır. Diğer tüm ilk başlatma hizmetleri daha sonra, Ubuntu’dan aşağıdaki işlem ağacında gösterildiği gibi systemd tarafından başlatılır ve yönetilir.
WSL şu anda sistem ve hizmet yöneticisi olarak init’i kullandığından, Snap, microk8s (Kubernetes) ve systemctl gibi systemd gerektiren Linux uygulamaları düzgün çalışmıyor.
WSL artık systemd’yi destekliyor
Dün Microsoft ve Canonical, Windows 11 Insider derlemelerinde Linux için Windows Alt Sisteminin en son önizleme sürümünün artık systemd’yi desteklediğini ve hizmet yöneticisi gerektiren uygulamaları yüklemenize izin verdiğini duyurdu.
Microsoft’tan Craig Loewen, “WSL mimarisinde sistemd gerekli değişiklikleri desteklemek. Systemd PID 1 gerektirdiğinden, Linux dağıtımı içinde başlatılan WSL başlatma işlemi, systemd’nin bir alt işlemi haline gelir” dedi. duyuru.
“WSL başlatma işlemi, Linux ve Windows bileşenleri arasındaki iletişim için altyapıyı sağlamaktan sorumlu olduğundan, bu hiyerarşiyi değiştirmek, WSL başlatma işlemiyle yapılan bazı varsayımların yeniden düşünülmesini gerektirdi.”
Bir Windows 11 Insider derlemesi çalıştırıyorsanız, aşağıdakileri kullanarak WSL 0.67.6 önizlemesine veya daha yenisine yükseltebilirsiniz. wsl --update
emretmek. Güncellemeyi bitirdikten sonra, yüklü sürümünüzü şuradan kontrol edebilirsiniz: wsl --version
komutu, aşağıda gösterildiği gibi.
Şimdi, istediğiniz WSL Linux dağıtımını başlatarak ve aşağıdaki satırları aşağıdaki satırları ekleyerek systemd’yi etkinleştirmeniz gerekir. /etc/wsl.conf:
[boot]
systemd=true
/etc klasörü root’a ait olduğundan, dosyayı düzenlemek için favori konsol düzenleyicinizle sudo kullanmanız gerekir. Örneğin, sudo vi /etc/wsl.conf
.
Bu işlemin systemd’yi etkinleştirmek istediğiniz her dağıtım için yapılması gerektiğine dikkat edilmelidir.
Şimdi WSL dağıtım pencerenizi kapatın ve Windows 11 komut satırından (Komut İstemi veya PowerShell), WSL dağıtımlarınızı wsl.exe --shutdown
emretmek.
Linux dağıtımınızı yeniden başlatın ve systemd’nin WSL için hizmet ve sistem yöneticisi olarak çalıştığını belirten PID 1 olarak çalıştığını göreceksiniz.
systemd’nin WSL’de nasıl çalıştığı ve WSL’de daha fazla uygulama çalıştırmanızı nasıl sağlayacağı hakkında daha fazla bilgi için Microsoft’tan Craig Loewen ve Canonical’dan Oliver Smith’in hazırladığı bu videoyu izleyebilirsiniz.