【WSL2】Ubuntu 20.04でPID1をsystemdにする 2021年7月版
追記: 2122/11/19
WSL自体がsystemdをサポートしたので記事を書きました。
こちらもご覧ください。
こんにちは、しきゆらです。
今回は、もう何回書くのか、という勢いで書いているWSL2上でsystemctlを使うための手順です。
またもやOS入れ直しで環境リセットしたので、再度入れようとしたところ以前の手順では不十分だったのでメモしなおしです。
とはいえ、使うものは天下のgenie
です。
https://github.com/arkane-systems/genie
GENIEのインストール準備
依存するもののバージョンが変わったりものが増えたりしているので、対応してあげるだけなので簡単です。
まずは、依存しているもろもろを入れてあげます。
sudo apt install -y daemonize dbus gawk libc6 libstdc++6 policykit-1 systemd systemd-container
続いて、こいつも依存するものですがdotnet-runtime-5.0
を入れてやります。
# パッケージのインストール
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# パッケージの最新版を取得、更新
sudo apt update;
sudo apt upgrade;
# dotnet-runtime-5.0をインストール
sudo apt install dotnet-runtime-5.0
これにて下準備はおしまい。
では、genie
を入れていきます。
GENIEのインストール
sudo su # root になっておく
apt install apt-transport-https
wget -O /etc/apt/trusted.gpg.d/wsl-transdebian.gpg https://arkane-systems.github.io/wsl-transdebian/apt/wsl-transdebian.gpg
chmod a+r /etc/apt/trusted.gpg.d/wsl-transdebian.gpg
cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
EOF
apt update
exit # userに戻す
# system-genieのインストール
sudo apt install systemd-genie
これにてインストールは完了。
あとは、genie -l
などで実行しておけばOK。
WSL起動時にgenie
を自動起動させる
WSL実行時にgenie
を良しなに動いた状態にしておきたい場合は、以下を参考に設定しておけばよい。
https://github.com/arkane-systems/genie/wiki/Automatically-start-genie-on-every-shell-session
# Are we in the bottle?
if [[ ! -v INSIDE_GENIE ]]; then
echo "Starting genie:"
exec /usr/bin/genie -s
fi
これにて完了です。
前回書いたのが2021年3月だったので、結構な頻度で更新されているようです。
追っておいたほうがいいのかな。
ということで、今回はここまで。
おしまい
ディスカッション
コメント一覧
情報ありがとうございます。
「GENIEのインストール」で次があります。
# system-genieのインストール
sudo apt install system-genie
これはエラーとなりました。恐らく次が正しいかと思います。
# system-genieのインストール
sudo apt install systemd-genie
よろしくお願いいたします。
コメントありがとうございます。
こちら、修正しました。
大変すばらしい記事でした。
私の環境では、genieインストールの
18 # system-genieのインストール
19 sudo apt install system-genie
をsudo apt install systemd-genieにしたらインストールできました。
typoではありませんか?
参考にさせていただき、genieの導入ができました。ありがとうございます。
指摘ありがとうございます。
typoですね・・・修正しました。