WSL’de systemd kullanmak, herhangi bir üçüncü taraf aracı gerektirmez. İşte bilmeniz gerekenler.

Yakın zamana kadar WSL topluluğu, dağıtımlarına sistem desteği eklemek için kendi çözümlerini oluşturuyordu. Systemd konusundaki kişisel duruşunuz ne olursa olsun, bazı süreçler için kritik bir araçtır. Ancak, artık resmi olarak WSL’nin bir parçasıdır.

Sonunda sistemde olan bir şey haline geldi ve artık onu yapmak zorunda değilsiniz. Ama muhtemelen zaten istemiyorsunuz ve onu nasıl kapatacağını bilmeniz gerekiyor.

Neyse ki, WSL’de systemd’yi manuel olarak etkinleştirme ve devre dışı bırakma işlemi basittir ve bazı adımları içerir.

Systemd nedir?

Resmi olarak systemd şu şekilde tanımlanır:

“Systemd, Linux için bir dizi temel yapı taşıdır. Bir sistem yöneticisi ve PID 1 olarak çalışan ve sistemin geri kalanını çalıştıran bir hizmet sağlar.”

Basit bir deyişle, Ubuntu‘daki ek paketler gibi şeylere erişmek istiyorsanız ihtiyacınız olan şey budur. Microsoft aslında WSL’yi sistematik hale getirmek ve kullanmak için Canonical ile birlikte çalışıyor. İster çıplak donanımda ister sanal bir makinede çalıştırıyor olun, birçok Linux dağıtımı systemd kullanır. WSL’ye yapılan ekleme, Microsoft’un Linux on Windows deneyimini gerçeğe yaklaştıran başka bir işarettir.

Sistem gereksinimleri

Sistemd’ye erişmek için WSL sürüm 0.67.6 veya üzeri olmalıdır. Microsoft Store sürümünü kullanıyorsanız veya yakın zamanda bilgisayarınızda WSL kurduysanız, desteklenen bir yapıya sahip olmanız gerekir. Hangi WSL sürümünü yüklediğinizi kontrol etmek için PowerShell’i açın ve şunu yazın:

wsl --version

Desteklenen bir sürüme güncellemeniz gerekirse, bunu aynı PowerShell penceresinden şu komutu kullanarak yapabilirsiniz:

wsl --update

Varsayılan olarak, en son sürümü Microsoft Store’dan alırsınız, ancak GitHub’dan almak istiyorsanız, komutun sonuna “–web-download” ekleyebilirsiniz. Dosya ayrıca GitHub deposundan manuel olarak indirilebilir. Ubuntu Preview WSL kullanıcıları, sistemi otomatik olarak etkinleştirmiş olmalıdır.

WSL’de systemd nasıl açılır ve kapatılır?

Systemd’ye erişim yalnızca ilk kısımdır, onu kullanmak için açmanız gerekir. Dağıtımın yaratıcıları izin verdiği için bunun varsayılan olarak etkinleştirildiği zamanlar olabilir.

Ancak eğer etkin değilse, manuel olarak etkinleştirmeniz gerekir. Ve beğenmezseniz, nasıl kapatacağınızı bilmeniz gerekebilir. Tüm sihir, uzantıdan da anlaşılacağı gibi, bireysel WSL dağıtımlarınız için yapılandırma dosyası olan wsl.conf dosyası tarafından sağlanır. Bunu tüm farklı dağıtımlarınızda ayrı ayrı yapmanız gerekir, şu anda systemd global olarak yapılamaz.

Seçtiğiniz Linux dağıtımında, wsl.conf dosyasını aşağıdaki komutla açın:

sudo nano /etc/wsl.conf

Bu, Nano metin düzenleyicisini açacak ve daha önce bir yapılandırma dosyası oluşturmadıysanız boş olacaktır. Systemd’yi etkinleştirmek için aşağıdaki yönergeleri eklemeniz gerekir:

[boot]
systemd=true

Devre dışı bırakmaya çalışıyorsanız, yanlış olarak ayarlayabilir veya talimatı tamamen kaldırabilirsiniz. Bunu false olarak ayarlamak, en azından gelecekte değişmeyi kolaylaştıracaktır. Oradan dosyayı kaydedin ve çıkın (kaydetmek için CTRL + O ve çıkmak için CTRL + X tuşlarını kullanın), ardından Linux sekmesini kapatın ve PowerShell’e geri dönün. Systemd’nin çalıştığından emin olmak için WSL’yi tamamen kapatmanız, en az sekiz saniye beklemeniz ve ardından yeniden başlatmanız gerekir. Tamamen kapatmak için şu komutu kullanın:

wsl.exe --shutdown

Sekiz saniye bekledikten sonra Linux dağıtımınızı yeniden açın ve systemd şimdi çalışıyor olmalıdır. İlk başlatma biraz zaman alabilir, ancak tamamlandıktan sonra şu komutu yazarak systemd’nin çalışıp çalışmadığını kontrol edebilirsiniz:

systemctl list-unit-files --type=service

Her şeyin plana göre gittiğini varsayarsak, çalışan tüm hizmetlerin tam bir listesini oluşturacaktır. systemd etkin değilse bir hata mesajı görüntülenir.

En azından Ubuntu’da systemd’nin kurulmasının en belirgin nedenlerinden biri, paketleri kurmak için snap kullanmaktır. systemd çalışmaya başladıktan sonra, şunu yazarak Nextcloud gibi paketleri kurabilirsiniz:

sudo snap install nextcloud

Snap ile nelerin mevcut olduğunu öğrenmek istiyorsanız, snapcraft.io‘da tüm kitaplığa göz atabilirsiniz.