以前、VMでAmazon Linux 2を動かした。
shigeo-t.hatenablog.com
WSLで使いたい
VMwareじゃなく他のVirtualBoxとかの仮想化技術を使えばよかったのかもしれないが、VMware ToolsがインストールできないのでWindows側からコピペできないし、Windows側の操作に戻りたいときは[Ctrl]+[Alt]キーを押す必要がありめんどくさい。
WSLで動かしたいと調べてみるとWSLの例があった。
qiita.com
とはいえ、そのままではなかったので異なる点をメモしておく。あとWSLのマシンとWSL 2のマシン両方でやったが、どちらでも作成できた。Windows上のファイル/フォルダ構成は異なる。
準備
準備するものは変更は無かった。 WSLが動いているのは大前提。
shigeo-t.hatenablog.com
https://github.com/noumia/wsl-toyc/releases/download/v1.0/wsl-toyc.zip
https://cdn.amazonlinux.com/os-images/2.0.20181024/container/amzn2-container-raw-2.0.20181024-x86_64.tar.xz
インストール
xzコマンドはWSLのUbuntuのものを使用した。
cd Downloads/
cp amzn2-container-raw-2.0.20181024-x86_64.tar.xz /tmp
xz -d -c amzn2-container-raw-2.0.20181024-x86_64.tar.xz | gzip > rootfs.tar.gz
展開先はEドライブにWSL用のフォルダを作り、Amazon Linux 2用のフォルダを作成。そこに必要なファイルを集めた。wsl-toycはWindows側で解凍したものをコピー。
cp rootfs.tar.gz /mnt/e/WSL/amzn
cp wsl-toyc/*.* /mnt/e/WSL/amzn
cd /mnt/e/WSL/amzn/
ls -las
total 59496
0 drwxrwxrwx 1 shigeo shigeo 512 Oct 7 10:50 .
0 drwxrwxrwx 1 shigeo shigeo 512 Oct 7 10:25 ..
20 -rwxrwxrwx 1 shigeo shigeo 17920 Oct 7 10:50 create-toyc.exe
4 -rwxrwxrwx 1 shigeo shigeo 3584 Oct 7 10:50 launch-toyc.exe
59472 -rwxrwxrwx 1 shigeo shigeo 60896455 Oct 7 10:47 rootfs.tar.gz
0 -rwxrwxrwx 1 shigeo shigeo 385 Oct 7 10:50 setup.cmd
例ではcreate-toyc.exeを実行し、launch-toyc.exeをamzn.exeにリネームしているが、setup.cmdを見ると、引数で与えた名前でlaunch-toyc.exeをリネームしてくれる。これを使うことにした。
@rem
@echo off
if "%1" == "" goto help
mkdir "%1"
if ERRORLEVEL 1 goto err
if not exist rootfs.tar.gz (
echo place rootfs.tar.gz file
goto err
)
move rootfs.tar.gz "%1"
move create-toyc.exe "%1"
"%1\create-toyc.exe"
if ERRORLEVEL 1 goto err
ren launch-toyc.exe "%1.exe"
exit /b 0
:help
echo usage: setup.cmd distro_name
:err
exit /b 1
setup.cmdを管理者権限で実行する。PowerShellを管理者権限で起動し、 cmdでコマンドプロンプトに入り、setup.cmd amznを実行する。
cmd
setup.cmd amzn
1 個のファイルを移動しました。
1 個のファイルを移動しました。
distro: amzn
rootfs: E:\WSL\amzn\amzn\rootfs.tar.gz
すんなりできた。そしてamzn.exeを起動するとあっさり起動。
ただ、増殖させた時と同じようにrootユーザになってしまう。起動するユーザを設定できるらしいのは以前調べたのだが、どっかにいったのでとりあえずそのまま。
shigeo-t.hatenablog.com
確認やアップデート
まず、WSLに登録されているかを調べる。一番早いのはWindows Terminalに追加されているか。
登録されてた。早速起動。やはりroot。
yumでアップデート。
yum update -y
Loaded plugins: ovl, priorities
amzn2-core | 3.7 kB 00:00:00 (1/3): amzn2-core/2/x86_64/group_gz | 2.5 kB 00:00:00 (2/3): amzn2-core/2/x86_64/updateinfo | 259 kB 00:00:00 (3/3): amzn2-core/2/x86_64/primary_db | 45 MB 00:00:04 Resolving Dependencies
--> Running transaction check
---> Package amazon-linux-extras.noarch 0:1.6.3-1.amzn2 will be updated
---> Package amazon-linux-extras.noarch 0:1.6.12-1.amzn2 will be an update
(中略)
---> Package zlib.x86_64 0:1.2.7-17.amzn2.0.2 will be updated
---> Package zlib.x86_64 0:1.2.7-18.amzn2 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
python2-rpm x86_64 4.11.3-40.amzn2.0.5 amzn2-core 84 k
replacing rpm-python.x86_64 4.11.3-25.amzn2.0.3
Updating:
amazon-linux-extras noarch 1.6.12-1.amzn2 amzn2-core 36 k
bash x86_64 4.2.46-33.amzn2 amzn2-core 1.0 M
ca-certificates noarch 2019.2.32-76.amzn2.0.3 amzn2-core 391 k
coreutils x86_64 8.22-24.amzn2 amzn2-core 3.2 M
curl x86_64 7.61.1-12.amzn2.0.2 amzn2-core 342 k
(中略)
vim-minimal x86_64 2:8.1.1602-1.amzn2 amzn2-core 592 k
yum noarch 3.4.3-158.amzn2.0.4 amzn2-core 1.2 M
zlib x86_64 1.2.7-18.amzn2 amzn2-core 89 k
Transaction Summary
========================================================================================================================
Install 1 Package
Upgrade 53 Packages
Total download size: 35 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/54): amazon-linux-extras-1.6.12-1.amzn2.noarch.rpm | 36 kB 00:00:00
(2/54): bash-4.2.46-33.amzn2.x86_64.rpm | 1.0 MB 00:00:00
(3/54): ca-certificates-2019.2.32-76.amzn2.0.3.noarch.rpm | 391 kB 00:00:00
(中略)
(52/54): sqlite-3.7.17-8.amzn2.1.1.x86_64.rpm | 391 kB 00:00:00
(53/54): yum-3.4.3-158.amzn2.0.4.noarch.rpm | 1.2 MB 00:00:00
(54/54): zlib-1.2.7-18.amzn2.x86_64.rpm | 89 kB 00:00:00
------------------------------------------------------------------------------------------------------------------------
Total 8.6 MB/s | 35 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : ncurses-base-6.0-8.20170212.amzn2.1.3.noarch 1/108
Updating : tzdata-2020a-1.amzn2.noarch 2/108
(中略)
Verifying : libgcc-7.3.1-5.amzn2.0.2.x86_64 107/108
Verifying : elfutils-libelf-0.170-4.amzn2.x86_64 108/108
Installed:
python2-rpm.x86_64 0:4.11.3-40.amzn2.0.5
Updated:
amazon-linux-extras.noarch 0:1.6.12-1.amzn2 bash.x86_64 0:4.2.46-33.amzn2
ca-certificates.noarch 0:2019.2.32-76.amzn2.0.3 coreutils.x86_64 0:8.22-24.amzn2
curl.x86_64 0:7.61.1-12.amzn2.0.2 diffutils.x86_64 0:3.3-5.amzn2
(中略)
system-release.x86_64 1:2-12.amzn2 tzdata.noarch 0:2020a-1.amzn2
vim-minimal.x86_64 2:8.1.1602-1.amzn2 yum.noarch 0:3.4.3-158.amzn2.0.4
zlib.x86_64 0:1.2.7-18.amzn2
Replaced:
rpm-python.x86_64 0:4.11.3-25.amzn2.0.3
Complete!
ということで問題ない。EC2で試す前にこちらで試すのに使える。ところでDockerは動くかなあ。こんどやってみる。