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

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

古いエントリのサムネイル画像がリンク切れになってたりするけど、チマチマ修正中


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

お時間あったら、他のエントリもクリックして頂ければ幸いです。