My RSS Reader

Description about Blog Author


イベントレポート '25/1月開催 とことんDevOps勉強会「今日からはじめるWSL実践入門」

今回のとことんDevOps勉強会は「今日からはじめるWSL実践入門」と題して、日本仮想化技術の水野が講師として登壇しました。

WSL(Windows Subsystem for Linux)とは、Windows上でLinux環境を手軽に利用できる機能です。Windowsを使ったことがある方なら、一度は耳にしたことがあるかもしれません。しかし、「名前は知っているけれど、使い方がよく分からず、まだ活用できていない」という方も少なくないのではないでしょうか。

そこで、本勉強会では、これからWSLを使い始めたい方向けに、実践的な入門編として開催しました。

アーカイブ動画や発表資料も公開しておりますので、ぜひご覧ください。

セミナー動画

youtu.be

発表資料

speakerdeck.com

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のアクセス権限設定を利用する方法があります。詳しくはドキュメントを参照ください。

learn.microsoft.com

質問

私のパソコンはC: D:があり、WindowsのシステムはC:に入っています。今日の説明ではコマンドを打つだけで、WSLを利用できますが、空いている D:にWSLをインストールするには、どのようなコマンドが必要でしょうか?またインストールするドライブは指定できないのでしょうか?

回答

(質問受付後に頂いた質問)

何らかの方法は存在するようですが、当社ではまだ検証を行っていないため、具体的な情報をお伝えすることができません。

今後、社内で検証を行う機会がありましたら、ブログなどで詳しい内容をまとめて公開いたします。

[source]