WSL 2(Windows Subsystem for Linux 2)でUbuntu 20.04 LTSをインストールする

f:id:ts0818:20210223143313j:plain

president.jp

通常、スギ花粉の大きさは直径30μm(=0.03mm)とPM2.5の約10倍の大きさだが、花粉が大気中の水分を含むとさらに大きく膨張するそうだ。そこにPM2.5や黄砂といった大気汚染物質が触れると破裂を起こし、花粉の内部や表面についているアレルゲン物質が放出される。花粉アレルゲンは微細で通常の花粉対策用マスクでは防ぐことができず、PM2.5対応マスクでないと防御が難しい。そのため、人間の気管支や肺、肺の奥深くの肺胞まで入り込んでしまうこともあるという。

なぜ花粉症によるアレルギーは普通のマスクでは防げないのか | PRESIDENT WOMAN Online(プレジデント ウーマン オンライン) | “女性リーダーをつくる”

⇧ この絶望感たるや...

花粉症になってから幾星霜が経ったことか、春が憂鬱な季節になりました、どうもボクです。

ということで、「WSL 2(Windows Subsystem for Linux 2)」についてです。

レッツトライ~。 

 

Linuxディストリビューション、どれを使えば?

正直、日本国内の「Linuxディストリビューション」のシェアについてって整理されてない気がするから、よく分からんのですが、

jp.quora.com

⇧ 上記サイト様は、 ちゃんと現場の方の声が反映されてる感じですかね。

組み込み系とかになってくると、また話は変わってくると思うけど。

まぁ、今回は

www.kagoya.jp

⇧ 上記サイト様を参考に「Ubuntu」をインストールする感じでいこうかと。

cloud.watch.impress.co.jp

 「Red Hat Enterprise LinuxRHEL)」互換のLinuxディストリビューションCentOS Linux」が今年いっぱいで開発終了になる――。CentOSは、無償で利用できる“RHELクローン”の中でも特に人気がある。その予想外の終了は、開発者コミュニティに大きな衝撃を与えた。CentOSを支援するRed HatRHELの無償枠を拡大し、互換ディストリビューションのプロジェクトも生まれた。だが、混乱は続いている。

【Infostand海外ITトピックス】「CentOS Linux」終了へ 開発者の動揺と救済の動き - クラウド Watch

⇧「CentOS」は終了しちゃうから、この先どうなるか分からないしね...

 

WSL 2(Windows Subsystem for Linux 2)向けのRHELRed Hat Enterprise Linux)は今のことろ存在しない

今回は「Ubuntu 20.04 LTS」をインストールしてみようかと。

あと、2021年2月現在、WSL 2(Windows Subsystem for Linux 2)の公式では、「RHELRed Hat Enterprise Linux)」の「Linuxディストリビューション」を公開してないっぽいのよね...

ちなみに、「WSL 2(Windows Subsystem for Linux 2)」で、「Linuxディストリビューション」をインストールする方法としては、 

level69.net

roy-n-roy.github.io

wsl.dev

wiki.ubuntu.com

⇧ 上記サイト様を参考にさせていただいたところ、

のいずれかの選択肢があるのではないかと。

※ xx は、「Ubuntu」や「CentOS」といったような各「Linuxディストリビューション」が当てはまるイメージかと。

「rootfs」ってのは、「Linuxディストリビューション」の1つである「debian」の説明によると、

Rootfs is a special instance of ramfs, which is always present in Linux 2.6 systems. It's used as a placeholder inside the Linux kernel, as the place to start and stop searching the doubly-linked list of ?mount_points.

https://wiki.debian.org/rootfs

Most systems just mount another filesystem over it and ignore it. The amount of space an empty instance of ramfs takes up is tiny.

https://wiki.debian.org/rootfs

⇧「ramfs」の特別なインスタンスで「Linux kernel」内で「placeholder」の役割を果たしてるそうな。

「Ramfs」 ってのは、

