はじめに
Ubuntu on WSLでUSBメモリを使いたいですか?使いたいですよね?教えます,使いましょう.
尚,レポートを保存するのに非常に便利ですが,バックアップは取りましょう.USBメモリは急に壊れます
結論
Dドライブならこうしましょう
他のドライブならd:及び/mnt/dを変更するとよいです
user:~$ sudo mount -t drvfs d: /mnt/d -o uid=$(id -u $USER),gid=$(id -g $USER),metadata
USBマウントの方法
公式ドキュメント
公式ドキュメントには以下のようにすればよいと書かれてあります.
user:~$ sudo mount -t drvfs D: /mnt/d
マウント先のディレクトリを事前に作る必要があります. (/mnt/d)
当然, これはマウントすることができます. 公式がそう言ってるんだもの.
何が問題なの❓
例えばマウントしたUSBデバイスになにかvirtual environmentでも作ってPythonで遊ぶぞ~~としたとき, なにをするでしょうか.
user:/mnt/d$ pip install hogehoge
でしょう. うーん残念ながらこれはできないです. 管理者権限がいるといわれるでしょう. いつもはそんなこと言わないのに...
これはマウント時のコマンドがsudo, 管理者権限で実行されていることに起因します. 管理者(以下root)でマウントしたフォルダ及びその配下はroot所有となります. root所有のフォルダにアクセスするには管理者権限がいるわけですね.
ほなこれでええやろ!
user:/mnt/d$ sudo pip install hogehoge
こうするとなんとCドライブのUbuntu本体にインストールされるんですね~~〇すぞ~~~
sudoコマンドにて一時的にrootになったとき,インストール先はカレントディレクトリではなくrootを指します. こうなるとvirtual environmentの意味がないですね.
結論(解決策)
こうしましょう
user:~$ sudo mount -t drvfs d: /mnt/d -o uid=$(id -u $USER),gid=$(id -g $USER),metadata
だいたいカレントユーザでマウントしているだけです.
おわりに
おわり