イベントレポート '25/1月開催 とことんDevOps勉強会「今日からはじめるWSL実践入門」
今回のとことんDevOps勉強会は「今日からはじめるWSL実践入門」と題して、日本仮想化技術の水野が講師として登壇しました。
WSL(Windows Subsystem for Linux)とは、Windows上でLinux環境を手軽に利用できる機能です。Windowsを使ったことがある方なら、一度は耳にしたことがあるかもしれません。しかし、「名前は知っているけれど、使い方がよく分からず、まだ活用できていない」という方も少なくないのではないでしょうか。
そこで、本勉強会では、これからWSLを使い始めたい方向けに、実践的な入門編として開催しました。
アーカイブ動画や発表資料も公開しておりますので、ぜひご覧ください。
セミナー動画
発表資料
Q&Aまとめ
PowerShellの記述方法と挙動への戸惑い
質問
macOS上でスマホアプリ開発Jenkinsを運用していたのですが、WindowsでJenkinsを動かすため、WSLを利用しました。
呼び出すコマンドがWindows版だったら、パラメータで渡すパスがWindows形式である必要であったり、パイプの挙動がちょっと違って悩みました。
回答
LinuxとWSLでは基本的にコマンドの挙動に違いはありません。ただし、WindowsのPowerShellを使用する場合、書き方に違いがあるため注意が必要です。
PowerShellは高機能で便利なツールですが、Linux環境に慣れている方にとっては、独自の書き方に戸惑うこともあるかもしれません。慣れるまで試行錯誤しながら使っていくのが良いでしょう。
Service for Unix
質問
Service for Unixも使っていました。
回答
Service for Unix(SFU)は、Microsoftが提供していたWindows向けのUnix互換環境で、Windows上でUnixのツールやアプリケーションを動作させるための機能群です。主に開発者やシステム管理者がWindowsとUnix/Linuxのシステムを統合しやすくする目的で提供されていました。
SFUはWindows XPやWindows Server 2003の時代に利用されていましたが、のちにSubsystem for UNIX-based Applications(SUA)に統合され、さらに現在ではWSL(Windows Subsystem for Linux)がその役割を引き継いでいます。
デーモンが使えない
質問
起動時に何かを動かす、たとえばsshdを動かしたい場合、BATファイルを作成してWindowsの流儀で起動しました。デーモンが使えないんですよね。
回答
現在のUbuntuでは、デフォルトで systemd が動作しているため、従来のinitシステムに関連する問題は解決されていると考えられます。以前のWSL環境では、systemdが有効化されておらず、サービスの管理に制約がありました。しかし、WSL 2ではsystemdのサポートが追加され、Ubuntuを含む多くのディストリビューションで、より本来のLinuxに近い環境が利用できるようになっています。
Hyper-V起動時の構成について
質問
Windows Pro上で従来のHyper-Vを起動した場合、Hyper-V on Windows on Hyper-Vという構成になる?
回答
(こちらの質問に関しては知見がなく、参考になる回答ができませんでした)
ディストリビューションの複数同時稼働
質問
WSL2使う場合は、ディストリビューションの複数同時稼働はあまりしないほうが、トラブルは少なそうですね
回答
WSL2では複数のディストリビューションを同時に稼働させることは可能ですが、リソース負荷やネットワークの競合などのトラブルを避けるため、必要なものだけを起動するのが望ましいです。
ドライブへのアクセス制限の方法について
質問
WSL使う場合に、誤ってCドライブ等のWindows側のデータを消すのを防ぎたいんですが、その辺へのアクセスを制限する方法とかってありますか?
回答
WSLでは、Windows側のCドライブなどへのアクセスを制限する方法として、wsl.conf を使った自動マウントの無効化や、Windowsのアクセス権限設定を利用する方法があります。詳しくはドキュメントを参照ください。
質問
私のパソコンはC: D:があり、WindowsのシステムはC:に入っています。今日の説明ではコマンドを打つだけで、WSLを利用できますが、空いている D:にWSLをインストールするには、どのようなコマンドが必要でしょうか?またインストールするドライブは指定できないのでしょうか?
回答
(質問受付後に頂いた質問)
何らかの方法は存在するようですが、当社ではまだ検証を行っていないため、具体的な情報をお伝えすることができません。
今後、社内で検証を行う機会がありましたら、ブログなどで詳しい内容をまとめて公開いたします。