Ramfs is a very simple FileSystem that exports Linux's disk cacheing mechanisms (the page cache and dentry cache) as a dynamically resizable ram-based filesystem.

https://wiki.debian.org/ramfs

Linuxのディスクキャッシュのメカニズムを、動的にサイズ可変なRAMベースのファイルシステムとしてエクスポートする、ってことらしいんだけど、What's?

 

「appx」ってのは、 

Universal Windows Platform (UWPapps (formerly Windows Store apps and Metro-style apps) are applications that can be used across all compatible Microsoft Windows devices, including personal computers (PCs), tablets, smartphones, Xbox OneMicrosoft HoloLens, and Internet of Things. UWP software is primarily purchased and downloaded via the Microsoft Store.

https://en.wikipedia.org/wiki/Universal_Windows_Platform_apps

⇧「UWP(Universal Windows Platform)apps」ってのが、互換性のあるすべてのMicrosoft Windowsのデバイスで利用できるアプリケーションらしく、「Microsoft Store」経由でダウンロードできますと。

で、「appx」はというと、

APPX

APPX is the file format used to distribute and install apps on Windows 8.x and 10, Windows Phone 8.1, Windows 10 Mobile, Xbox One, Hololens, and Windows 10 IoT Core. Unlike legacy desktop apps, APPX is the only installation system allowed for UWP apps. It replaces the XAP file format on Windows Phone 8.1, in an attempt to unify the distribution of apps for Windows Phone and Windows 8. APPX files are only compatible with Windows Phone 8.1 and later versions, and with Windows 8 and later versions.

https://en.wikipedia.org/wiki/Universal_Windows_Platform_apps

⇧「UWP(Universal Windows Platform)apps」で許可されている唯一のインストールシステムらしいですと。

まぁ、よく分からんのだけど、「rootfs」と「appx」で「WSL用のLinuxディストリビューション」の導入の方法が変わりますと。 

Microsoft公式のドキュメントだと、

docs.microsoft.com

docs.microsoft.com

⇧「Microsoft Store経由」と「手動」で、選択できる「Linuxディストリビューション」に差があるっぽい。

Microsoft Store経由」のほうが「Linuxディストリビューション」の選択肢は多いっぽいですね。

 

手動でLinuxディストリビューションをダウンロードしてインストールしてみる

まぁ、何て言うか、「Microsoft Store」経由でのインストールが推奨らしいんですが、今回は「Microsoft Store」が利用できないというケースを想定して「rootfs」でインストールする方法を試してみたいと思います。

level69.net

⇧ 上記サイト様を参考にさせていただきました。

今回は、「Ubuntu 20.04 LTS」を利用するので、

wiki.ubuntu.com

f:id:ts0818:20210223102818p:plain

⇧「Installing Ubuntu on WSL via rootfs」から「Ubuntu 20.04 LTS」のリンクを押下。

以下のページに画面遷移するので、

cloud-images.ubuntu.com

f:id:ts0818:20210223103457p:plain

⇧ 今回は「focal-server-cloudimg-amd64-wsl.rootfs.tar.gz」のリンクをコピーします。

そんでは、以下のコマンドでダウンロード。 

curl -L -o [ダウンロード先]\focal-server-cloudimg-amd64-wsl.rootfs.tar.gz https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64-wsl.rootfs.tar.gz

f:id:ts0818:20210223104034p:plain

ダウンロードされました。

f:id:ts0818:20210223104240p:plain

そしたらば、インポートします。インポート先は、「C:\Users\[ユーザー名]\AppData\Local\Packages\」配下のディレクトリが良いらしいです。コマンド実行時に、適当なディレクトリを指定すると、ディレクトリを勝手に作成してくれるようなので、事前にディレクトリの作成は不要。 

wsl --import [適当な仮想マシン名] C:\Users\[ユーザー名]\AppData\Local\Packages\[適当なディレクトリ名] [ダウンロード先]\focal-server-cloudimg-amd64-wsl.rootfs.tar.gz --version 2

f:id:ts0818:20210223104852p:plain

「仮想ディスク」が作成されていればOKのようです。

f:id:ts0818:20210223105006p:plain

Ubuntu 20.04 LTS」の仮想マシンが作成できてるか確認してみます。

wsl -l -v    

f:id:ts0818:20210223105125p:plain

⇧ 確認できました。

Ubuntu 20.04 LTS」の仮想マシンを起動してみます。

wsl -d [NAME] 

f:id:ts0818:20210223105930p:plain

f:id:ts0818:20210223110501p:plain

⇧ 起動できました。

VM仮想マシン)」のIPアドレスの確認は、

