WSL2使っていますか?
こんにちは。クリエイティブSecの長谷川です。
本日はWSL2について記事を書いていこうと思います。
なお、本記事は使ったことがない人向けに書いていますので
すでにバリバリ利用しているという人はスルーしてもらっていいかと思います。
また、本記事ではあくまで紹介レベルの内容になりますので
詳しく知りたい方は、いろいろ検索して調べてみてください。
そもそもWSLとは?
WSLとはWindows Subsystem for Linuxのことで、表題のWSL2とはそのバージョン2ということですね。
簡単にいうと、Windows上でLinux OSを動かせるよ!ということです。
もともと、Windows上でLinux OSを動かそうとするためには、VMwareやVirtualBoxなどで仮想マシンを立ち上げる必要がありましたが
WSL2ではそれらを使用せずに構築することが出来ます。
また、Windowsの設定さえ終わっているのならばUbuntuなどのOSをMicrosoft Storeから簡単にインストールできるのです。
私がWSL2を使っている理由
私の場合、WindowsアプリケーションよりはPHPやGoなどWEBアプリケーションを開発することが多いのですが
それにより、よくGitやDockerなどを使用しています。
ただ、Windows上でのDockerは動作が遅く、ストレスが溜まってしまいます。
そこでWSL2に切り替えることを決意しました。
WSL2のメリットは?
先述したようにDockerが速い!!というのもありますが
それ以外にも以下のようなメリットがあります。
Windows上の環境を汚さなくて済む
Windowsでは色々インストールして、何か失敗があると
ゴミファイルが残ってしまったり、うまく戻すことが出来なくて動作がおかしくなったりと問題が起きることがあります。
しかし、WSL2上であれば、例えばインストールしたUbuntuをリセットすればよいだけなので、簡単に復旧することが出来ます。
(プロジェクトファイルなどはGithubなどから再度クローンしたら良いので)
軽量かつ高速に動作する
従来のWSLでも軽量かつ高速に動作するという状態でしたが
WSL2では、さらにパフォーマンスが改善されています。
結果として、他の仮想マシンソフトウェアで立ち上げるよりも扱いやすいものとなっています。
私なりのWSLの使い方
Windows上に配置しなくても問題のないPHPやGoなどのプロジェクトは
すべてWSLのUbuntu上の/home/%USER%/projects
以下に配置しています。
一応WSLではホストとなるWindowsのフォルダをマウントし/mnt/c/~~~
でアクセスすることができるのですが
WindowsとLinuxのファイルシステムの違いで、読込がすごく遅くなります。
そのため、先述のようにhomeディレクトリにプロジェクトディレクトリを作成して利用しています。
ただ、マウントしていないところに置いてしまったら
Windows上にインストールしたツールなどから触れないかというと
そんなことはなく、\wsl$\Ubuntu20.04LTS\home\hasegawa
というパスで普通にアクセスできるので困ることはありません。
さいごに
あくまで紹介レベルの記事にはなりましたが、これを読んで
まだWSL使ったことないけど導入してみようかなと興味を持たれた方はぜひ導入してみてください。