普段はMac使いなので知らなかったのですが、とある技術書をきっかけにWSLの存在を知ってしまい、めちゃくちゃいいんじゃん!ってなったので、備忘録もかねてまとめてみようと思います。
- WSLとはなにかを知りたい人
- Windowsの中にVurtualBoxやVMwareを入れて使ってる人
- Linux用に別のPCを用意してる人
- 本当はMac使いたいけどアンチMacなのでLinuxを使ってるが、正直しんどい人
とある技術書についてはこちら。
WSLって何?
WSLはWindows Subsystem for Linuxの略で、Microsoft社が提供しているWindows上でLinux環境を直接実行することができるツールです。もちろん無料です。
Windows上で動くLinuxの仮想マシンみたいなもの
なぜWSLが必要なのか
仮想マシンなんだったらVirtualBoxとかの既存ツールでよくない?
仮想マシンのような重さや複雑さなしに、Windows上で軽量かつ高速にLinux環境を利用できます。インストールも簡単で、数分でセットアップが完了します。
初心者にもやさしい世界ってことだね
無償版ESXiが提供終了して途方に暮れた人にとっても、ちょっと嬉しいかも。
WSLのすごいところ
単にLinuxが使えるよってだけでなくて、こんなにすごいやつなんです。
簡単なインストールとセットアップ
PowerShellコマンドとMicrosoft Storeからのダウンロードで簡単にインストールできます。一度インストールすると、Windows上のアプリとしてすぐに使えて、とにかく早いです。
リソース効率
仮想マシンと比べて、WSLはシステムリソースをほとんど消費しません。例えば、VirtualBoxやESXiでは仮想マシンごとにCPUやメモリの割り当てが必要ですが、WSLはホストのWindowsとリソースを共有するため、より効率的です。
ファイルシステムの統合
WindowsとLinuxのファイルシステムをシームレスに行き来できます。例えば、WindowsのエクスプローラーからLinuxのファイルにアクセスしたり、その逆も可能です。仮想マシンの場合、共有フォルダの設定が必要ですが、WSLではそのような手間が省けます。
複数インスタンスの並列利用
複数のLinuxディストリビューションをインストールし、それぞれを並列に実行することができます。例えば、UbuntuとDebianを同時に動かし、それぞれの環境で異なるタスクを処理することが可能です。これにより、開発環境を柔軟に切り替えたり、異なるテスト環境を簡単に構築できます。
WSL1とWSL2の違い
実はWSLには2つのバージョンがあります。その違いに関しては、公式の説明を見るのが早いと思います。
特別な理由がない限り、WSL2を使うのが良さそうです
WSLの活用方法
ここからはちょっと中級者向けになりそうですが、実際の活用方法についても考えてみます。
開発環境の統合
WSLを使えば、WindowsとLinuxのツールをシームレスに統合した開発環境を構築できます。例えば、Visual Studio CodeはWSLと統合されており、Linux上のファイルを直接編集したり、ターミナルからLinuxのコマンドを実行できます。これにより、Windowsの使いやすさとLinuxの強力なコマンドラインツールの両方を活用した開発が可能です。
Dockerの活用
WSL2ではDockerを直接利用できるため、コンテナ技術を使った開発やデプロイも簡単に行えます。つまり、Docker Desktopを使わないで、Dockerをインストールできちゃいます。
Docker Desktop for Windowsの有償化問題もこれで解決!
ネットワークとセキュリティ
WSL2は、仮想化技術を使っているため、ネットワークの設定やセキュリティの検証等が柔軟に行えます。例えば、Linuxのファイアウォールツールやネットワーク診断ツールを使って、より高度なネットワーク管理や検証が可能です。
まとめ:やっぱりWSLはすごいやつだよ
という感じでいいところをまとめてみました。
もちろんエンジニアには宗派があるので全員におすすめするよ!って訳にもいかないですが、選択肢の一つに入れてもらえるとです。
ちなみに、スペックよわよわPCを使ってるとメモリ不足で虫の息になるみたいですが、ある程度のパワーは必要です。
まあそこは、お金で解決できる問題なので、お金で解決しましょう。
まさかいまだにメモリ16GBのPCを使っていないですよね?(煽り)
コメント