CodeGym /コース /Docker SELF /WindowsでLinuxを使う: WSL

WindowsでLinuxを使う: WSL

Docker SELF
レベル 1 , レッスン 2
使用可能

WindowsでLinuxを使う: WSL

1. WSLって何?

さて、面白いテーマに入るね:Windowsを基本のOSとして使いながらLinuxをどう操作するか? WSLの世界へようこそ!

WSL (Windows Subsystem for Linux) は、Microsoftが提供する技術で、LinuxディストリビューションをWindows上で直接動かせるんだ。バージョンは2つあるよ:

  • WSL1: WindowsとLinux間のシステムコールの互換性を提供する。Windowsカーネルを通じてLinuxの動作をエミュレートする方式だね。
  • WSL2: フル機能のLinuxカーネルを軽量なVM(仮想マシン)で動作させる。このため、WSL2はWSL1よりも高速で、リアルなLinuxとの互換性が高いんだ。

WSLはまるで2つの世界の妥協点みたいなものだよね:Linuxのツールを使いながら、Windowsエコシステムに留まれる。開発者にとっては大きなメリットだよ!好きなLinuxコマンドを使い、プログラミング、テスト、そしてサーバー設定ができるんだ。


2. WSLがなぜ価値があるのか?

  1. 開発とテスト: WSLを使うことで、Linux環境で作業できるよ。コンピュータの再起動や仮想マシンの使用が不要だ。
  2. Dockerとコンテナ化: WSL2はDockerをサポートしてて、コンテナを扱うのに便利だね。
  3. ファイルシステムの統合: WindowsとLinux間で簡単にファイルを共有できるよ。1つのファイルシステムでね。
  4. 簡単なセットアップ: WSLのインストールはほんの数分で終わるよ。

WSLと仮想マシンの違いは?

  • 仮想化が不要. VirtualBoxやVMware、Hyper-Vとかをインストールする必要がないんだ。WSLはシステムレベルで動作するんだよ。
  • リソース消費が少ない. WSLは通常の仮想マシンよりメモリやCPUのリソースを少なく使うよ。
  • Windowsとの統合. WindowsとLinuxのファイルを簡単に共有できるし、LinuxとWindowsコマンドを一緒に使うこともできる(!)。それに同じネットワークインターフェースも利用可能だ!

3. WSLのインストール

1. システム要件の確認

始める前に、システムが最低要件を満たしているか確認してください:

  • Windows 10 (バージョン2004以降) または Windows 11.
  • BIOS/UEFIで仮想化が有効化されていること。

Windowsのバージョンを確認するには、PowerShellを開いて以下を実行してください:

winver

次のようなウィンドウが表示されるはずです:

WindowsでPowerShellを起動する方法がわからない場合は、Win+Sを押してpowershellと入力してください。

2. WSLを有効化

管理者権限でPowerShellを開き、次のコマンドを実行してください:

wsl --install

このコマンドは自動的にWSLをインストールし、Linuxカーネルをダウンロードし、WSL2をデフォルトバージョンとして設定します。

何らかの理由でこのコマンドが動作しない場合は、Windowsの追加機能で手動でWSLを有効化することができます:

  1. 「コントロールパネル」 → 「プログラムと機能」 → 「Windowsの機能の有効化または無効化」を開きます。
  2. 以下を有効化:
    • Windows Subsystem for Linux.
    • 仮想マシンプラットフォーム.

その後、コンピュータを再起動してください。

3. ディストリビューションの選択とインストール

WSLでは、Ubuntu、Debian、Kali Linuxなどの人気のあるLinuxディストリビューションをインストールできます。利用可能なディストリビューションの一覧を表示するには、以下を実行してください:

wsl --list --online

利用可能なディストリビューションのリストが表示されます:


PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

たとえば、Ubuntuをインストールするには以下を実行してください:

wsl --install -d Ubuntu

インストール完了後、ディストリビューションを起動して設定を完了してください(例: ユーザー名とパスワードの設定など)。


