1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows Dev Kit 2023にAmazon Linux 2023をインストールする

Last updated at Posted at 2024-09-06

これからはWndowsもARM64アーキテクチャが主流になるのかな?とか考えてWindows Dev Kit 2023を買ってはみたものの、その後もWindowsの主流アーキテクチャはx86_64のままで、よしんばUEFIブートでネイティブにLinuxがブートできるようになるのかな?と思ってもいたのだけど、それも叶わず、ずっと埃を被ったままでした。

そんな時に偶然にも仕事でAWS Graviton(aarch64)なAmazon Linux 2023での開発案件が回ってきて、でも円安物価高の世の中、「ec2のインスタンスは無駄に稼働させておくなよ!」と釘を刺されたので仕方なく?Windows Dev Kit 2023のWindows 11 ProのWSL2環境上にAmazon Linux 2023の開発環境を作ってみました。

※ちなみに普通の?Intel入ってる!なPCのWSL2でも、Amazon AWSからダウンロードして利用するDockerのイメージファイルをx86_64アーキテクチャ用に入れ替えるだけで同じ方法でAmazon Linux 2023をWSL2で利用可能でした。

WLS2の有効化やUbuntuなどのディストリビューションのインストールはやったことがある前提で、いきなりAmazon Linux 2023のインストールから始めるので、もしWSL2も使ったことがなくてそこから始める人は申し訳ないけど、他の方の記事でWSL2の有効化を済ませてから読んでいただけると…

WSL2はすでに動いている前提で!

WSL2はこんな感じでインストールしてある前提で…
スクリーンショット 2024-09-06 14.35.32.png

Amazon Linux 2023 Dockerイメージのダウンロード

まずはAmazon AWSの公式サイトからAmazon Linux 2023のイメージファイルをダウンロードします。
とはいえ、WSL2用のAmazon Linux 2023の公式なイメージファイルは存在しないので、今回はDocker用のイメージファイルを流用しました。

Amazon AWSのオンプレ用公式イメージ
https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/outside-ec2-download.html

Amazon Linux 2023 Dockerイメージの圧縮形式変換

ダウンロードされたイメージファイルはxz圧縮され得ているけどWSL2はgz圧縮のイメージファイルしか読み込むことができないのでLinuxやmacOS上で圧縮フォーマットの変換を行うようにします。
この際の出力ファイル名はrootfs.tar.gzとします。

xz -d -c al2023-container-2023.5.20240903.0-arm64.tar.xz | gzip > rootfs.tar.gz

WSL-ToyCのダウンロード

自分でWSL2用の環境を構築すのに便利なツールWSL-ToyCがGitHubで入手可能なのでこれをダウンロードします。

WSL-ToyC
https://github.com/noumia/wsl-toyc/

リリースファイルの場所
https://github.com/noumia/wsl-toyc/releases

WSL-ToyCの展開

GitHubからダウンロードしたwsl-toycのZIPファイルを解凍して全てを展開します。
この際に展開するフォルダはインストールするディストリビューションやプロジェクトの名前に合わせて変更しておくと良いでしょう。
今回はAmazonLinux2023というフォルダに展開しました。

スクリーンショット 2024-09-06 14.38.10.png

AmazonLinux2023というフォルダに展開

スクリーンショット 2024-09-06 14.38.47.png

Dockerイメージのコピー

圧縮フォーマットの変換をして出来上がったrootfs.tar.gzファイルを先ほどwsl-toycを解凍したフォルダにコピーする。

スクリーンショット 2024-09-06 14.43.11.png

WSL-ToyCのランチャー実行ファイルをリネーム

wsl-toycを解凍したフォルダにあるWSLの起動用アプリlaunch-toyc.exeをインストールするディストリビューションの名前、今回のケースではAmazonLinux2023にリネームしました。

スクリーンショット 2024-09-06 14.41.35.png

create-toyc.exeを管理者権限で実行

create-toyc.exeはWSL-ToyCを展開したフォルダに含まれているRootディスクイメージの圧縮ファイル(rootfs.tar.gz)をWSL2が使用するExt4タイプの仮想ディスクにフォーマット変換し、Windowsターミナル用のWSL2起動プロファイルの登録を行なってくれるツールです。

スクリーンショット 2024-09-06 14.59.27.png

