WSL インストール (Windows Server 2019でUbuntu)

2020-10-18 | コメント(0)

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 サブシステム ディストリビューション パッケージを手動でダウンロードする

役割と機能の追加から「機能の選択」で Windows Subsystem for Linux を選択してインストールします。

Windows 2019 Windows Subsystem for Linux 機能の選択

Windows 2019 Windows Subsystem for Linux インストールオプションの確認

Windows 2019 Windows Subsystem for Linux インストール完了

WSLのインストールには再起動が必要なので、「必要に応じて対象サーバーを自動的に再起動する」のチェックボックスを入れるのが簡単です。

再起動されたらインストール完了です。

Microsoftのサイトで、Linuxのディストリビューション一覧からUbuntuをダウンロードします。

Linux 用 Windows サブシステム ディストリビューション パッケージを手動でダウンロードする

Microsoft Linux ディストリビューション

Ubuntu 18.04 のダウンロードファイルは、Ubuntu_1804.2019.522.0_x64.appx でした。
※以前ダウンロードしたときには、CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc.Appx というファイルだったので、今後もディストリビューションのバージョンアップ毎にファイル名は変わると思います。

Ubuntu 1804 appxファイル

ダウンロードしたファイルは、ブロックを解除しておきます。

Ubuntu 1804 appxファイル ブロック

次に、私の場合のやり方ですが、
ドライブ直下に WSLDistros というフォルダを作成して、そこをWSLのルートフォルダにしています。
※ 場所は任意なのでどこでも良いです。

ダウンロードした appxファイルをそこに置き、拡張子を .zip にします。
※ appxファイルはzipファイルです。

zipファイルを解凍すると、WSLのUbuntuファイルになるので、解凍先として、ディストリビューション名の Ubuntu_18.04 フォルダを作成しておきます。

WSL ルートフォルダ

zipファイルを右クリックして展開 (すべて展開) で、Ubuntu_18.04 フォルダに解凍します。

WSL Ubuntu 解凍

WSL Ubuntu ファイル

これで準備完了です。

この後、WSLへの登録という手順もあるのですが、次項の ubuntu1804.exe を実行することで、自動的にWSLに登録されるので、わざわざ行いません。

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.

WSL Ubuntu 初回起動

初期状態のままでは、各種コマンドが失敗することが多いので、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 apt apgrade Serviceリスタート確認

オンプレミスの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>

Ubuntu apt apgrade Service OpenSSL確認

「↓」キーで <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 List

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 Upgrad

WSLのUbuntuを削除する場合は、WSLから登録を解除する必要があります。

なるべく、ファイルの矛盾が無いように、物理ファイルを削除する前に登録解除するほうが良いです。

WSLの登録解除は、wslconfig /u <ディストリビューション名> ですので、

PS C:\Users\Administrator> wslconfig /u Ubuntu-18.04
登録を解除しています...

で登録を解除します。

解除されたか結果は表示されないので、wslconfig /l で一覧を確認しておくほうが良いでしょう。

WSL Ubuntu Upgrad

WSLの登録が解除されたら、物理ファイルを削除します。

WSL Ubuntu Upgrad

WSLのディストリビューションは、ファイル展開&登録と削除のやり方が分かっていれば、環境作成を何度も繰り返し行えます。

・・ただ、Ubuntuのapt upgrade には時間が掛かるので少し面倒です。

カテゴリ:

コメントする

※HTMLタグは使えません

Author

あきちゃん

主に、.NETでWebシステムの設計と開発をしています。
(茨城県在住, 都内勤務)
プロフィール