WSL2をwindows11環境でセットアップし自分なりにカスタマイズするコマンドのメモ。2022/02/14時点の情報だが随時更新予定。
WSL2導入
管理者権限でPowerShell または コマンドプロンプトを起動しに次のコマンドを入力する。
wsl --install
以前と比べると格段に楽になった。Linuxディストロの指定を特にしない場合はUbuntu 20がインストールされる。
インストール処理が完了した後にPCを再起動する。
再起動後、アプリ一覧よりUbuntuを選択し起動する。
新しいユーザー名とパスワードを入力する。
WSL2とUbuntuの導入はここで終わり
aptリポジトリの変更
私の自宅から標準のUbuntuミラーサーバーまでの通信が遅いため、最寄りのミラーサーバーへ変更する。
私の自宅からはNAISTが一番早いためこれに変更する。以下コマンド。
sudo perl -p -i.bak -e 's%(deb(?:-src|)\s+)https?://(?!archive\.canonical\.com|security\.ubuntu\.com)[^\s]+%$1http://ftp.naist.jp/pub/Linux/ubuntu/%' /etc/apt/sources.list
sudo apt update
標準で使うエディタを変更
私はCUIで利用するエディタはvim派なので、OS標準で利用するエディタの設定を変更する。
番号を入力しEnterを押下する。
sudo update-alternatives --config editor
WSLのデフォルトユーザーを変更する
私はWSLをVScodeから利用することが多いのだが、デフォルトユーザーが一般ユーザーだと/opt
などのファイルが編集できずに困る。
そのためデフォルトユーザーをrootに変更する。
ubuntu config --default-user root
シェルのユーザー名に色をつける
ユーザー名も標準の白色では読みにくいため色をつける。
以下コマンドをrootユーザーで実行する。
echo "export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '" >> /etc/profile.d/prompt.sh && \
echo "export PS1='\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\\$ '" >> /root/.bashrc
anyenvのインストール
GoやPython,Nodeのバージョン管理ができるanyenvを導入する。
# リポジトリのクローン
git clone https://github.com/anyenv/anyenv ~/.anyenv
# PATHを通す
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(anyenv init -)"' >> ~/.bashrc
# シェルの再起動
exec $SHELL -l
# プラグインのインストール
anyenv install --init
anyenvで各言語の環境をセットアップする
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
途中で上記のエラーが表示されることがあるがこれはこちらのPCのネットワークの問題かもしれない。Wi-Fiで接続していたので有線接続にしたところ収まった。
ftpでデータを拾ってくるときに接続が瞬断すると出るエラーなのだろうか?
# インストールできる言語を確認する
anyenv install --list
# 必要な言語をインストールする
anyenv install nodenv
anyenv install pyenv
anyenv install goenv
exec $SHELL -l
nodeのインストール
# インストールできるバージョンのリストを表示
nodenv install -l
nodenv install 14.18.3
nodenv global 14.18.3
node -v
pythonのインストール
pyenv実行前に必要なライブラリをインストールする。
sudo apt install -y libffi-dev libssl-dev zlib1g-dev liblzma-dev tk-dev libbz2-dev libreadline-dev libsqlite3-dev libopencv-dev build-essential git
pyenv install -l
pyenv install 3.9.10
pyenv global 3.9.10
python --version
goのインストール
goenv install -l
goenv install 1.17.7
goenv global 1.17.7
go version
gitの補完を有効にする
bashにてgitのコマンドを利用する際に、標準の設定では補完が効かない。
以下コマンドで有効にする。
echo "source /usr/share/bash-completion/completions/git" >> ~/.bashrc
source ~/.bashrc
参考文献
WSL で デフォルトユーザ を変更する方法 - いろいろ備忘録日記
ubuntu 20.04 / 18.04 に pyenv をインストール