WSL2のインストールとWSL2環境でのUbuntuの問題点

WSL2 ソフトウェア

WSL2とLinuxディストリビューションのインストール方法とWSL2で動作させているUbuntuで発生した問題点と修正方法について紹介します。

WSL2とは

WSL (Windows Subsystem for Linux) とは、Windows上でLinuxを動作させるための実行環境です。現在はバージョン2になっており、WSL2からGPUへのアクセスが可能になりました。

WSL2とLinuxディストリビューションのインストール

PowerShellまたはコマンドプロンプトを管理者権限で開きます。

wsl --install

このコマンドでWSL2とLinuxディストリビューション(デフォルトだとUbuntu)がインストールされます。

インストールが完了したらシステムを再起動してください。インストールしたLinuxディストリビューションはアプリとして追加されているのでスタートメニューから起動することができます。

Linuxディストリビューションのアカウント作成

Linuxディストリビューションを初めて起動するとユーザーアカウントを設定します。作成したアカウントは、そのLinuxディストリビューションの規定のユーザー(管理者)となり起動時に自動的にサインインされます。

WSL2 Ubuntu アカウント作成

ユーザー名とパスワードを設定します。パスワードは入力しても画面には何も表示されないので注意してください。

Linuxディストリビューションの追加・削除

PowerShellまたはコマンドプロンプトを管理者権限で開きます。

インストールできるLinuxディストリビューションの一覧

wsl --list --online

Linuxディストリビューションを追加でインストール(例 Debian)

wsl --install -d Debian

インストールされているLinuxディストリビューションの一覧

wsl --list --verbose

Linuxディストリビューションの停止(例 Debian)

wsl --terminate Debian

Linuxディストリビューションの解除(例 Debian)

wsl --unregister Debian

登録を解除すると関連付けられているすべてのデータは削除されます。アプリを再度起動するとユーザーアカウントの設定からになります。アプリも不要な場合はアンインストールしてください。

WSL2のUbuntuの使い方

アプリからUbuntuを起動します。GUIはなく基本的にコマンドでの操作になります。

フォルダの移動

カレントディレクトリ(現在いるディレクトリ)の確認

pwd

カレントディレクトリ内にあるファイルの一覧を表示

ls

カレントディレクトリ内のフォルダへ移動(例 Downloadフォルダへ移動)

cd Download

現在のユーザーのホームディレクトリへ移動

cd

Windowsのエクスプローラーからも\\wsl$で中身を確認できます。

初期セットアップ

最新のパッケージ情報をリポジトリから取得

sudo apt update

インストール済みのパッケージを最新のバージョンにアップグレード

sudo apt upgrade

開発ツールやライブラリ、コンパイラなどの主要なビルドツールをインストール

sudo apt install build-essential

WSL2でのUbuntuの問題点

libcuda.so.1 is not a symbolic link

WSL2でsudo apt upgradeを実行する”libcuda.so.1 is not a symbolic link”と警告が出る問題について以下で議論されています。

これらはCUDA関連のビルドや実行で問題が起こる可能性があります。いくつかの回避策が提案されておりそのひとつを紹介します。

/etc/wsl.confに ldconfig = falseを追加

echo -e "[automount]\nldconfig = false" | sudo tee -a /etc/wsl.conf

/usr/lib/wsl/lib2フォルダを作成

sudo mkdir /usr/lib/wsl/lib2

/usr/lib/wsl/lib内のファイルに対して/usr/lib/wsl/lib2にシンボリックリンクを作成

sudo ln -s /usr/lib/wsl/lib/* /usr/lib/wsl/lib2

/etc/ld.so.conf.d/ld.wsl.confファイルに/usr/lib/wsl/lib2のパスを追加

echo /usr/lib/wsl/lib2 | sudo tee /etc/ld.so.conf.d/ld.wsl.conf

ld: cannot find -lcuda: No such file or directory

lcudaが見つからずtiny-cuda-nnのビルドに失敗します。

環境変数の設定で以下のパスを追加してください。(cudaのバージョンは自身の環境に合わせてください)

export LIBRARY_PATH="/usr/local/cuda-12.3/lib64/stubs:$LIBRARY_PATH"

WSL環境ではほかにもさまざまな問題起こる可能性があるかもしれません。GPUを活用したアプリケーションの利用には、完全なLinux環境を構築するのがよいかと思います。

タイトルとURLをコピーしました