Amazon Linux 2023大好き!!
手順
Amazon Linux 2023コンテナを起動する
shelldocker run amazonlinux:2023
Unable to find image 'amazonlinux:2023' locally
2023: Pulling from library/amazonlinux
91bcc9cfee80: Pull complete
Digest: sha256:ba9b575c9c9df3b4b7be350adf5db26bd7cee4aa5e826c6b9d0f40a26d002435
Status: Downloaded newer image for amazonlinux:2023起動したコンテナIDを取得する
shelldocker ps -lq
f3ac9bc8339d
コンテナイメージをエクスポートする
shelldocker export -o wsl.tar f3ac9bc8339d
wsl.tar
が出力されます。デスクトップに
amazonlinux
フォルダーを作成するPowerShellmkdir $ENV:USERPROFILE\Desktop\amazonlinux
wsl.tar
をamazonlinux
フォルダーに格納するWSL2にインポートする
PowerShellwsl --import amazonlinux $ENV:USERPROFILE\Desktop\amazonlinux\ $ENV:USERPROFILE\Desktop\amazonlinux\wsl.tar
項目 設定値 説明 <Distro> amazonlinux WSL2に登録するディストリビューション名 <InstallLocation> $ENV:USERPROFILE\Desktop\amazonlinux\ vhdxファイルが作成されるフォルダー <FileName> $ENV:USERPROFILE\Desktop\amazonlinux\wsl.tar インポートするイメージ
かんたん!
起動
WSL2でディストリビューションを指定して起動します。
wsl -d amazonlinux
OSの種類を確認します。
cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
SUPPORT_END="2028-03-01"
Amazon Linux 2023!!
やったぜ
よりAL2023っぽくする
ユーザーはやっぱりec2-user
じゃないとね!
sudoして使う感じを再現します。
dnf install shadow-utils sudo -y
adduser ec2-user
echo "ec2-user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
cat << EOF >> /etc/wsl.conf
[user]
default=ec2-user
EOF
一度ログアウトしてWSL2を一度シャットダウンします。
wsl --shutdown
再度WSL2にログインするとec2-user
wsl -d amazonlinux
id確認
id
uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user)
やっほーい!!
おまけ:例のやつを表示させる
例のアレ、出したいですよね。(アレですよ、アレ)
sudo dnf install update-motd
アレとは?
cat /lib/motd.d/30-banner
, #_
~\_ ####_ Amazon Linux 2023
~~ \_#####\
~~ \###|
~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023
~~ V~' '->
~~~ /
~~._. _/
_/ _/
_/m/'
!!
こうしておけばログインするたびに表示できます!
echo 'cat /lib/motd.d/30-banner' >> ~/.bashrc
VSCodeのWSL拡張で表示できるようにする
VSCodeのWSL拡張で開くにはいくつかパッケージが不足していますので追加します。
sudo dnf install tar findutils
これでWSL拡張でアクセスできるようになりました。
あれこれ追加
pingしたい
sudo dnf install iputils
sudo chmod 4755 /bin/ping
ipしたい
sudo dnf install iproute
wgetしたい
sudo dnf install wget
whichしたい
sudo dnf install which
bashに色をつけたい
sudo dnf install coreutils-common
bashの補完をしたい
sudo dnf install bash-completion
topしたい
sudo dnf install procps-ng
gitしたい
sudo dnf install git
sudo wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash \
-O /etc/bash_completion.d/git-completion.sh
sudo wget https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh \
-O /etc/bash_completion.d/git-prompt.sh
echo "PROMPT_COMMAND='__git_ps1 \"\u@\h:\w\" \"\\\$ \"'" >> ~/.bashrc
echo "PS1='[\u@\h \W$\(__git_ps1 \" \(%s\)\"\)]\$ '" >> ~/.bashrc
Systemdしたい
sudo dnf install systemd
/etc/wsl.confに追記してWSL再起動します。
[boot]
systemd=true
[user]
default=ec2-user
Dockerしたい
sudo dnf install docker
sudo usermod -aG docker $USER
sudo wget https://raw.githubusercontent.com/docker/cli/master/contrib/completion/bash/docker \
-O /etc/bash_completion.d/docker-completion.sh
sudo systemctl enable docker
sudo systemctl start docker
ログドライバーを変える
{
"log-driver": "local"
}
Docker Composeしたい
wget https://download.docker.com/linux/fedora/36/x86_64/stable/Packages/docker-compose-plugin-2.6.0-3.fc36.x86_64.rpm
sudo rpm -ivh docker-compose-plugin-2.6.0-3.fc36.x86_64.rpm
AWS関連のツールを追加
AWS CLI v2
標準で提供されています。
sudo dnf install awscli-2
コマンド補完を有効化
echo "complete -C '/usr/bin/aws_completer' aws" >> ~/.bashrc
source ~/.bashrc
最新バージョンが必要な場合は手動でインストールしましょう。
pushd /tmp
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
popd
コマンド補完を有効化(手動インストールの場合)
echo "complete -C '/usr/local/bin/aws_completer' aws" >> ~/.bashrc
source ~/.bashrc
AWS SAM CLI
手動でインストールします
pushd /tmp
curl -L "https://github.com/aws/aws-sam-cli/releases/latest/download/aws-sam-cli-linux-x86_64.zip" -o aws-sam-cli-linux-x86_64.zip
unzip aws-sam-cli-linux-x86_64.zip -d sam-installation
sudo ./sam-installation/install
popd
AWS CDK
事前にNode.jsをインストールする必要があります。
sudo dnf install nodejs
CDKをインストールします
sudo npm install -g aws-cdk
Amplify CLI
手動でインストールします
sudo npm install -g @aws-amplify/cli
パッケージを更新する方法
Amazon Linux 2023はdnf update
コマンドでは最新化できるわけではありません。
dnf check-update
Last metadata expiration check: 0:37:37 ago on Fri Jun 16 20:21:24 2023.
最新にしたい場合は、releasever
を明示的に指定する必要があります。
dnf check-update --releasever=latest
Amazon Linux 2023 repository 10 MB/s | 14 MB 00:01
Last metadata expiration check: 0:00:04 ago on Fri Jun 16 20:58:03 2023.
amazon-linux-repo-cdn.noarch 2023.0.20230614-0.amzn2023 amazonlinux
gnupg2-minimal.x86_64 2.3.7-1.amzn2023.0.4 amazonlinux
gnutls.x86_64 3.8.0-375.amzn2023.0.1 amazonlinux
runc.x86_64 1.1.5-1.amzn2023.0.1 amazonlinux
system-release.noarch 2023.0.20230614-0.amzn2023 amazonlinux
wget.x86_64 1.21.3-1.amzn2023.0.3 amazonlinux
sudo dnf update --releasever=latest
Last metadata expiration check: 0:52:04 ago on Fri Jun 16 20:04:12 2023.
Dependencies resolved.
Nothing to do.
Complete!
sudo dnf update
Last metadata expiration check: 0:52:04 ago on Fri Jun 16 20:04:12 2023.
Dependencies resolved.
Nothing to do.
Complete!
sudo dnf update --releasever=latest
Amazon Linux 2023 repository 12 MB/s | 14 MB 00:01
Last metadata expiration check: 0:00:04 ago on Fri Jun 16 20:59:40 2023.
Dependencies resolved.
=======================================================================
Package Arch Version Repository Size
=======================================================================
Upgrading:
amazon-linux-repo-cdn
noarch 2023.0.20230614-0.amzn2023 amazonlinux 18 k
gnupg2-minimal x86_64 2.3.7-1.amzn2023.0.4 amazonlinux 421 k
gnutls x86_64 3.8.0-375.amzn2023.0.1 amazonlinux 1.1 M
runc x86_64 1.1.5-1.amzn2023.0.1 amazonlinux 3.1 M
system-release noarch 2023.0.20230614-0.amzn2023 amazonlinux 29 k
wget x86_64 1.21.3-1.amzn2023.0.3 amazonlinux 780 k
Transaction Summary
=======================================================================
Upgrade 6 Packages
Total download size: 5.4 M
さっきwgetインストールしたばかりですが、もう最新版が出てますね。 これはインストール時点で最新のパッケージが導入されるわけではなく、OSのバージョンにあったバージョンがインストールされるということです。
参考
https://learn.microsoft.com/ja-jp/windows/wsl/use-custom-distro
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/getting_started.html