WSL ile kullanmak üzere tüm Linux dağıtımlarını içeri aktarma

Microsoft Store'da olmasa bile Linux için Windows Alt Sistemi'nin (WSL) içindeki herhangi bir Linux dağıtımını tar dosyasıyla içeri aktararak kullanabilirsiniz.

Bu makalede, Docker kapsayıcısı kullanarak tar dosyasını alarak WSL ile kullanmak üzere CentOS Linux dağıtımının nasıl içe aktarılacağı gösterilmektedir. Bu işlem, herhangi bir Linux dağıtımlarını içeri aktarmak için uygulanabilir.

Dağıtım için bir tar dosyası alma

İlk olarak, dağıtım için tüm Linux ikili dosyalarını içeren bir tar dosyası edinmeniz gerekir.

Bir tar dosyasını çeşitli yollarla elde edebilirsiniz; bunlardan ikisi:

  • Sağlanan tar dosyasını indirin. Alpine linux indirme sitesinin "Mini Root Filesystem" bölümünde Alpine için bir örnek bulabilirsiniz.
  • Linux dağıtım kapsayıcısı bulun ve bir örneği tar dosyası olarak dışarı aktarın. Aşağıdaki örnekte CentOS kapsayıcısı kullanılarak bu işlem gösterilmektedir.

CentOS için tar dosyası alma örneği

Bu örnekte, CentOS için tar dosyasını almak için WSL dağıtımının içinde Docker kullanacağız.

Önkoşullar

Tar dosyasını kapsayıcıdan dışa aktarın

  1. Microsoft Store'dan zaten yüklemiş olduğunuz bir Linux dağıtımı için komut satırını (Bash) açın (bu örnekte Ubuntu).

  2. Docker Desktop'ın çalıştığından emin olun (Veya WSL dağıtımında Docker yüklüyse hizmeti ile sudo service docker start başlatın)

  3. Docker içinde CentOS kapsayıcısını çalıştırın:

    docker run -t --name wsl_export centos ls /
    
  4. Kapsayıcı kimliğini bağlı c-sürücünüzdeki bir tar dosyasına aktarın:

    docker export wsl_export > /mnt/c/temp/centos.tar
    

    Yukarıdaki komutları çalıştırma örneği

  5. Kapsayıcıyı temizleme

    docker rm wsl_export
    

Bu işlem CentOS tar dosyasını Docker kapsayıcısından dışarı aktarır, böylece artık WSL ile yerel olarak kullanmak üzere içeri aktarabiliriz.

Tar dosyasını WSL'ye aktarma

Hazır bir tar dosyası aldıktan sonra komutunu kullanarak dosyayı içeri aktarabilirsiniz:

wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]
Options:
    --version <Version>
    --vhd

CentOS örneği içeri aktarma

CentOS dağıtım tar dosyasını WSL'ye aktarmak için:

  1. PowerShell'i açın ve dağıtımın depolanmasını istediğiniz bir klasör oluşturduğunuzdan emin olun.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. Tar dosyasını içeri aktarmak için komutunu wsl --import <Distro> <InstallLocation> <FileName> kullanın.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Hangi dağıtımları yüklediğinizi denetlemek için komutunu wsl -l -v kullanın.

  4. Son olarak, komutunu kullanarak wsl -d CentOS yeni içeri aktarılan CentOS Linux dağıtımınızı çalıştırın.

    WSL'de çalışan yukarıdaki komutların örneği

Varsayılan kullanıcı gibi WSL'ye özgü bileşenler ekleme

--import kullanırken, varsayılan olarak her zaman kök kullanıcı olarak başlatılırsınız. Kendi kullanıcı hesabınızı ayarlayabilirsiniz, ancak kurulum işleminin her farklı Linux dağıtımına göre biraz değişeceğini unutmayın.

İçeri aktardığımız CentOS dağıtımıyla kullanıcı hesabı ayarlamak için, önce PowerShell'i açın ve aşağıdaki komutunu kullanarak CentOS'u başlatın:

wsl -d CentOS

Ardından CentOS komut satırınızı açın. Sudo ve parola ayarı araçlarını CentOS'a yüklemek, bir kullanıcı hesabı oluşturmak ve bunu varsayılan kullanıcı olarak ayarlamak için bu komutu kullanın. Bu örnekte kullanıcı adı 'caloewen' olacaktır.

Uyarı

Kullanıcının sudo kullanmasını sağlamak için sudoers dosyasına kullanıcı adını eklemek istersiniz. komutu adduser -G wheel $myUsername kullanıcıyı myUsername tekerlek grubuna ekler. Tekerlek grubundaki kullanıcılara otomatik olarak sudo ayrıcalıkları verilir ve yükseltilmiş izin gerektiren görevleri gerçekleştirebilir.

yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername

Şimdi bu örnekten çıkmanız ve tüm WSL örneklerinin sonlandırıldığından emin olmanız gerekir. PowerShell'de şu komutu çalıştırarak yeni varsayılan kullanıcınızı görmek için dağıtımınızı yeniden başlatın:

wsl --terminate CentOS
wsl -d CentOS

Bu örneğe dayanarak şimdi [caloewen@loewen-dev]$ çıkışını göreceksiniz.

WSL'de çalışan yukarıdaki kod örneği

WSL ayarlarını yapılandırma hakkında daha fazla bilgi edinmek için bkz. .wslconfig ve wsl.conf ile ayarları yapılandırma.

Özel Linux dağıtımı kullanma

Microsoft Store'daki WSL dağıtımları gibi davranacak bir UWP uygulaması olarak paketlenmiş kendi özelleştirilmiş Linux dağıtımınızı oluşturabilirsiniz. Nasıl yapılacağını öğrenmek için bkz. WSL için Özel Linux Dağıtımı Oluşturma.