WSL2のubuntu20.04のPID1がinitになっているのでsystemdへ変更した際の備忘録
#環境
windows 10 home
OSビルド19041.630
#手順
microsoft storeからubuntu20.04をインストール
デフォルトだとPID1はinitになっている
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 892 568 ? Sl 09:56 0:00 /init
Genieの依存パッケージであるdaemonize/dbus/policykit-1をaptでインストール
sudo apt update
sudo apt install -y daemonize dbus policykit-1
リポジトリを追加
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb dpkg -i packages-microsoft-prod.deb
time outするからキャンセルする
更新
sudo apt update; sudo apt upgrade
パッケージリスト消去
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
.NET を再インストール
sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/20.04/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
Genieのインストール
https://github.com/arkane-systems/genie
sudo apt-get install -y dotnet-runtime-3.1
sudo su
apt install lsb-release
cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
sudo deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
sudo deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
EOF
apt update
apt install -y systemd-genie
#ルートパーティションにラベルを付けるためFilesystem名確認
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 251G 1.7G 237G 1% /
#ラベルをつける
sudo e2label /dev/sdb cloudimg-rootfs
genie -s
確認
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.0 173368 13000 ? Ss 12:27 0:02 systemd
genie自動起動
vi .bashrc
#以下追記
if [[ ! -v INSIDE_GENIE ]]; then
exec /usr/bin/genie -s
fi