覺書: Ubuntu 20.04 on WSL2 (R2.12.18〜)
前置き
うちのPCにもWindows 10の更新(20H2)が來たので、ぼちぼちWSL2に移行してみるかなあ、といふことで、その際の作業について記しておくことにする。
インストール
以下、WSL1は既に入つてゐるのが前提、WSLは當然有效化されてゐる場合。
「仮装マシンプラットフォーム」機能の有效化
コントロールパネル > プログラムと機能 > Windowsの機能の有効化または無効化 から「Windowsの機能」設定窗を開き、「仮想マシン プラットフォーム」にチェックを入れて有效化する。
WSLのデフォルトバージョンを2に變更する
WSLのデフォルトのバージョンを變更する。PowerShellから次を實行。
- > wsl --set-default-version 2
インストール濟のUbuntuのWSL2への移行(失敗)
インストール濟のUbuntu(18.04)をWSL2に移行しようとして、次を實行したが、ハードリンクが云々とエラーが出て斷念。
- > wsl --set-version Ubuntu 2
Ubuntu 20.04の入手
仕方がないのでWindowsストアからUbuntu 20.04 LTSを入手することとした。インストール後、最初に起動する際に、ユーザ名とパスワードを設定する。
ターミナルエディタの設定
ConEmu
從前どほりConEmuを利用すべく、その設定をした。やつてゐることは前と一緒だが、引き寫しておく。
- レジストリエディタを起動し、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\の下からUbuntu 20.04のGUIDを取得する。
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{GUID}\DistributionName が Ubuntu-20.04 であるGUIDを取得する。
- 「Setting」の「Startup」>「Tasks」にタスク「WSL2 Ubuntu 20.04」を追加。
- Commandsに次を追加。
- %windir%\System32\wsl.exe {GUID} ~ -cur_console:p
Windows Terminal
Windows Terminalからも使へるやうにしてみた。Windows Terminalを後から入れたこともあつて、設定ファイルのsettings.jsonには既にUbuntu 20.04用の設定が含まれてゐた。以下はそこからの差分。
- 開始ディレクトリが何故かWindowsのユーザディレクトリとなり、不便極まるので、
"startingDirectory": "//wsl$/Ubuntu-20.04/home/hogehoge"
を追加。 - フォントを今までConEmuでも使つてゐたRicty Diminished Discordに差し替へた。
"fontFace": "Ricty Diminished Discord"
を追加。
aptのレポジトリを變更
國内の方が良いみたいなことを説く情報源をちらほら見るので、以下を實行してaptのレポジトリを變更する。
- $ sudo sed -i.bak -e "s%http://archive.ubuntu.com/ubuntu/%http://ftp.riken.go.jp/Linux/ubuntu/%g" /etc/apt/sources.list
理研よりJAISTの方が良いといふ人は、自分で適宜書き換へて欲しい。ぶつちやけ俺も拾つてきたのを適當に弄つただけだし。
パッケージ更新
aptの設定をしたからには早速活用する。とて、次を實行。
- $ sudo apt update
- $ sudo apt upgrade
.bashrcの更新
取り敢へず次を追加しておかないと危險。從前の環境で忘れてゐたことが發覺したので書いておく。
alias rm='rm -i'
sshの設定(引き繼ぎ)
~/.ssh 以下を既存環境からコピー。パーミッションの設定に留意。
日本語化
「WSLのUbuntu環境を日本語化する」を參照した。
- $ sudo apt -y install language-pack-ja
- $ sudo update-locale LANG=ja_JP.UTF8
- Ubuntuコンソールを再起動する。
- $ sudo dpkg-reconfigure tzdata
- タイムゾーンを適宜設定する。日本國内なら東京を選ぶ。
- $ sudo apt -y install manpages-ja manpages-ja-dev
apt install packages
以下、aptでインストールしたもの。
- make
- g++
- cmake
- bison
- flex
- libboost-all-dev
- xsltproc
g++-mingw-w64-x86-64 を取り敢へず入れてみたものの、クロスコンパイルするためのknow howの仕入れ方が不十分で活用できてゐない。(MSYS2使へば濟むし、寧ろ新しいバージョンのGCCが使へるし、といふのが大きいのは内緒。)
ウェブサイト管理環境(再)構築
ウェブサイト管理用の自前コードをビルドする。
- $ git clone https://github.com/oz-acy/metis.git
- $ cd ./metis
- $ cmake .
- $ make
- $ sudo make install
- $ cd ..
- $ git clone https://github.com/oz-acy/rhea.git
- 以下は同樣に行ふ。
CSS記述にSassを導入して久しいが、今回改めて情報を取り直し、RubyGemsのsassからDart Sassに乘り換へることとした。https://github.com/sass/dart-sass/releases/からlinux-x64用の.tar.gzを貰つてきて、展開して、PATHを通した。