Windows Server 2019 の Windows Subsystem for Linux (WSL) のインストールと、ディストリビューションとして Ubuntu の起動方法です。
Windows 10 に WSL をインストールするには、WSL/WSL2 インストール (Windows 10でUbuntu) を参考にしてください。
当方、WSLの利用は、開発アプリケーションの稼働確認などのテストが目的のため、OSの一部として利用すると言うよりも、Ubuntu上のアプリケーションのテストが主な目的です。
このため、WSL上のUbuntuは、作成と削除を、割と頻繁に繰り返して利用しています。
このページ内容に関係する Microsoft Docs 参考サイト
WSL / クイック スタート / Windows Server へのインストール
Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする
WSL インストール
役割と機能の追加から「機能の選択」で Windows Subsystem for Linux を選択してインストールします。
WSLのインストールには再起動が必要なので、「必要に応じて対象サーバーを自動的に再起動する」のチェックボックスを入れるのが簡単です。
再起動されたらインストール完了です。
WSL Ubuntu インストール
Microsoftのサイトで、Linuxのディストリビューション一覧からUbuntuをダウンロードします。
Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする
Ubuntu 18.04 のダウンロードファイルは、Ubuntu_1804.2019.522.0_x64.appx でした。
※以前ダウンロードしたときには、CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc.Appx というファイルだったので、今後もディストリビューションのバージョンアップ毎にファイル名は変わると思います。
ダウンロードしたファイルは、ブロックを解除しておきます。
次に、私の場合のやり方ですが、
ドライブ直下に WSLDistros というフォルダを作成して、そこをWSLのルートフォルダにしています。
※ 場所は任意なのでどこでも良いです。
ダウンロードした appxファイルをそこに置き、拡張子を .zip にします。
※ appxファイルはzipファイルです。
zipファイルを解凍すると、WSLのUbuntuファイルになるので、解凍先として、ディストリビューション名の Ubuntu_18.04 フォルダを作成しておきます。
zipファイルを右クリックして展開 (すべて展開) で、Ubuntu_18.04 フォルダに解凍します。
これで準備完了です。
この後、WSLへの登録という手順もあるのですが、次項の ubuntu1804.exe を実行することで、自動的にWSLに登録されるので、わざわざ行いません。
WSL Ubuntu 実行
WSLのUbuntu実行は、zipを解凍したファイルの ubuntu1804.exe をダブルクリック等で実行するだけです。
初回実行時には、
Installing, this may take a few minutes...
が表示されて、1分くらい待たされます。
その後、初期ユーザー名とパスワードを登録 (パスワードは2回) をしてUbuntuにログインされます。
※ パスワードの入力は、画面にリダイレクトされないので注意してください。キー打しても画面は何も変わりませんが、押下したキーは、しっかりと読まれています。
この時のユーザー名、パスワードは、初期管理者になるので忘れないようにしてください。
Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: ×××××××× Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Installation successful! To run a command as administrator (user "root"), use "sudo". See "man sudo_root" for details.
初期状態のままでは、各種コマンドが失敗することが多いので、apt update、apt upgrade をしておきます。
sudo apt update sudo apt upgrade -y
※ 私の環境では、いつも15分から20分近く掛かります。
apt upgrade が完了すれば、通常のUbuntuとして機能します。
ただし、WSLはホストOSと共存して動作するため、
Ubuntu内で、WebサーバーやDBサーバーなどを使用する場合、同じポート番号がホスト側で使用されている場合は、干渉して使用できないので注意してください。
ポート番号を変えるか、どちらかのサービスを停止するなどの対処をする必要があります。
apt upgrade 中に、次の質問が来ます。
There are services installed on your system which need to be restarted when certain libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may cause interruptions of service for the system, you will normally be prompted on each upgrade for the list of services you wish to restart. You can choose this option to avoid being prompted; instead, all necessary restarts will be done for you automatically so you can avoid being asked questions on each library upgrade. Restart services during package upgrades without asking? <Yes> <No>
オンプレミスのUbuntuでもこの質問が来ることもありますが、要はアップグレードに際して関係するサービスを再起動して良いか?というものです。
「←」キーで <Yes> を選択し、「スペース」もしくは「Enter」で進めてください。
# <No> で進めた場合、更に次の質問が来ました。
This release of OpenSSL fixes some security issues. Services will not use these fixes until they are restarted. Please note that restarting the SSH server (sshd) should not affect any existing connections. Please check the list of detected services that need to be restarted and correct it, if needed. The services names must be identical to the initialization script names in /etc/init.d and separated by spaces. No services will be restarted if the list is empty. Any service that later fails unexpectedly after this upgrade should be restarted. It is recommended to reboot this host to avoid any SSL-related trouble. Services to restart to make them use the new libraries: ssh <Ok>
「↓」キーで <Ok> を選択し、「スペース」もしくは「Enter」で進めてください。
Ubuntuから抜けるには、Exit コマンドか、右上タスクバーの「×」で終了させます。
再度 Ubuntu に入るには、ubuntu1804.exe を実行することで入ることができます。
2回目以降は、初回起動のプロセスは必要ありません。
PowerShellから、WSLの登録情報を確認してみます。
wslconfig /l
PS C:\Users\Administrator> wslconfig /l Windows Subsystem for Linux ディストリビューション: Ubuntu-18.04 (既定)
WSLのディストリビューションとして、Ubuntu-18.04 (既定) というのが確認できますが、これが先ほどの Ubuntu です。
末尾の "(既定)" というのはディストリビューション名では無く、WSLの既定のディストリビューションに付くものです。
WSLには、ディストリビューションのアップグレードというものがあり、このUbuntuのアップグレードをしてみます。Ubuntuからは抜けておいてください。
ディストリビューションのアップグレードは、ディスクアクセスが最適化されるという説明がされています。
個人的には、あまり変わった気がしないので、やってもやらなくても良いと思います。私は、WSLのUbuntuは、作成しては削除して .. を何度も繰り返し行っていますが、アップグレードは行っていません。
wslconfig /upgrade Ubuntu-18.04
PS C:\Users\Administrator> wslconfig /upgrade Ubuntu-18.04 アップグレードしています... アップグレードが正常に完了しました。
WSL Ubuntu 削除
WSLのUbuntuを削除する場合は、WSLから登録を解除する必要があります。
なるべく、ファイルの矛盾が無いように、物理ファイルを削除する前に登録解除するほうが良いです。
WSLの登録解除は、wslconfig /u <ディストリビューション名> ですので、
PS C:\Users\Administrator> wslconfig /u Ubuntu-18.04 登録を解除しています...
で登録を解除します。
解除されたか結果は表示されないので、wslconfig /l で一覧を確認しておくほうが良いでしょう。
WSLの登録が解除されたら、物理ファイルを削除します。
WSLのディストリビューションは、ファイル展開&登録と削除のやり方が分かっていれば、環境作成を何度も繰り返し行えます。
・・ただ、Ubuntuのapt upgrade には時間が掛かるので少し面倒です。
コメントする