Windowsでubnutu環境を立ててvscodeでコーディングしたいだけなのにdockerの記事ばかり出てくるので、Ubuntu開発環境構築をメモしておく
この方法だと何個も仮想マシンをサクサク入れられる
WSL2のインストール
wsl --install
最新のwindowsならこれだけ
この辺にのってる
https://docs.microsoft.com/ja-jp/windows/wsl/install
https://docs.microsoft.com/ja-jp/windows/wsl/install-manual
Ubuntuイメージのダウンロード
wslにはrootfsイメージが必要なので、以下のサイトから"*wsl.rootfs.tar.gz"をダウンロードする
https://cloud-images.ubuntu.com/hirsute/current/
(21.04以外を使いたい場合は "ubuntu rootfs tar" とかでググればでてくる)
*Microsoft公式からダウンロードした.appxの一部を使う方法もあるらしい
http://www.y2sunlight.com/ground/doku.php?id=wsl2:ubuntu
*コンテナからイメージを作成するのがMicrosoftの公式に乗ってるが面倒くさい
https://docs.microsoft.com/ja-jp/windows/wsl/use-custom-distro
仮想マシンのインポート
rootfsが準備できたらコマンドでインポートする
wsl --import <ディストリビューション名> <ディストリビューションを格納するフォルダー> <rootfsのパス>
wsl --import ubuntu21.04-dev .\Desktop\wsl_distro\ubuntu20_04\ .\Downloads\hirsute-server-cloudimg-amd64-wsl.rootfs.tar.gz
wsl -l -v
でインポートしたディストリビューション名があることを確認
wsl -l -v
NAME STATE VERSION
* ubuntu21.04-dev Stopped 2
wsl -d <ディストリビューション名>
で起動してubuntuに入れることを確認
wsl -d ubuntu21.04-dev
#出力
root@{device-name}:/mnt/c/Users/{windows-user-name}#
管理者(root)のパスワード設定
ubuntuに入ってrootのパスワードを設定する
passwd
管理者(root)のパスワード設定
この方法で仮想マシンをつくるとroot ユーザでログインすることになるので一般ユーザーを作成してデフォルトユーザーとデフォルトディレクトリを一般ユーザーに変更する。(必要ない人はrootのままでOK)
useradd -m -s $(which bash) new-user-name
passwd new-user-name
usermod -G sudo new-user-name
echo 'cd ~' >> /home/new-user-name/.bashrc
cat << EOF > /etc/wsl.conf
[user]
default=user-name
[interop]
appendWindowsPath = false
EOF
exit
一旦仮想マシンを落とす
wsl -t ubuntu21.04-dev
仮想マシンにログインして一般ユーザーになっていることを確認
wsl -d ubuntu21.04-dev
#出力
new-user-name@{device-name}:$
vscodeからUbuntuにアクセス
Remote - WSLのExtensionを入れるだけ
VSコード左下角の><マークを押して New WSL Windows using distro...でディストリビューション名を選択する
仮想マシンの削除
wsl --unregister <ディストリビューション名>
> wsl --unregister ubuntu21.04-dev
これだけ
サクサク作ってサクサク削除しよう
参考
https://devlights.hatenablog.com/entry/2021/05/29/070000
http://www.y2sunlight.com/ground/doku.php?id=wsl2:ubuntu