最終更新:2021-06-04
【こちらの別記事】で WSL にインストール済の ArchLinux の post install 処理の手順を紹介します。sudo 可能なユーザの追加、カーネルの削除とアップデートの禁止処理、およびリポジトリおよびパッケージのアップデートを行います。操作は、新しい Windows Terminal (The new Windows Terminal) 上の PowerShell から WSL を起動して行います。
目次:
インストール直後は、ユーザは root だけの状態なので、一般ユーザを追加します。必ずしも Windows と同じユーザ名である必要は有りませんが、同じであった方が便利な事も有るかも知れません。 ArchLinux には 新しいウィンドウズ ターミナル (The new Windows Terminal) で PowerShell を開き、次のコマンドを打つと ArchLinux が起動します。引数に指定する ArchLinux は、インストール時に付与したディストリビューション名となります。尚、途中で このコマンド1つで、少なくとも次の処理が行われます。
詳細は 次のコマンドで、ユーザーのパスワードを変更します。このパスワードは、シャドーファイル (/etc/shadow) に暗号化して記載されます。 この内、 編集には 編集は、 編集結果が正しい事を次のコマンドで確認しておきます。 正しく編集出来て居れば、 次のコマンドで、ユーザを wheel グループに追加します。grep コマンドで正しく追加された事を確認しておきます。 デフォルト ユーザの設定を行って居ない状態で WSL を起動すると、root で起動してしまいます。これは問題なので、/etc/wsl.conf を作成して次の様に記述します。どの様な問題が発生するかと、設定の詳細は【こちらの別記事】を参照してください。 次のコマンドで、ユーザが正しく sudo 出来る様になった事を確認しておきます。 次のコマンドで、gpg キーをアップデートします。 WSL と WSL2 では、Linux カーネルは専用の物が使用されます。従って ArchLinux の標準リポジトリに有るカーネルは使用出来ません。インストールしても無視され、ディスク容量の無駄となります。
まずは、現在使用している使用しているカーネルを確認します。 次の様なメッセージが出力され、WSL2 専用のカーネルが使用されている事が確認出来る筈です。 WSL2 専用のカーネルが使用されている事が確認出来たら、pacman コマンドを使用して ArchLinux の標準カーネルを非インストールにマークします。もしインストールしていれば削除確認のメッセージが表示されますので 次のコマンドで、個別パッケージをアップデートします。アップデートするかと問われたら、 尚、同コマンドの2回目以降の実施で、強制的にパッケージ データベースのアップデートを行いたい場合には 【WSL 関係の目次へ戻る】 【Linux 関係の目次へ戻る】
ユーザの追加:
useradd
という便利なパッケージが予めインストールされていますので、これを使用します。WSL での ArchLinux の起動:
vim
エディタを使用しますので、必ず vt100 互換のターミナル エミュレータから実行してください。wsl -d ArchLinux
ホームディレクトリの作成とユーザ名とグループの追加:
useradd -m
コマンドだけで一連の操作が行えます。最後の ls コマンドで、ユーザのホームディレクトリが作成された事を確認しておきます。cd
useradd -m username
ls /home
man useradd
コマンドで確認可能です。尚、一旦作成したユーザを削除するコマンドは userdel
です。
vipw コマンドによる編集と同等
vigr コマンドによる編集と同等
cd /home ; chown username username ; chgrp username username と同等)
(.bashrc、.bash_logout、.bash_profiloe、.screenrc、.zshrc)
ユーザーパスワードの変更:
passwd username
sudoersファイルの編集:
visudo
コマンドにて、/etc/sudoers ファイルを編集します。このファイルの下の方に、次の部分があります。##
## User privilege specification
##
root ALL=(ALL) ALL
## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL
# %wheel ALL=(ALL) ALL
#
を外します。sudo
コマンド実行時にパスワードを使用したくない方は、2つ目の # %wheel ALL=(ALL) NOPASSWD: ALL
visudo
コマンドを使用して /etc/sudoers ファイルにロックを掛けながら行います。/wheel
でサーチし、h
もしくは ←
キー で移動するか、^
キーで行頭までジャンプして x
を2回打って2文字消去し、:
w
q
で終了します。尚、編集結果を捨てて終了したい場合は、:
q
!
です。visudo -c
parsed ok
と表示されます。
ユーザーの wheel グループへの追加:
usermod -a -G wheel username
grep wheel /etc/group
WSL 起動時のデフォルト ユーザの変更:
[user]
default=username
正しく設定された事の確認:
リポジトリのアップデート:
/etc/pacman.d/mirrorlist
ファイルに記載されたリポジトリの内、日本の https: サーバー以外をコメントにしておきます。pacman-key --init
pacman-key --populate archlinux
カーネルの削除とアップデートの禁止:
uname -svr
Linux 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020
y
と入力します。インストールしていなければ error: target not found:
とメッセージが出力される筈です。pacman -R linux-firmware broadcom-wl linux linux-lts efibootmgr syslinux
/etc/pacman.conf
を書き換えて、カーネルのバージョンアップが行われても無視する様にします。#IgnorePkg
と記載されている行を探し、先頭の #
を削除します。また、=
の後にカーネル関係のパッケージ名を記載します。次の真ん中の行の様に記載します。# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = linux linux-lts linux-firmware broadcom-wl efibootmgr syslinux
#IgnoreGroup =
パッケージのアップデート:
y
と答えます。少し時間が掛かります。
終了したら、ログアウトします。pacman -Syu
exit
pacman -Syyu
と y
を2つ記載します。