3. デフォルトでWSL2を設定する

WSL2を利用するために(これ、ほんとおすすめだよ)、まずWSL2が有効になってるのを確認してね。デフォルトバージョンとしてWSL2を設定しよう:

wsl --set-default-version 2

もしすでにWSL1でディストリビューションをインストールしてたら、WSL2にアップグレードできるよ:

wsl --set-version <ディストリビューション名> 2

例:

wsl --set-version Ubuntu 2

4. WSLとWindowsの統合

WSLはWindowsと素晴らしく統合されており、両方のシステムの利点を活用できます。これが重要なポイントです:

1. ファイル共有

WSLはWindowsのファイルシステムを/mntディレクトリにマウントします。例えば:

cd /mnt/c/Users/あなたの名前

Linuxから直接Windowsのファイルを操作できます。同様に、Windowsから\\wsl$\<ディストリビューション名>のパスを使ってWSLのファイルにアクセスできます。

2. WindowsコマンドをLinuxで使用

そう、WSLから直接Windowsのコマンドを実行できます。例えば:

explorer.exe .

現在のディレクトリをエクスプローラーで開きます。

3. PowerShellでLinuxコマンドを使用

WSLを使うと、PowerShellから直接Linuxコマンドを実行することもできます。例えば:

wsl ls

5. 実際の開発でWSLを使う

ウェブサーバーの操作

NginxやApacheサーバーをWSLで起動して、Windowsのブラウザからアクセスすることができます。例えば:

1. WSLでNginxをインストール:

   sudo apt update
   sudo apt install nginx

2. サーバーを起動:

   sudo service nginx start

3. ブラウザを開いて、http://localhostにアクセスしてください。

Dockerのインストール

WSL2はDockerを完全にサポートしています。WindowsにDocker Desktopをインストールすると、自動的にWSL2と統合されます。


6. WSLで使える便利なコマンド

  • インストール済みのディストリビューションの確認:

    wsl --list --verbose
    

    インストールされているすべてのディストリビューション、そのバージョンとステータスを表示するよ。

  • すべてのディストリビューションを停止する:

    wsl --shutdown
    
  • ディストリビューションの削除(注意してね!):

    wsl --unregister <ディストリビューション名>
    
  • 特定のディレクトリでWSLを開く:

    wsl ~/
    

7. よくあるエラーとその解決方法

1. エラー:「WSL is not enabled」

もし「WSLが有効化されていない」と表示された場合は、「コントロールパネル」またはPowerShellを使って有効化したことを確認してね。また、プロセッサが仮想化をサポートしているか(BIOSで仮想化機能が有効化されているか)もチェックしてね。

2. コマンド wsl --install が動作しない

これはWindowsのバージョンが古いためかも。オペレーティングシステムを最新バージョンにアップデートしてね。

3. Dockerの起動に関する問題

使っているディストリビューションがWSL1ではなくWSL2を使用しているか確認してね。以下のコマンドで確認できるよ:

wsl --list --verbose

4. WSLからサーバーに接続できない

Windowsのfirewallが接続をブロックしていないか確認してね。


8. 実践課題

  1. WSLとUbuntuディストリビューションをインストールしてね。
  2. ディストリビューションのWSLバージョンを確認する:
    wsl --list --verbose
    
  3. WSL内のディレクトリ/mnt/c/Users/あなたの名前/Documentsにテキストファイルtest.txtを作成しよう:

    echo "こんにちは、WSL!" > /mnt/c/Users/あなたの名前/Documents/test.txt
    
  4. PowerShellでファイルの内容を確認してみよう:

    type C:\Users\あなたの名前\Documents\test.txt
    
  5. 追加課題: Nginxをインストールして起動し、ブラウザでhttp://localhostを開いてみてね。

さて、これでLinuxをWindowsで使い始めるまでの一連の流れを学んだよね。このツールを使えば、どんな作業環境でも簡単に素早くセットアップ可能だよ。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION