🕌
#01 WSLを使った作業環境を準備した時のメモ(2023.10)
はじめに
開発言語の多様化やAWS CDKやCLIが便利になり、ローカルで開発する機会が増えてきました。
次回用に備忘録として、WSL2を準備した時のメモをアップします。
セットアップ対象のバージョン
- Windows11
- Ubuntu on Windows
- rustup 1.80.1
- node 20.12.2
- aws-cli 1.29.20
WSLをインストールする
2.1 「WSL を使用して Windows に Linux をインストールする」を参照
管理者モードでPowerShellから、次のコマンドを実行する
> wsl - install
> wsl --set-default-version 2
※ビルド時にメモリーが枯渇する場合は、<ユーザディレクトリ>/.wslconfigの値を更新する
[wsl2]
memory=8GB ※
swap=0
WSLをセットアップする
WSLのターミナルを起動し、OSをアップデートする
$ sudo apt update && sudo apt upgrade
$ sudo apt-get install unzip ca-certificates curl gnupg lsb-release tree
$ sudo apt install -y build-essential gdb
$ sudo update-alternatives --config editor
Selection Path Priority Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
* 3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 15 manual mode
$ cd ~
$ vi .vimrc // Vim設定
---
scriptencoding utf-8
set visualbell
set noerrorbells
set tabstop=4
---
利用するツールをインストールする
開発環境
command
// Rust
// 参照: rustup is an installer](https://rustup.rs/
$ sudo apt install librust-alsa-sys-dev
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ source "$HOME/.cargo/env"
$ rustup -V
rustc 1.27.1
$ rustc -V
rustc 1.80.1
$ cargo -V
argo 1.80.1
// Node
// [node version manager]を参照する
// https://github.com/nvm-sh/nvm#installing-and-updating
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.39.5/install.sh | bash
$ nvm install stable --latest-npm
$ nvm ls-remote //nodeバージョン一覧表示
$ nvm install v18.17.0
$ nvm alias default v18.17.0
$ nvm ls-remote
$ node -v
$ cd ~/.nvm
$ git pull origin master //nvmバージョンアップしておきます。
$ vi .bashrc
---
if [ -f ~/.nvm/nvm.sh ];then
source ~/.nvm/nvm.sh > /dev/null 2>&1
fi
---
$ source ~/.bashrc
$ curl https://get.volta.sh | bash
//MEMO: キャッシュを削除したいとき
$ npm cache clean --force
aws tools
事前にIAMからデプロイ用のアクセスキーを取得する
command
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awcliv2.zip
$ sudo ./aws/install
$ aws --version
$ aws configure
$ cd .aws
$ vi config
---
[default]
region = ap-*****
---
$ vi credentials
---
aws_access_key_id = ******** // IAMで作成したデプロイ用アカウントのアクセスキー
aws_secret_access_key = ******** // IAMで作成したデプロイ用アカウントのアクセスキー
---
// brew インストール
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
$ test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
$ test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
$ test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
$ echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
$ brew install sl // 試し
$ sl
// AWS CLI
$ pip3 install awscli-local
$ complete -C aws_completer aws
$ echo '# aws completer' >> ~/.bash_profile
$ echo complete -C \'$(which aws_completer)\' aws >> ~/.bash_profile
Apx.1 WSL2からDockerを起動する
Docker Engine インストール(Ubuntu 向け)を参照
$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo apt-get install ca-certificates curl gnupg lsb-release build-essential file git
$ sudo mkdir -m 0755 -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
$ sudo service docker start
$ sudo docker run hello-world
$ sudo service docker stop
<memo>
$ sudo usermod -aG docker <利用ユーザー> ※パスワードの入力を不要にする
$ sudo update-alternatives --config editor ※デフォルトのエディターを変更
Apx.2 WSL2をCドライブからDドライブへ移す
WSL で使用する Linux ディストリビューションをインポートするを参照
※この操作で、40GBほどCドライブに空きを作ることができた。
Windows上で、PowerShellを起動する
$ wsl --export Ubuntu ubuntu_copy.tar // wsl --export <Distibution Name> <FileName>
$ wsl --unregister Ubuntu // この操作で現行WSLの中身は削除される。
$ cd D:\
$ mkdir wsl
$ mkdir tmp
$ mv ubuntu_copy.tar D:\tmp
$ wsl --import Ubuntu D:\tmp\ubuntu_copy.tar
(移動完了)
$ cat << EOF > /etc/wsl.conf // WSLログイン時のデフォルトユーザーを設定
$ [user]
$ default=<user-name>
$ EOF
Discussion