0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【やってみた】SLM+RAGでAIエージェント 2-2 WSL(Linux実行環境)の構築

0
Last updated at Posted at 2025-10-30

SLM+RAGでAIエージェントを構築する

親記事

前記事

💻 Playground:WSL(Linux実行環境)の構築

AIエージェントの実証環境となるLinux環境(WSL2)をWindows上にセットアップします。
本項で行う事は特に難しくありません。
Windows11以上であれば、ほぼどんな環境でも同じ手順で行えるはずです。

1. WSLの初期セットアップとUbuntuの導入

WSL2が未導入のPCの場合、最初にWSLを有効化し、デフォルトのUbuntuディストリビューションをインストールします。

① 管理者権限でのPowerShell起動

スタートメニューを右クリックし、「Windows PowerShell(管理者)」または「ターミナル(管理者)」を選択して起動します。

② WSLの有効化とUbuntuのインストール

以下のPowerShellコマンドを実行します。これにより、WSLが有効化され、デフォルトディストリビューションであるUbuntuがインストールされます。

PS> wsl --install

image.png

: 「PS>」は画面に自動表示されるプロンプトです。この後に続くコマンドを実行してください。
(既にUbuntuがインストールされている場合は、スキップして次に進んでください)

📌 PC再起動: インストール後、PCの再起動が必要になる場合があります。

③ Linuxユーザーアカウントの設定

再起動後、Ubuntuが自動的に起動し、ユーザー名とパスワードの設定を求められます。これらはWSL環境内でのログイン情報となります。

# wslターミナル内で以下を実行
$ account:(英数字で任意のユーザー名を入力) # これはWindowsと同じユーザー名で構いません
$ New password:(英数字で任意のパスワードを入力)
$ Retype new passowrd:(同じパスワードを入力)

このUbuntuはデフォルトのLinux環境のため、この後作る実証環境などとは別管理です。
ローカルPC等で開発をする場合、幾つもWSL環境を持ち、目的別のユーザーを作るのがパターンです。
なので、デフォルト環境には「他と重ならないユーザー名」としてPC自体のログインユーザーを用いても良し。
(目的別にユーザー名を変える、という意味では、これも固有のユーザー名を使った方が良いですが)。

passwd: password updated successfully が表示されたら成功です。

最後に $ exit コマンドでwslを抜け、ターミナルを閉じます。

④ バージョン確認とWSL 2への変換

WSLがバージョン 2 で動作していることを確認します。WSL 2はPlaygroundとして機能するために必要な、高い互換性と性能を持つ仮想化モードです。

  1. PowerShell(管理者) を再度起動し、以下のコマンドでWSLのバージョンを確認します。
    PS> wsl -l -v
    

image.png

  1. もしバージョンが 1 の場合は、以下のコマンドで 2 に変換します。
    PS> wsl --set-version Ubuntu 2
    
  2. 今後の新規インストールに備え、デフォルト値をバージョン 2 に設定します。
    PS> wsl --set-default-version 2
    

2. WSL2 インスタンスのカスタム構築とストレージ管理

初期にインストールされたUbuntuではなく、ストレージ管理が容易で、バックアップ・復元しやすいカスタムインスタンスを構築します。

① 一時ベース環境の作成とシャットダウン

コピー元とする一時的なベース環境を作成します。

  1. PowerShell(管理者) で、以下のコマンドを実行します。
    PS> wsl --install -d Ubuntu --name WD-Ubuntu-BASE
    
  2. 自動で起動後、ユーザー名とパスワードを設定します。
    今回の実証環境では「wdadmin」を全体を通じて使っています。
    ちょっと短すぎる(8文字以上推奨)感じですが、用途が分かる名前なので特に問題なし。
    (以後、実証環境にこのユーザーとパスワードがコピーされます)。
    # wslターミナル内で以下を実行
    $ account: wdadmin
    $ New password:(パスワードを入力) # 忘れないようにメモしてください
    $ Retype new passowrd:(同じパスワードを入力)
    
  3. WSLを抜け、全体をシャットダウンします。
    $ exit
    # PowerShellに戻る
    PS> wsl --shutdown
    

image.png

② ベース環境のエクスポート(イメージ化)

  1. エクスポート作業のため、格納先フォルダ(C:\WSL_Temp)を作成します。
    PS> mkdir c:\WSL_Temp
    
  2. 一時ファイルの出力先パスを設定後、ベース環境をエクスポートします。
    PS> $BaseTarPath = "C:\WSL_Temp\ubuntu_base.tar"
    PS> wsl --export WD-Ubuntu-BASE $BaseTarPath
    

image.png

③ 実証環境のインポートとストレージ設定

