Amazon Linux 2をWSLで動かしたが、東京リージョンのEC2で動いているAmazon Linux 2とはだいぶ違う。ダウンロードしたrootfs(実際のダウンロードファイル名 amzn2-container-raw-2.0.20181024-x86_64.tar.xz )のサイズを見ると、かなりコンパクトに削られているのだろう。
一般ユーザで使えるようにする
まずは一般ユーザで使えるようにした。動かすところまではこのエントリの通り。
ユーザの準備
ユーザを準備する。これを参照。
roy-n-roy.github.io
> groupadd -g 1000 roy
> useradd -g 1000 -u 1000 roy
> usermod -G wheel roy
> passwd roy
> su - roy
> sudo yum update
ところがgroupadd,useradd,usermodコマンドはあったけど、なんとsudoとかpasswdコマンドが無かったのでこんな感じになった。
> groupadd -g 1000 ec2-user
> useradd -g 1000 -u 1000 ec2-user
> usermod -G wheel ec2-user
> yum install passwd -y
> passwd ec2-user
> su - ec2-user
> yum install sudo -y
> sudo yum update
実は例に逆らってusermodでrootグループを指定したのだが、エラーメッセージを見てwheelグループがsudoの実行権限ということを知った。
起動ユーザの切替
起動ユーザの切替は、
現在の設定ではCentOSを起動した時にはrootユーザでログインされるようになっています。
これを変更するにはWindows上のレジストリか、各ディストロの /etc/wsl.conf に設定することで変更できます。
/etc/wsl.confは無かったので、レジストリエディタで変更した。
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{対象のディストリビューション}のDefaultUidを10進1000にすればOK。都合により1001になってるけどw
足りないコマンドを一気に導入
上記のようにちょくちょくコマンドノットファウンド(カタカナで書くなw)になる。あまりCentOSやRHELを使うことが無かったのでyumについては知らなかったのだが、以前参照したこのブログ記事で使われているのを見て、存在を認識した。
qiita.com
yum groupinstall -y "Development Tools"
Development Toolsがあるなら、その他のgroupinstallもあるに違いないと検索してみた。一覧があった。
yum groupinstall の一覧表
この一覧でまず入れるべきはBaseだろう。Baseを入れたらかなりコマンド不足は解消した。
yum groupinstall -y "Base"
日本語化
grouplistは無い?
続いて上記リストで日本語のサポートを入れると日本語化に近いのではないかと考えた。ところがエラーになる。日本語化に成功する前にメッセージを確保していなかったので、現在入れるとメッセージが日本語化されている。
yum groupinstall -y "Japanese Support [ja]"
読み込んだプラグイン:langpacks, ovl, priorities, update-motd
2 packages excluded due to repository priority protections
Warning: group Japanese Support [ja] does not exist.
Maybe run: yum groups mark install (see man yum)
エラー: インストールまたは更新に利用できるいくつかの要求されたグループにパッケージがありません
[ja]が引っ掛かっているのかと思って外してみたが結果は同じ。
yum groupinstall -y "Japanese Support"
読み込んだプラグイン:langpacks, ovl, priorities, update-motd
2 packages excluded due to repository priority protections
Warning: group Japanese Support does not exist.
Maybe run: yum groups mark install (see man yum)
エラー: インストールまたは更新に利用できるいくつかの要求されたグループにパッケージがありません
localectlも使えない
設定方法を調べてみた。
qiita.com
ところがlocalectl statusコマンドを使うとエラーになる。
localectl status
Failed to create bus connection: No such file or directory
色々調べているとこれがヒットした。qiita.com
実行してみる。
jaが入っている。Dockerfileでの設定方法では困るので/etc/profileに書くことにした。これも参照元があったのだが、URLを失念。
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
(中略)
unset i
unset -f pathmunge
LANG="ja_JP.UTF-8"
LANGAGE="ja_JP:ja"
LC_ALL="ja_JP.UTF-8"
読み込む。
確認する。
locale
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
コマンドを実行してメッセージを表示させる。
[root@EAGLEII ~]# date
2020年 10月 11日 日曜日 04:21:47 JST
[root@EAGLEII ~]# ls -l
合計 592
drwxr-xr-x 8 root root 4096 10月 10 10:21 genie-master
-rwxr-xr-x 1 root root 598599 10月 10 09:44 genie-master.zip
日本語になっている。
長くなったのでこの先はまた別途。