2021年11月7日日曜日

WSL2 で Debian 11 (Bullseye) を使う

/etc/apt/sources.list を修正して、 apt update, apt full-upgrade するのが楽かもしれない。

しかし、WSL2 のルートファイルシステムも Docker と同じ感じて作れるようなので、 Bullseye のルートファイルシステムを作って WSL2 へインポートしてみる。

前提

  • ゲスト OS: Ubuntu 20.04(WSL2)
  • Docker: Docker version 20.10.8, build 3967b7d

Debian 11 のルートファイルシステム作成

Docker コンテナ起動

debootstrap して作成したルートファイルシステムを Windows に持っていけるように、ボリュームをマウントしつつ Debian コンテナを起動。

PowerShell 上で、以下コマンドを実行。

docker run -it --rm -v "$(pwd):/work" --workdir "/work" -name debian debian:buster-slim

以降、起動した Debian コンテナ上でルートファイルシステムを作成していく。

必要パッケージのインストール

apt-get update
apt-get install -y debootstrap

debootstrap 実行

debootstrap で Debian 11 のルートファイルシステムを作成し、 tar で固める -> Windows へ渡すため、マウントしたフォルダへコピー。

cd
debootstrap bullseye ./bullseye http://deb.debian.org/debian
cd bullseye/
tar cfv ../debian-bullseye.tar .
cp ../debian-bullseye.tar /work

作成したら Debian コンテナはもう使わないので、停止。

WSL2 に Debian 11 をインポート

WSL2 ディストリビューションのディスク格納フォルダを作って、そこにインポートする。

PowerShell 上で以下コマンドを実行。

New-Item -ItemType Directory -p $HOME\wsl\debian\bullseye
wsl --import Debian-11 $HOME\wsl\debian\bullseye\ .\debian-bullseye.tar

Debian 11 の環境構築

Debian 11 のディストリビューション起動

PowerShell 上で以下コマンドを実行。

wsl -d Debian-11

Debian のアップグレードと必須パッケージインストール

アップグレードして sudo をインストールする。

起動した WSL 上で以下コマンドを実行。

apt-get update
apt-get upgrade -y
apt-get install -y sudo

一般ユーザー追加・設定

一般ユーザーを追加し、パスワード設定と sudo グループへの追加を行う。

useradd -m -s /bin/bash mikoto
passwd mikoto
gpasswd -a mikoto sudo

apt ソースリストの更新

適当に更新。

cat << EOF > /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian/ bullseye main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ bullseye main contrib non-free

deb http://ftp.jp.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ bullseye-updates main contrib non-free

deb http://security.debian.org/ bullseye-security main
deb-src http://security.debian.org/ bullseye-security main
EOF

デフォルトユーザー設定

/etc/wsl.conf を更新し、WSL2 起動時に追加した一般ユーザーでログインする設定を行う。

cat << EOF > /etc/wsl.conf
[user]
default=mikoto
EOF

WSL2 再起動

これで、追加したユーザー(今回は mikoto) でログインした状態で Debian 11 が起動する。

Debian をログアウトして、 PowerShell 上で以下コマンドを実行する。

wsl -t Debian-11
wsl -d Debian-11

バージョン確認

/etc/os-release で、 Debian 11 がインストールされていることを確認する。

再起動後の Debian 上で、以下コマンドを実行・確認する。

mikoto@DESKTOP-CO13JB2:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

以上、あとはよしなに。

参考資料

更新履歴

日付 更新内容
2021/11/7 新規作成
2021/11/10 sources.list の内容が適当すぎたので修正。
あわせて参考資料を追加。

0 件のコメント:

コメントを投稿