「WSL2」をインストールしよう
はじめに
現在、サーバーサイドのあらゆる場所で、Linuxが活用されています。そのためターゲットとなるLinuxに関する知識と、その上で動作するツールへの習熟は避けては通れません。ところが、Linuxマシンを用意して本格的に学習しようとしても、なかなか長続きせず、気がついたらWindowsしか使わないようになっていたという初学者も多いのではないでしょうか。
現在のWindows 11では、本物のLinux環境をそのまま動かすことができます。普段使いのWindowsとLinuxをシームレスに運用できる「WSL(Windows Subsystem for Linux)」は学習においても、また実際の開発作業においても、非常に便利なツールです。
本連載では、WSLをベース環境とした開発環境の構築方法や様々なテクニック、Tips等を紹介します。これからLinuxに入門したいWindowsユーザーの方、そしてLinuxをさらに便利に活用したい方、または現場でDevOpsをはじめたいような方にとって、役立つ情報をお届けできると考えています。
WSLとは
Windows 11に搭載されているWSLは、Windows上で完全なLinux環境を実行できる機能です。WSLを利用すれば、Bashなどのシェルをはじめ、各種Linuxコマンド、さらにはLinux向のGUIアプリを、Windows上で直接実行できます。
実は、Windows上でLinuxやUnixのツールを実行するための環境は過去にも色々な実装が存在しましたが、それらはあくまでサードパーティのツールであったり、複雑なインストール手順が必要であるなど、気軽にお勧めできるものではありませんでした。これに対してWSLはMicrosoftが公式に提供しているプロダクトで、ストアから簡単にインストールできるため、導入までのハードルも非常に低くなっています。WSLは、普段使いのデスクトップとしてはWindowsを必要としている人がLinuxのツールを使いたい場合の、最適な選択肢だと言えるでしょう。
WSLには、従来の「WSL1」と、より新しい「WSL2」の2つのバージョンが存在します。大きな違いは、その内部アーキテクチャにあります。WSL1では「LXCore」や「LXSS」と呼ばれるサブシステムがLinuxカーネルの機能をエミュレーションしていました。簡単に言えばLinuxそのものが動いていたわけではなく、APIを変換する互換レイヤーだったわけです。
一方のWSL2は、Windows上で本物のLinuxカーネルが動作しているため、システムコールに完全な互換性があり、パフォーマンスも大きく向上しています。特別な理由がなければWSL2を使うべきでしょう。現在、デフォルトの状態ではWSL2がインストールされるようになっています。本連載でもWindows 11上でWSL2を動かすことを前提に解説していきますが、WSL2のことを「WSL」と表記することもあるため、あらかじめご了承ください。
ちなみに余談ですが、WSL2がWSL1の完全な上位互換なのかと言えば、必ずしもそうではありません。唯一の例外と言ってもよいのが「WSL環境内からのWindowsファイルシステムへのアクセス」です。これに関してはWSL1の方が高速なため、Windows上のファイルをWSLのコマンドで操作したいような用途に限って言えば、敢えてWSL1を選択するというケースもアリでしょう。
なぜWSLなのか
さて、そもそもの話になりますが、なぜWSLが必要なのでしょうか。
現在、Linuxはサーバー、クラウド、コンテナ、IoT、HPCといった様々な分野において、非常に目覚ましい進出を遂げています。例えば「W3Techs」によるWebサーバーのOSのシェアを見ると、Windowsが全体の14.2%であるのに対し、86.1%がUnix系のOSとなっています。そして、そのUnix系OSのうち、過半数の52.4%がLinuxなのです。
また、世界のスーパーコンピューターの性能ランキング「TOP500」を見てみましょう。驚くことに、TOP500にランクインしているスーパーコンピューターにおけるLinuxの採用率は100%です。この状況は2017年以降、変わらず続いています。
Linux向けの開発作業を行うには、ターゲットとなるLinux環境が必要です。対して、デスクトップOSとして最もシェアの大きいOSはWindowsです。ここで開発者が使うデスクトップOSと、ターゲットシステムの間にあるギャップが問題となります。
最近では、UbuntuをはじめとするLinuxのデスクトップ環境も非常に洗練されてきており、普段使いで困ることはほぼありません。そのため開発者が使うデスクトップOSをLinuxにしてしまうというのも1つの方法でしょう。しかし、実際の業務においては「書類の作成にMS Officeが必要」「Adobeのアプリが必要」「Linuxではプリンターが動かない」「社内管理の都合上、プリインストールのOSを入れ替えられない」などの理由で、Linuxを普段使いにできないケースもあるでしょう。というより、一般的な企業であればその方が多数派でしょう。
こうした背景から、開発者が普段使いする環境として、BSDベースのUnixであるMacを選択するケースが2000年代後半頃から非常に増加しました。技術系のカンファレンスに参加して、半数以上の人が銀色の板を持っている光景を見たことがある人も多いのではないでしょうか。ところが、MacはUnixではあるものの、Linuxではありません。「標準でインストールされているツールがGNUのものと挙動が異なる」「Linuxカーネルの機能が使えるわけではない」など、環境構築に当たってはLinuxとの差異に苦しめられるケースも多々あります。
この「OSそのものはWindowsを使いたい」「でも本物のLinux環境が手元にほしい」という要望を、従来の仮想マシンよりも簡単に満たせるのがWSLなのです。
WSLのインストール
前置きが長くなりましたが、ここからはWSLをインストールし、土台となる環境を構築していきましょう。WSL2は内部的に仮想マシンを作ってLinuxカーネルを動かすため、WSL2を利用するには、あらかじめCPUの仮想化支援機能(Intel VTやAMD-V)を有効にしておく必要があります。一般的に、仮想化支援機能の有効/無効の切り替えはPCのUEFI(またはBIOS)で行います。詳しくはお使いのPCのマニュアルを参照してください。とは言え、今どきのPCであれば、デフォルトで有効となっていることが多いでしょう。
- Windows 11を起動したら、スタートメニューから「Windows PowerShell」を起動してください。
WSLでは、複数のLinuxディストリビューションが提供されています。PowerShellに以下のコマンドを入力することで、提供されているディストリビューションの一覧を表示できます。
$ wsl --list --online
本連載では、人気のLinuxディストリビューションであるUbuntuを使用することを前提に解説していきます。そこで、2024年現在の最新長期サポート版にあたる「Ubuntu 24.04」をインストールします。 - 続いて、PowerShell上で以下のコマンドを実行してください。
$ wsl --install -d Ubuntu-24.04
- WSLをインストールするにはWindowsの管理者特権が必要です。以下のようなウィンドウが表示されるので「はい」をクリックします。
- 同様に、アプリがデバイスに変更を加える確認が表示されるので「はい」をクリックしてください。
- これでインストールが開始します。しばらく待つとインストールが完了して以下のメッセージが表示されるので、Windowsを再起動しましょう。
- Windowsを再起動してログインすると自動的にターミナルが起動し、初回のセットアップがはじまります。Ubuntu上で利用するユーザー名とパスワードを設定しましょう。
まずユーザー名を入力します。一般的なLinuxディストリビューションでは、ユーザー名にはアルファベット小文字、数字、アンダースコア、ハイフンが使えます。ただし、頭文字はアルファベットの小文字にするのが一般的です。 - 次にユーザーのパスワードを設定します。確認のため同じパスワードの再入力を促されるので、2回入力してください。なお、パスワードのエコーバック(●などが表示されること)は行われないため正しく入力できていないように見えてしまいますが、気にせず入力して[Enter]キーを押してください。
- パスワードの設定が完了すると、Ubuntuにログインしてシェルが操作できるようになります。これで、WSL2上でUbuntuを使いはじめる準備は完了です。
WSLの起動方法
本格的な環境構築やカスタマイズといった解説は次回以降に譲りますが、その前にまず、WSLの起動方法を覚えておきましょう。
インストールしたWSLのディストリビューションはスタートメニューに登録されるので、一般的なWindowsのアプリと同様に、ここから起動できます。スタートメニューを開いたら「Ubuntu」で検索すると良いでしょう。
また、PowerShellを動かしている、Windowsターミナル内からUbuntuのプロファイルを指定することでも起動できます。Windowsターミナルとプロファイルについては、次回で詳しく解説します。
おわりに
前世紀からPCに触れている人であれば、MicrosoftがLinuxやオープンソースを嫌っていたこと、もっと直接的に言えば「敵」として見ていたことを覚えているかもしれません。そのMicrosoftがWindows上にLinuxを搭載するとは、隔世の感があります。まさにLinuxがITシステムにおいて、欠かせない存在になっていることの証左と言えるのではないでしょうか。
次回からは、本格的にWSLの使いこなしテクニックを紹介していきます。ご期待ください。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Windows 11でLinuxを使う:Windows Subsystem for Linux 2の設定
- 「Windows Terminal」を使いこなす
- 「Ubuntu」のパッケージ管理を学ぼう
- WSLでUbuntuのユニバーサルパッケージシステム「snap」を使う
- 「Linspire 10.0」リリース
- Windows Subsystem for Linux 2 でDocker を使用する(その2)
- そもそもサーバOSとは何か
- 「Ubuntu 19.04(Disco Dingo)」リリース
- エンカレッジ・テクノロジ、証跡管理ソフトウェア「ESS REC」のUNIX/Linux向けエージェントの最新版を発表
- エンカレッジ・テクノロジ、証跡管理ソフトウェア「ESS REC」のUNIX/Linux向けエージェントの最新版を発表