0
3

More than 3 years have passed since last update.

WSL(Windows Subsystem for Linux)のススメ

Last updated at Posted at 2020-08-01

2020年夏、いまさらWSLです。

会社の業務用PCは、基本的にWindowsを使っていることが多いと思います。私もそうです。クリエイティブな業種などMacを使っていますという会社もありますが。
最近はアプリの開発やクラウドを利用するにあたって、Linux・macOSの方がツール・ノウハウが充実している場合がありますし、某社製品などではセットアップに必要なツールがLinux・macOS向けにしか提供してないということもありました。そういった場合にWSLはかなり重宝します。

しかし、私の周りで意外とWSL知られてない・使われてないんです。Linuxの環境が欲しくてWindowsに仮想環境(VMware Player、Virtual Boxなど)を入れて使っていますという方が、結構多いです。

私は問いたい、、、
「本 当 に 仮 想 環 境 が 必 要 で す か ?」

・WSLのいいところ

・(当たり前ですが)Linuxのコマンドが使える。
・MS Storeからアプリとして導入できるため、煩わしいLinuxインストールが不要。
→ 仮想マシンを作成して、Linuxのメディアをダウンロードして、インストールして、、、不要です。
・起動が高速。
→ 仮想ソフトを起動して、仮想マシンをスイッチオンして、、、不要です。
・ネットワーク周りの設定が不要。
→ 仮想ソフトでブリッジ・NATを定義して、仮想マシンにログインしてLinuxのネットワーク設定、、、不要です。
・Windows Terminalを使っていれば、コマンドプロンプト・Power Shell・Linux環境が1画面から操作可能。
→ 仮想マシンのLinuxにSSHでログインして、、、不要です。
・Dockerも動く。
・クラウド用CLIも動く。
※あと、仮想環境に比べるとメモリの使用率なども少ないと思われますが、比較したことがないです。

・仮想環境じゃなきゃできないこと

・好きなLinuxディストリビューションを使う。
→ WSLでもUbuntu・Debian・SUSE・CentOSなど使えますが、MS Storeで提供されているものに限ります。
・Linux向けのソフトウェアの検証をしたい。
→ WSLではLinuxのカーネルが存在しないなど通常のLinux環境と100%の互換性はありません。
ソフトウェアによっては正常動作しないと思われます、特にサーバのインフラで利用するクラスタソフトとかデータ複製ソフトとか。
・複雑なネットワークの構成が必要。
→ WSLはWindowsのネットワークをそのまま使うので、ネットワークの設定変更ができません。

早い話、Linuxを導入するサーバの構築や設定を検証したいといった用途には向きません。

1. WSLのインストール(有効化)

「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」→「Windwos Subsystem for Linux」にチェックを入れる。これだけ。
image.png

2. MS StoreからLinuxをインストール

MS Storeアプリを起動して、「WSL」で検索すれば色々出てきます。お好きなものをどうぞと言いたいのですが、CentOSなどは有料のようです。私はUbuntuを使っています。仕事ではRedHat・CentOSを中心に使っているので、Ubuntuは慣れていないのですが。。。
※Windows Terminalも入れておけばなお便利。(下の画像、上段のアイコン列で左から3番目)
image.png

3. 起動と初期設定

MS Storeアプリからインストールが完了したら起動。
image.png
スタートメニューからも、アプリとして起動可能。
image.png
初回起動時はインストール処理のため、「Installing, this may take a few minutes...」という表示で少々待ちます。2~3分だったかしら。
インストール処理が完了したら、「Please create a default UNIX user account. The username does not need to match your Windows username.」という表示が出るので、ユーザを作成しパスワードを設定します。Windowsのユーザと一致させる必要はないので、WSL独自に作成してOKです。
image.png

4. やっといた方がいいこと

パッケージのアップデート

通常のLinux同様、パッケージの更新を定期的にチェック・更新しておきます。

sudo apt update
sudo apt upgrade

5. その他

Windows Terminal

Windows Terminalを使えば、いわゆるDOSコマンド、PowerShell、WSLへ切り替えてLinuxコマンドというのが、1画面で対応可能。
image.png

Linux環境とWindows間でファイルのやりとり

「 \\WSL$ 」 というネットワーク共有を指定すると、WSLに導入されたLinux環境へファイル送受信ができます。
※日本語Windowsだと、\(バックスラッシュ)ではなく、¥(円マーク)ですね。
image.png

Dockerも使える

Windows版のDocker for Windowsは、Hyper-V上で動く仮想マシンにLinux+Dockerが導入されます。Windows 10 HomeはHyper-V使えないし、Docker使いたい場合はSSHで仮想マシンにログインして、、、安心してくださいWSLで使えます。
以下の情報を参考にさせてもらいました、多謝。
[2019年1月版]WSL + Ubuntu で Docker が動くっ!動くぞコイツッ!

Linux向けの各種ツールも使える(64bit版)

私がLinuxの環境を必要とした最大の理由が、
・各社クラウドのCLIを使いたい
・RedHat OpenShiftのCLIを使いたい
64bit Intel・AMD CPU向けLinux用であれば利用可能でした。
※もちろん、ARM・POWERなどなど非IntelなCPU向けのLinuxツールは使えないです。

以上のように、作業でLinuxコマンドの環境が欲しい場合は、仮想環境を使うよりWSLを使う方が便利かと思います。

おまけ:WSL2

WSLではLinuxのカーネルが存在しないのですが、WSL2ではHyper-Vの仮想マシンを利用することでLinuxカーネルが含まれる環境になるとのこと。結局WSLも仮想環境になるの?ということですが、アプリ導入で手軽・ネットワーク設定不要・起動が高速といったところは踏襲する模様です。

完全なLinuxがWindows 10上で稼働する? 「WSL 2」とは
「WSL 2」が今後の主流に? LinuxのGUIアプリも動作可能? ~「WSL」のこれからに注目

Linuxとの互換性が高くなり、LinuxのGUIアプリが使える、GPUによる機械学習(いわゆるAI)も利用しやすくなるそうです。
はぁ、もうLinux環境を「主」にして、Windows環境の方を「従」にした方がいいようなw

0
3
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
3