⇧ Oh, my gosh...
WSL 2(Windows Subsystem for Linux 2)がsystemdに対応されてるのでCentOSを使う
何だかんだで、テスト環境だと「CentOS 7」が未だ現役なことがあることが多いのかもしれないので「WSL 2(Windows Subsystem for Linux 2)」で「CentOS 7」を使ってみる。
By the way、
⇧「WSL 2(Windows Subsystem for Linux 2)」でsystemdが利用できるようになっていますね。
で、「WSL 2(Windows Subsystem for Linux 2)」でインストール可能なディストリビューションの一覧を確認してみたところ、
⇧ インストール可能なディストリビューションとして、「CentOS」は見当たらない...
「WSL 2(Windows Subsystem for Linux 2)」でインストール可能なディストリビューションとして用意されていないLinuxディストリビューションを利用する場合は、
ディストリビューションの tar ファイルを取得する
まずは、そのディストリビューションのすべての Linux バイナリが含まれる tar ファイルを取得する必要があります。
tar ファイルは、さまざまな方法で取得できます。そのうちの 2 つは次のとおりです。
- 提供されている tar ファイルをダウンロードする。 Alpine Linux のダウンロード サイトの「MINI ROOT FILESYSTEM」セクションで、Alpine に関する例を確認できます。
- Linux ディストリビューション コンテナーを探し、インスタンスを tar ファイルとしてエクスポートする。 以下の例は、CentOS コンテナーを使用したこのプロセスを示します。
https://learn.microsoft.com/ja-jp/windows/wsl/use-custom-distro
⇧ どちらかの方法でインストールする感じになる模様。
⇧ 上記サイト様によりますと、tarを公開してくれていらっしゃる方がおられるそうな、ありがたや。
今回は、上記サイト様で紹介されていたGitHub のリポジトリで公開されているzipファイル(tarが含まれてる。正確には、tar.gzファイルだけど。)をダウンロードしてくる方法を選択。
ダウンロードが完了したら、展開(解凍)して、「CentOS7.exe」を実行する。
仮想ハードディスクの「ext4.vhdx」が出来上がっていればOKらしい。
CentOSが追加されています。
CentOSを起動して接続。
systemdが有効になっていないようなので、
systemd を有効にする方法
WSL 2 で実行されている他の Linux ディストリビューションに対して systemd を有効にするには (systemv init の使用から既定値を変更する)。
⇧ 上記にある手順の通り、「/etc/wsl.conf」ファイルを作成して、設定を追記する。
追記して、保存。
CentOSを再起動して、systemdが有効になったことを確認する。
とりあえず、「CentOS 7」が利用できるようになったようです。
ユーザーを追加しておく。
useradd [ユーザー名]
passwd [ユーザー名]
CentOSでデフォルトで用意されているsudoの利用できるグループに、作成したユーザーを追加する。
usermod -aG wheel [ユーザー名]
追加したユーザーがsudoを利用できるように設定。
vi /etc/pam.d/su
以下のコメントアウト部分を解除する。
#auth required pam_wheel.so use_uid
auth required pam_wheel.so use_uid
追加したユーザーでsudoが利用できるか確認。
⇧ sudoが利用でき、wheelグループにも追加されているのが確認できました。
パスワードについては、
⇧ パスワード(平文)が分かっていれば、ハッシュ化したものと比較して確認できる模様。
⇧ ハッシュの値が一致しているのが確認できました。
pythonでも確認できる模様。
⇧ 気を付けたいのが、確認のためにハッシュ化する時に指定する「ソルト」の値で、「$」はエスケープのために、「\」を付けてあげる必要があるってことですかね。
まぁ、パスワード(平文)忘れちゃった場合は、変更するしかないけど...
毎度モヤモヤ感が半端ない...
今回はこのへんで。