LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

WSL2のUbuntuでsystemdをPID1で動作させる

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0