qiita.com

⇧ 上記サイト様がまとめてくださっていました。

確認してみる。

f:id:ts0818:20210223120154j:plain

「root(スーパーユーザー)」の時に実行するのは危険なのだけど、「hostname -i」だと、「eth0」とは異なるIPアドレスが表示される...

f:id:ts0818:20210223120339p:plain

⇧ しかも「127.0.1.1」って、「localhost」である「127.0.0.1」とも微妙に違うし、何これ気持ち悪い...

同様の疑問を持った方がおられました。

serverfault.com

There isn't a great deal of difference between the two; 127/8 (eg: 127.0.0.0 => 127.255.255.255) are all bound to the loopback interface.

The reason why is documented in the Debian manual in Ch. 5 Network Setup - 5.1.1. The hostname resolution.

Ultimately, it is a bug workaround; the original report is 316099.

https://serverfault.com/questions/363095/why-does-my-hostname-appear-with-the-address-127-0-1-1-rather-than-127-0-0-1-in

⇧ まさかのバグ...

bugs.debian.org

⇧ しかも「Date: Tue, 28 Jun 2005 12:48:03 UTC」に報告されたってなってるので、かれこれ15年以上経過してるんだけど...

時間があるときに、対応せねばですかね...

2021年2月25日(木)追記:↓ ここから

Debian」のマニュアル読んでは見たものの、よく分からずでしたが、

qiita.com

固定IPアドレスが存在する前提で動くシステム/ツール/アプリが不具合を起こすので、回避法として、とりあえず、127.0.1.1を割り当てることが決定、実装されました。インストーラーの中でnetcfgがやってます。

127.0.1.1ってなに? あるいは、Ubuntu含むDebian系でホスト名をちゃんと変更するスクリプトのはなし - Qiita

⇧ 上記サイト様によりますと、「暫定措置」だったみたいですね、というか15年以上経過してるんだけどな...

しかも、「Ubuntu 20.04 LTS」になっても「暫定措置」ってことは、永久に「暫定措置」を貫き通すおつもりなのかね?

Ubuntuは、2004年10月20日Debian GNU/Linuxから派生したOSである。

Ubuntu - Wikipedia

⇧ え~っと、今が2021年2月25日(木)だから、「Debian」から派生して16年と4か月ぐらい...

っていうか、

Ubuntu使いやすさを重要視している。

Ubuntu - Wikipedia

⇧ って謳っておりますが...

Web系における「Linuxディストリビューション」のシェア(世界ランキング)で1位ってことだけどさ、まずは、「暫定措置」の対応をして欲しいよね...

あれかね、本家の「Debian」で対応して無いから、分家の「Ubuntu」は我関せずということなのだろうか...

2021年2月25日(木)追記:↑ ここまで

 

「WSL 2(Windows Subsystem for Linux 2)」に「Linuxディストリビューション」を導入する方法はいろいろあるみたいなのですが、「Microsoft Store」経由でインストールしたほうが問題は少ないのかも。

Linuxについても勉強していかねばですかね。

「WSL 2(Windows Subsystem for Linux 2)」の仕組みがいまいち理解できてないから、モヤモヤ感が半端ない...

今回はこのへんで。