概要
Alpine Linux のページで rootfs ファイルがあるのを発見したので、ついでにWSL2の環境を作ったので忘れないうちにメモメモ。。
Alpine Linux の rootfs は以下からダウンロードできます。
右下に MINI ROOT FILESYSTEM
というセクションがあるので、そこからダウンロードします。
alpine-minirootfs-3.15.0-x86_64.tar.gz
を落としたのですが、なんとサイズが 2.6MB 。さすが軽量Linux。
後は、参考情報にある記事と同じ内容になりますが、セットアップしていきます。
rootfs をインポート
> wsl --import alpine c:\data\wsl\alpine c:\data\rootfs\alpine-minirootfs-3.15.0-x86_64.tar --version 2
起動して初期設定
先程インポートした環境に入ります。
> wsl -d alpine
ルートユーザでログインした状態になっているので、初期設定を済ませます。
私の場合はGoでちょっと遊べればいいので、それ用のものなどをインストール。
# 最低限必要なものとかタイムゾーンとかユーザ作成とか $ apk update $ apk add shadow tzdata sudo bash bash-completion git vim make musl-dev go curl openssh figlet bat $ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime $ echo 'Asia/Tokyo' > /etc/timezone $ echo 'export TZ=Asia/Tokyo' >> /etc/profile $ echo 'export LANG=ja_JP.UTF-8' >> /etc/profile $ echo 'export LANGUAGE=ja_JP.UTF-8' >> /etc/profile $ echo 'export LC_ALL=ja_JP.UTF-8' >> /etc/profile $ echo 'export GOPATH=/go' >> /etc/profile $ echo 'export PATH=/go/bin:/usr/local/go/bin:${PATH}:/mnt/c/Windows' >> /etc/profile # ユーザ作成 $ useradd -m -s $(which bash) dev $ passwd dev $ usermod -G wheel dev # GOPATHの場所を用意して、オーナーを調整 $ mkdir /go $ chown dev:wheel /go # WSL2で入ったらデフォルトのユーザをdevに $ cat << EOF > /etc/wsl.conf [user] default=dev [interop] appendWindowsPath=false EOF # sudo出来るように $ cat << EOF > /etc/sudoers dev ALL=(root) ALL EOF $ exit
個々まで来たら、一度再起動しておきます。
> wsl -t alpine
一般ユーザでの初期設定
次にログインすると一般ユーザになっています。
> wsl -d alpine
後はちょっとした調整。
# .profileと.bashrcとか $ echo '. ${HOME}/.bashrc' >> "${HOME}/.profile" $ echo 'PS1="\[\e[1;32m\]\u@\h:\[\e[0m\]\w\[\e[1;32m\]\n$ \[\e[0m\]"' >> "${HOME}/.bashrc" $ echo 'cd ~' >> "${HOME}/.bashrc" # Windowsのパス追加を設定で無効にしている場合は code コマンドが見えないのでエイリアス追加 $ echo 'alias code=/mnt/c/path/to/vscode/bin/code' >> "${HOME}/.bashrc" # Goでよく使うライブラリをインストール $ go install golang.org/x/tools/cmd/goimports@latest $ go install honnef.co/go/tools/cmd/staticcheck@latest # おまけ $ cd /tmp $ git clone https://github.com/xero/figlet-fonts.git $ sudo mkdir -p /usr/share/figlet $ sudo mv figlet-fonts /usr/share/figlet/fonts
これで個人的にはオッケイ。最後に再起動して入り直せば環境出来上がりです。
> wsl -t alpine > wsl -d alpine
$ figlet -f starwars 'Alpine WSL2' ___ __ .______ __ .__ __. _______ / \ | | | _ \ | | | \ | | | ____| / ^ \ | | | |_) | | | | \| | | |__ / /_\ \ | | | ___/ | | | . ` | | __| / _____ \ | `----.| | | | | |\ | | |____ /__/ \__\ |_______|| _| |__| |__| \__| |_______| ____ __ ____ _______. __ ___ \ \ / \ / / / || | |__ \ \ \/ \/ / | (----`| | ) | \ / \ \ | | / / \ /\ / .----) | | `----. / /_ \__/ \__/ |_______/ |_______||____|
参考情報
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場