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

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

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


WSLでAmazon Linux 2を動かした後に一般ユーザ起動と日本語化の設定

Amazon Linux 2をWSLで動かしたが、東京リージョンのEC2で動いているAmazon Linux 2とはだいぶ違う。ダウンロードしたrootfs(実際のダウンロードファイル名 amzn2-container-raw-2.0.20181024-x86_64.tar.xz )のサイズを見ると、かなりコンパクトに削られているのだろう。

 

一般ユーザで使えるようにする

まずは一般ユーザで使えるようにした。動かすところまではこのエントリの通り。

 

ユーザの準備

ユーザを準備する。これを参照。

roy-n-roy.github.io

# group作成
> groupadd -g 1000 roy

# ユーザ作成
> useradd -g 1000 -u 1000 roy

# wheelグループにユーザを追加
> usermod -G wheel roy

# royユーザにパスワードを設定
> passwd roy

# royユーザに切り替え
> su - roy

# sudoが利用出来るか確認
> sudo yum update

 

ところがgroupadd,useradd,usermodコマンドはあったけど、なんとsudoとかpasswdコマンドが無かったのでこんな感じになった。

# group作成
> groupadd -g 1000 ec2-user

# ユーザ作成
> useradd -g 1000 -u 1000 ec2-user

# wheelグループにユーザを追加
> usermod -G wheel ec2-user

# passwdコマンドインストール
> yum install passwd -y

# ec2-userユーザにパスワードを設定
> passwd ec2-user

# ec2-userユーザに切り替え
> su - ec2-user

# sudoコマンドインストール
> yum install sudo -y

# sudoが利用出来るか確認
> 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

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

 

 足りないコマンドを一気に導入

 上記のようにちょくちょくコマンドノットファウンド(カタカナで書くなw)になる。あまりCentOSRHELを使うことが無かったので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

 

実行してみる。

locale -a

jaが入っている。Dockerfileでの設定方法では困るので/etc/profileに書くことにした。これも参照元があったのだが、URLを失念。 

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

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"
# 

 

読み込む。

source /etc/profile

確認する。

locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=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

日本語になっている。

 

長くなったのでこの先はまた別途。