WSL - Ubuntu 20.04 LTS
WSL のUbuntu 20.04 LTS が公開されていたのでUbuntu 18.04 LTS から移行しました。
マイクロソフトストアには以下の3つのUbuntu が存在しています。「Ubuntu」からはdo-release-upgrade
でバージョンアップできるけれど、「Ubuntu 18.04 LTS」からはバージョンアップできないんですね。
- Ubuntu
- Ubuntu-18.04
- Ubuntu-20.04
環境
- Windows 10 Insider Preview Build 20150
- 移行前WSL
- Ubuntu 18.04 (Ubuntu 18.04 LTS)
- bash 4.4.20
- node v13.9.0
- npm 6.13.7
- Docker version 19.03.6
- Docker Compose version 1.24.0
- 移行後WSL
- Ubuntu (Ubuntu 20.04 LTS)
- bash 5.0.16
- node v14.4.0
- npm 6.14.5
- Docker version 19.03.11
- Docker Compose version 1.26.0
- 移行前WSL
構築
WSL のインストール
- マイクロソフトストアから「Ubuntu」をインストール
- Ubuntu を起動してアカウント
ubuntu
を作成
WSL 側の設定
日本語設定
- 日本語オンラインマニュアルのインストール
$ sudo apt install language-pack-ja manpages-ja manpages-ja-dev
$ sudo update-locale LANG=ja_JP.UTF8
$ exit - ~/.bash_aliases の設定
~/.bash_aliases alias upd='sudo apt update && sudo apt dist-upgrade && sudo apt autoremove -y'
alias en='export LC_ALL=en_US.UTF8'
alias ja='export LC_ALL=ja_JP.UTF8'
function sshu() {
command ssh ubuntu@192.168.11.$1
}
Node.js
- n でNode.js をインストール
$ sudo apt update && sudo apt upgrade
$ sudo apt install nodejs npm
$ sudo apt clean all
$ sudo npm install n -g
$ sudo n latest
$ sudo ln -sf /usr/local/bin/node /usr/bin/node
$ sudo apt purge nodejs npm
$ sudo apt clean all
$ sudo apt autoremove
Chinachu
- chinachu のインストール
sudo apt install build-essential curl git-core vainfo python
sudo npm install pm2 -g
sudo pm2 startup
git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
cd ~/chinachu/
./chinachu installer
cp config.sample.json config.json - ~/chinachu/config.json の設定
"uid": "ubuntu",
"mirakurunPath": "http://192.168.11.2:40772/",
"recordedDir" : "/mnt/j/home/chinachu/recorded/",
"wuiUsers": [
], - 起動
echo [] > ~/chinachu/rules.json
./chinachu service wui execute
問題なく起動できたらCtrl+\で終了
./chinachu update
EPG取得テスト(エラーが出た場合は恐らく Mirakurun に接続できていません)
sudo pm2 start processes.json
sudo pm2 save - 起動スクリプト
/home/ubuntu/bin/wsl-chinachu.sh
cd /home/ubuntu/chinachu
/usr/local/bin/pm2 restart processes.json
Docker
- Docker のインストール
$ sudo apt install curl
$ curl -fsSL https://get.docker.com/ | sh
$ sudo usermod -aG docker ubuntu
$ sudo /etc/init.d/docker start
$ exit$ docker system info
Docker Compose
- 最新版のDocker Compose をインストールするワンライナー
$ curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | jq --arg PLATFORM_ARCH "$(echo `uname -s`-`uname -m`)" -r '.assets[] | select(.name | endswith($PLATFORM_ARCH)).browser_download_url' | xargs sudo curl -L -o /usr/local/bin/docker-compose --url && sudo chmod 755 /usr/local/bin/docker-compose
- Portainer のインストール
$ wget https://downloads.portainer.io/docker-compose.yml
$ docker-compose up -d
Hexo
- hexo インストール
$ npm install hexo
$ echo 'PATH="$PATH:./node_modules/.bin"' >> ~/.profile
$ . ~/.profile
$ npx hexo init blog
$ cd blog
$ npm install
$ npm i -S hexo-tag-googlecharts
$ npm i -S hexo-tag-twitter
$ npm i -S hexo-pdf
$ npm i -S hexo-deployer-git
$ npm i -S hexo-generator-search
$ npm i -S hexo-generator-feed
$ npm i -S hexo-related-popular-posts - ライブラリの修正
https://ktkr3d.github.io/2020/02/27/hexo-related-popular-posts/ - データの移行
$ scp -r ubuntu@localhost:/home/ubuntu/blog/_config.yml ~/blog/
$ scp -r ubuntu@localhost:/home/ubuntu/blog/google-services.pem ~/blog/
$ scp -r ubuntu@localhost:/home/ubuntu/blog/source ~/blog/
$ scp -r ubuntu@localhost:/home/ubuntu/blog/scaffolds ~/blog/
$ scp -r ubuntu@localhost:/home/ubuntu/blog/themes/freemind ~/blog/themes/ - キーの移行
$ scp -r ubuntu@localhost:/home/ubuntu/.ssh ~
- キャッシュのクリア
$ hexo clean
ポートフォワードの設定
- ポートフォワードスクリプトの作成
/home/ubuntu/bin/wsl-portforward.sh
IP=$(ip -f inet -o addr show eth0 | cut -d\ -f 7 | cut -d/ -f 1)
for PORT in 22 4000 8000 9000 20772; do
/mnt/c/Windows/system32/netsh.exe interface portproxy delete v4tov4 listenport=$PORT
/mnt/c/Windows/system32/netsh.exe interface portproxy add v4tov4 listenport=$PORT connectaddress=$IP
done
sshd の設定
- キーの作成
$ sudo su
# ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
# ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
Windows 10 側の設定
WSL のデフォルトを変更
- コマンドプロンプトでWSL のデフォルトをUbuntu に変更
wslconfig /list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-18.04 (既定)
Ubuntu
wslconfig /setdefault Ubuntu
wslconfig /list
Ubuntu (既定)
Ubuntu-18.04
タスクスケジューラの設定
- ポートフォワードの自動設定
名称:wsl-portforward
プログラム:wsl
引数:-u root bash /home/ubuntu/bin/wsl-portforward.sh
権限昇格: あり - sshd の自動起動
名称:wsl-sshd
プログラム:wsl
引数:-u root bash service ssh restart
権限昇格: あり - chinachu の自動起動
名称:wsl-chinachu
プログラム:wsl
引数:-u root bash /home/ubuntu/bin/wsl-chinachu.sh
権限昇格: あり - docker の自動起動
名称:wsl-docker
プログラム:wsl
引数:-u root -- /etc/init.d/docker start
権限昇格: あり
Comment