Mengimpor distribusi Linux apa pun untuk digunakan dengan WSL

Anda dapat menggunakan distribusi Linux apa pun di dalam Subsistem Windows untuk Linux (WSL), bahkan jika tidak tersedia di Microsoft Store, dengan mengimpornya dengan file tar.

Artikel ini menunjukkan cara mengimpor distribusi Linux, CentOS, untuk digunakan dengan WSL dengan mendapatkan file tar-nya menggunakan kontainer Docker. Proses ini dapat diterapkan untuk mengimpor distribusi Linux apa pun.

Mendapatkan file tar untuk distribusi

Pertama, Anda harus mendapatkan file tar yang berisi semua biner Linux untuk distribusi.

Anda dapat memperoleh file tar dengan berbagai cara, dua di antaranya meliputi:

  • Unduh file tar yang disediakan. Anda dapat menemukan contoh untuk Alpine di bagian "Mini Root Filesystem" dari situs unduhan Alpine Linux.
  • Temukan kontainer distribusi Linux dan ekspor instans sebagai file tar. Contoh di bawah ini akan menampilkan proses ini menggunakan kontainer CentOS.

Mendapatkan file tar untuk contoh CentOS

Dalam contoh ini, kita akan menggunakan Docker di dalam distribusi WSL untuk mendapatkan file tar untuk CentOS.

Prasyarat

Mengekspor tar dari kontainer

  1. Buka baris perintah (Bash) untuk distribusi Linux yang telah Anda instal dari Microsoft Store (Ubuntu dalam contoh ini).

  2. Mulai layanan Docker:

    sudo service docker start
    
  3. Jalankan kontainer CentOS di dalam Docker:

    docker run -t centos bash ls /
    
  4. Ambil ID kontainer CentOS menggunakan grep dan awk:

    dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
    
  5. Ekspor ID kontainer ke file tar pada c-drive yang dipasang:

    docker export $dockerContainerID > /mnt/c/temp/centos.tar
    

Example of running the commands above

Proses ini mengekspor file tar CentOS dari kontainer Docker sehingga kita sekarang dapat mengimpornya untuk digunakan secara lokal dengan WSL.

Mengimpor file tar ke WSL

Setelah Anda menyiapkan file tar, Anda dapat mengimpornya menggunakan perintah: wsl --import <Distro> <InstallLocation> <FileName>.

Mengimpor contoh CentOS

Untuk mengimpor file tar distribusi CentOS ke WSL:

  1. Buka PowerShell dan pastikan Anda memiliki folder yang dibuat di mana Anda ingin distribusi disimpan.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. Gunakan perintah wsl --import <DistroName> <InstallLocation> <InstallTarFile> untuk mengimpor file tar.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Gunakan perintah wsl -l -v untuk memeriksa distribusi mana yang telah Anda instal.

    Example of the above commands running in WSL

  4. Terakhir, gunakan perintah wsl -d CentOS untuk menjalankan distribusi Linux CentOS yang baru diimpor.

Menambahkan komponen khusus WSL seperti pengguna default

Secara default saat menggunakan --import, Anda selalu dimulai sebagai pengguna root. Anda dapat menyiapkan akun pengguna Anda sendiri, tetapi perhatikan bahwa proses penyiapan akan sedikit bervariasi berdasarkan setiap distribusi Linux yang berbeda.

Untuk menyiapkan akun pengguna dengan distribusi CentOS yang baru saja kami impor, pertama-tama buka PowerShell dan boot ke CentOS, menggunakan perintah :

wsl -d CentOS

Selanjutnya, buka baris perintah CentOS Anda. Gunakan perintah ini untuk menginstal alat pengaturan sudo dan kata sandi ke CentOS, membuat akun pengguna, dan mengaturnya sebagai pengguna default. Dalam contoh ini, nama pengguna akan menjadi 'caloewen'.

Catatan

Anda akan ingin menambahkan nama pengguna ke file sudoers sehingga memungkinkan pengguna untuk menggunakan sudo. Perintah adduser -G wheel $myUsername menambahkan pengguna myUsername ke grup roda. Pengguna dalam grup roda secara otomatis diberikan hak istimewa sudo dan dapat melakukan tugas yang membutuhkan izin yang ditinggikan.

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

Anda sekarang harus keluar dari instans tersebut dan memastikan bahwa semua instans WSL dihentikan. Mulai distribusi Anda lagi untuk melihat pengguna default baru Anda dengan menjalankan perintah ini di PowerShell:

wsl --terminate CentOS
wsl -d CentOS

Anda sekarang akan melihat [caloewen@loewen-dev]$ sebagai output berdasarkan contoh ini.

Example of the code above running in WSL

Untuk mempelajari selengkapnya tentang mengonfigurasi pengaturan WSL, lihat Mengonfigurasi pengaturan dengan .wslconfig dan wsl.conf.

Menggunakan distribusi Linux kustom

Anda dapat membuat distribusi Linux yang disesuaikan sendiri, yang dipaketkan sebagai aplikasi UWP, yang akan berpura-pura persis seperti distribusi WSL yang tersedia di Microsoft Store. Untuk mempelajari caranya, lihat Membuat Distribusi Linux Kustom untuk WSL.