いろいろやってみるにっき

てきとーに生きている奴の日記

https化に伴い、表示できなくなっているリンクについて修復中。
2018年から遡って修正し、2015年分まで修正完了。


WSLでAmazon Linux 2を動かす

以前、VMAmazon 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

 

  • wsl-toyc

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 setup.cmd
@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を起動するとあっさり起動。

f:id:shigeo-t:20201007110528p:plain

 

ただ、増殖させた時と同じようにrootユーザになってしまう。起動するユーザを設定できるらしいのは以前調べたのだが、どっかにいったのでとりあえずそのまま。

shigeo-t.hatenablog.com

 

確認やアップデート

まず、WSLに登録されているかを調べる。一番早いのはWindows Terminalに追加されているか。

f:id:shigeo-t:20201007110715p:plain

登録されてた。早速起動。やはりroot。

f:id:shigeo-t:20201007110934p:plain

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は動くかなあ。こんどやってみる。