エクスポートしたイメージから、実証用のカスタムインスタンスを任意の場所に構築します。

  1. インポート先フォルダのパスを設定し、フォルダを作成します。こちらで実証環境を作った実機にはFドライブに大容量SSDがあるため、ここでは(F:\LLM\WSLData\WD-PC)を使用していますが、ドライブレターは適宜変更してください
    PS> $PCInstancePath = "F:\LLM\WSLData\WD-PC" # 例: C:\WSLData\WD-PCなど
    PS> mkdir $PCInstancePath
    
  2. エクスポートしたファイルから、WD-Ubuntu-PCというインスタンス名でインポートを実行します。
    PS> wsl --import WD-Ubuntu-PC $PCInstancePath $BaseTarPath # インスタンス名:WD-Ubuntu-PC(実証用)
    

    : インポート先フォルダにext4.vhdx(WSLのイメージファイル)が作成されます。
    image.png

④ デフォルトユーザーの調整

インポートしたインスタンスのデフォルトユーザーを、作成済みの wdadmin に設定します。

PS> wsl -d WD-Ubuntu-PC -e sh -c "echo '[user]\ndefault=wdadmin' | sudo tee /etc/wsl.conf"

: このコマンドでパスワードを求められたら、wdadmin のパスワードを入力してください(importでは正確なコピーが作られるため、先のwdadminユーザーもパスワードも写ります)。

⑤ バックアップ(推奨)

必須ではないのですが、作業の節目でバックアップを取得することを推奨します。

PS> $PCBackupPath = "F:\LLM\WSLData\WD-BAK" # バックアップ格納フォルダ
PS> mkdir $PCBackupPath
PS> wsl --export WD-Ubuntu-PC $PCBackupPath\WD-PC.2-2.tar

今回使用したexportでバックアップ、importで復元が可能です。
(バックアップ時は命名方法を工夫して、ファイル名が重ならないようにします:例えば「ディストリビューション名+項目番号」.tar)。

⑥ 不要になった一時環境の削除

  1. イメージファイルとディレクトリを削除します。
    PS> Remove-Item $BaseTarPath
    PS> rmdir C:\WSL_Temp
    
  2. 一時環境(ディストリビューション)の登録を解除します。
    PS> wsl --unregister WD-Ubuntu-BASE
    

以上で、この項の作業は最後です。ターミナルを閉じて完了となります。

もう少し簡単な方法もあるのですが、この手順を使った場合「Ubuntuが既にインストール済み」である場合や既に他の用途に使われている場合でも、全く同じ手順で実施できるようにしています。
(例えば、一時環境のエクスポートと、作成した空のコンテナのバックアップはコマンド上そっくりなのですが、僅かだけ構築状況が違います)


【参考】WSLで構築に使用したコマンド他、運用時に使う可能性があるコマンド類

分類 コマンド 説明
全般的な管理 wsl -l -v または wsl --list --verbose インストールされている全ディストリビューションの一覧を表示します。
wsl --shutdown 実行中の全てのディストリビューションを即座に停止します。メモリ解放や設定変更の反映に有用です。
wsl --terminate <DistroName> 特定のディストリビューションを停止します。(例: wsl --terminate WD-Ubuntu-CLI-A1
起動とアクセス wsl デフォルトのディストリビューションを起動します。
wsl -d <DistroName> または wsl --distribution <DistroName> 特定のディストリビューションを起動し、ログインします。(例: wsl -d WD-Ubuntu-CLI-A1
wsl -u <UserName> または wsl --user <UserName> 指定したユーザーとして起動します。(例: wsl -u slmuser -d WD-Ubuntu-CLI-A1
wsl --exec <Command> WSL環境内で単一のコマンドを実行し、すぐに終了します。(例: wsl --exec ls -la
環境構築 wsl --install -d <DistroName> --name <NewName> 新しいディストリビューションをインストールし、名前を付けます。
wsl --set-version <DistroName> 2 指定したディストリビューションのバージョンを WSL 2 に設定します。
wsl --set-default-version 2 新しいディストリビューションがデフォルトで WSL 2 としてインストールされるように設定します。
バックアップと移動 wsl --export <DistroName> <FilePath.tar> 指定したディストリビューション全体を、単一の .tar ファイルにエクスポート(バックアップ)します。
wsl --import <NewName> <InstallDir> <FilePath.tar> .tar ファイルから新しいディストリビューションをインポートします。ext4.vhdx の格納場所(InstallDir)を指定可能です。
削除と再構築 wsl --unregister <DistroName> 指定したディストリビューションをWSLから完全に削除します。関連する ext4.vhdx ファイルも削除されます。
ネットワーク ip addr show eth0 (WSL内) WSL環境内のIPアドレスを確認します。Windowsホストからアクセスする際に必要です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?