create-toyc.exeを実行すると、WSL-ToyCを展開したフォルダの中にWSL2の仮想化環境で利用する仮想ディスクイメージが作成されます。
スクリーンショット 2024-09-06 14.50.14.png

以上の操作でWSL2のディストリビューション一覧に新しくAmazonLinux2023が追加されたはずです。

スクリーンショット 2024-09-06 15.00.10.png

出来上がったAmazon Linux 2023仮想化環境の実行

AmazonLinux2023を起動するにはWindows Power Shellから以下のようにwsl -d [WSLディストリビューションの名前]で実行します。

wsl -d AmazonLinux2023

スクリーンショット 2024-09-06 15.00.50.png

Amazon Linux 2023が起動する際に色々とエラーメッセージが表示されますがとりあえず無視して次の作業に進みます。

ここからは起動したAmazon Linuxでの作業となります。
Amazon Linux 2023が起動した状態ではターミナルのプロンプトが# (rootユーザーのプロンプト)になっているはずです。

不足しているパッケージをインストール

このままrootユーザーのままで作業を続けることもできなくはないですが、Linuxでは通常は権限を制限した一般ユーザーで作業を行い、必要う最低限の場合だけ権限を昇格して運用することがほとんどでしょう。
とりあえず、その作業のために人ような追加パッケージをいくつかインストールします。

dnf install shadow-utils iproute util-linux-core openssh-clients bind-utils passwd sudo vim procps-ng

一般ユーザーの追加

Amazon Linuxが起動された直後はユーザーはrootユーザー(とシステムユーザー)のみで、一般ユーザーが存在しないので、まずはこれを追加します。
今回のケースでは自分が普段好んで使っているkazuというユーザー名でユーザーの追加を行いましたが、これは皆さんのお好みで!

useradd kazu

追加した一般ユーザーに管理者権限を与えるための設定を行います

一般ユーザーの権限を一時的に管理者権限まで昇格させる方法としてはsuコマンドとrootユーザーのパスワードを使って一時的にrootユーザーとしてログインする方法と、sudoコマンドと一般ユーザーのパスワードを使い、sudoコマンドのパラメーターとして与えられたコマンドを管理者権限で実行する方法が一般的に使われますが、ここではAmazon ec2で実行されているAmazon Linuxでも使われるsudoコマンドを使う方法で設定を行います。

追加した一般ユーザーをグループwheelに追加

最近のほとんどのディストリビューションでは一般ユーザーをグループwheelに追加することで、そのユーザーがsudoコマンドを使えるような設定となっていて、Amazon Linux 2023でもそのような設定がされています。

vim /etc/group
/etc/group
mem:x:8:
kmem:x:9:
wheel:x:10:kazu
cdrom:x:11:
mail:x:12:

ついでにec2でsudoコマンドを使う時と同じようにパスワードの入力なしでsudoコマンドを使えるようにsudoersファイルを修正します。
ここは好みと、仮想マシンを使う環境のセキュリティーの問題なので、状況に応じて変更すれば良いでしょう。

vim /etc/sudoers
/etc/sudoers
## Allows people in group wheel to run all commands
# %wheel        ALL=(ALL)       ALL

## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: ALL

ここまでの手順が終わったらWindows Power ShellでWSL2を一旦シャットダウンします

wsl --shutdown

ターミナルでのAmazonLinux2023ログインユーザーの変更

Windowsターミナルに自動的に追加されたAmazonLinux2023のプロファイルでAmazon Linux 2023のWSL2を起動すると、そのままではrootユーザーで仮想化環境が起動してしまうので、これを一般ユーザーで起動するように修正を加えます。

Windowsターミナルのタブの右端にあるドロップダウンメニューから「設定」を選びます。
スクリーンショット 2024-09-06 15.06.34.png

AmazonLinux2023のコマンドラインのパラメーターに--user [追加した一般ユーザー](自分の場合には'kazu')を追加します
スクリーンショット 2024-09-06 15.08.34.png

あとは設定を保存してターミナルのメニュー(プロファイル)からAmazonLinux2023を選んでWSL2を起動するとユーザーkazuでAmazon Linux 2023が起動されます。

スクリーンショット 2024-09-06 15.30.26.png

スクリーンショット 2024-09-06 15.09.11.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?