LoginSignup
0
0

WSL でのパーミッション設定・GPU の有効化

Posted at

はじめに

WSL2 での環境構築にあたって、表題の件でちょっと操作が必要だったりしたので、書き留めます。

環境

Windows10 22H2(OSビルド:19045.3324)
WSL2

WSL で git clone ができない(パーミッションの問題が発生する)

git clone のみならず、ファイルの書き込みなどが起きるアプリケーションを WSL 上の Docker で動かそうとするとパーミッションのエラーになるようです。
対処としては、

  • コマンドを実行する
    一時的な手段のようなので、都度実行が必要。
bash
sudo mount -t drvfs C: /mnt/c -o metadata

参考:【WSL】git fatal: could not set 'core.filemode' to 'false'になる

  • 設定ファイルに書き込んで保存する
    WSL のディストリビューションに対する設定ファイルに書き込んでおく方法。

(1)ルートユーザーで WSL に入る

(2)wsl.conf ファイルを作成する
場所に決まりがありそうなのでご注意(参考)。
wsl.conf はそのディストリビューションのみに対する設定なので、対象が複数ある場合はそれぞれで作る必要あり。

bash
sudo touch /etc/wsl.conf

(3)wsl.conf を開く

bash
vi /etc/wsl.conf

(4)編集モードに入る
i を押すと編集できるようになります。

(5)オプションを追加

[automount]
options = "metadata"

(6)ESC で編集モードから抜けて、:wq を入力してエンターする(上書き保存)

(7)WSL を再起動して、入り直す
WSL --shutdownwsl -t で一度ディストリビューションを終了後、再度 WSL に入る。

これで、パーミッション関連のエラーは出なくなると思います。
参考:WSL2上のDockerでMySQLを構築する際のpermissionsの対策

GPU を WSL 上の Docker で使えるようにする

WSL 上の Docker で、GPU を使って何かをしたい場合、そのままの状態だと下記のようなエラーが出る場合があります。

Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

この場合は、WSL のディストリビューションに NVIDIA Container Toolkit を入れる必要があります。

NVIDIA Container Toolkit のインストール

公式の手順に従ってください。
ページとしては長いですが、Docker に関しては途中から始まる Docker というタイトルが付いたセクションです。

参考
DockerでCUDA GPU環境を作る方法 自分用まとめ
WSL2+docker+GPU環境構築(win11)

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