Windows SubSystem for LinuxのデフォルトOSが ubuntuだったことからWindows10でのOSS開発環境はあきらめていましたがGitHubでCentOS8のインスタンスが公開されているとのことでお試しでインストールしてみました。
旧コントロールパネルから「プログラムと機能」で「Windows の機能の有効化または無効化」から次の機能を有効にして再起動。
「Linux 用 Windows サブシステム」
「Windows ハイパーバイザー プラットフォーム」
「仮想マシン プラットフォーム」
.
Microsoft Store から「WSL」を入手します。
.
GitHubから CentOS8.zipイメージをダウンロードして解凍、exeファイルをダブルクリックしてインストールすると「Windowsターミナル」から既定のOSになったことを確認しました。
.
This release is for Windows 10 2004 or later.
https://github.com/wsldl-pg/CentWSL/releases
.
.
.
早速、Docker をインストールしようとしましたが既定では Systemdが無効で別途、genie というソフトをインストールする必要がありました。
詳細は省きますが、リポジトリを CentOS Vaultに向けて epel をインストールして GitHubからrpmファイルをダウンロードすると良いようでした。
# cd /etc/yum.repos.d
# sed -i -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror/baseurl=http:\/\/vault/g' /etc/yum.repos.d/CentOS-*repo
# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-*
# dnf update
# dnf groupinstall "Development tools"
# dnf install epel-release
# wget https://github.com/arkane-systems/genie/releases/download/v1.36/genie-
1.36-1.fc33.x86_64.rpm
# dnf install genie-1.36-1.fc33.x86_64.rpm
# vi /root/.bashrc
↓↓↓(追記)↓↓↓
if [ "`ps -eo pid,lstart,cmd | grep systemd | grep -v -e grep -e systemd- | sort -n -k2 | awk 'NR==1 { print $1 }'`" != "1" ]; then genie -s fi # genie -i
# genie -s
# dnf install net-tools NetworkManager
# systemctl enable --now NetworkManager
# dnf install -y yum-utils device-mapper-persistent-data lvm2
# dnf config-manager --disable docker-ce-stable
# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# dnf install -y docker-ce docker-ce-cli containerd.io
# systemctl start docker
# systemctl enable docker
# docker -v
.
シャットダウンするには 「wsl – – shutdown」で終了です。お疲れ様でした。
参考URL: WSL2上のCentOS8でsystemctlを使えるようにする