Windows で気軽に Linux : Alpine WSL のご紹介

のびのびラーニング
7 min readMay 23, 2020

--

今回も、Linux チョットデキル方向けの内容になります。

ご存知 WSL (Windows Subsystem for Linux) は、WSL2 のリリースが今月初旬に発表されるなど、もはや Windows 10 にとって重要な機能となっており、当初 Ubuntu のみだった Distro も着々と増えています

今回はその中から Alpine WSL をご紹介したいと思います。

はじめに : Why Alpine ?

_
私も日々 Ubuntu を WSL に入れて利用しているのですが、Ubuntu は
「ちょっと Linux を使いたい」という用途には巨大過ぎですね。
一応調べてみたところ、1.67 GB もありました。

気軽にインストールできるサイズではないですね…。

しかし、Alpine WSL は違います。

元々は Alpine Linux として開発されている Distro
で、SMALL, SIMPLE, SECURE をテーマとしています。

特筆すべきはそのサイズで、こちら
https://alpinelinux.org/downloads/
の「MINIROOT FILESYSTEM 版」のサイズを見てみると、

$ wget --spider http://dl-cdn.alpinelinux.org/alpine/v3.11/releases/x86_64/alpine-minirootfs-3.11.6-x86_64.tar.gz
Spider mode enabled. Check if remote file exists.
... omit ...
HTTP request sent, awaiting response... 200 OK
Length: 2732144 (2.6M) [application/octet-stream]
Remote file exists.

なんと 2.6 MB しかありません。
およそ PC 向けの OS とは思えないサイズですね。

Alpine Linux は Raspberry Pi 向けのイメージも用意されているので、そちらもまた別の機会にご紹介できればと思います。

about Alpine WSL

_
そんな Alpine Linux が WSL 向けにリリースされたのは 2018 年でした。
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1184731.html
こちらの記事の中で

ディストリビューションの開発元による裏付けがあります。

として紹介されています。以下は実際の issue です。
https://gitlab.alpinelinux.org/alpine/aports/issues/9408

Microsoft Store の紹介文には個人 GitHub の URL しか書いていないので
「これ入れても大丈夫なやつかな」と躊躇してしまいますが、上記の issue にて Alpine Linux のメンテナー達からきちんと承認を得たものであることが分かります。

パッケージのメンテナンスは、現在も GitHub で続けられており、最新版の 3.11.6 が利用できるようになっています。

install Alpine WSL

_

出自や現在の状況も分かりましたので早速インストールしてみましょう。
まだ WSL を一度も利用していない場合は、こちら
https://www.atmarkit.co.jp/ait/articles/1608/08/news039.html
の「手順1」の設定をまず行ってください。

WSL の準備が整いましたら Microsoft Store で Alpine WSL を検索し、
agowa338 さんのパッケージがヒットしたら「入手」して「インストール」します。
アカウントのログイン画面が出ますが、キャンセルしてもインストールは完了します。Ubuntu と違い、インストールは一瞬で終わります。

execute Alpine WSL

_
Ubuntu では Win + R(ファイル名を指定して実行)から bash と入力することで起動しますが、Alpine WSL では、そのまま alpine で起動します。

初回起動時はセットアップシーケンスが始まり、ユーザー名やパスワードを入力します。
パスワードは入力したユーザーのものではなく root のものですのでご注意ください。(ユーザーパスワードは「未設定」の状態になります。)

セットアップが完了するとプロンプトが出ます。

$ ls -A
.ash_history

実に簡素なものです。

busybox が対応しているコマンドなら初めから利用可能です。
対応の有無は busybox コマンドで確認できます。

$ busybox

環境を整える

_
パッケージの操作は apt ではなく apk というコマンドになりますが、パッケージの追加には superuser 権限が必要なので、セットアップ時に入力したパスワードで root にスイッチします。

$ su
password:
# apk update
# apk upgrade

普段 Debian や Ubuntu を利用していて root での作業が落ち着かない方は sudo を入れることで、システム変更の作業を自分のアカウントで行うことができます。

# apk add sudo
# vi /etc/sudoers

wheel group のコメントアウトを外し、sudo の対象にします。

-# %wheel ALL=(ALL) ALL
+%wheel ALL=(ALL) ALL

自分のアカウントに wheel group を追加します。
(nobi の所をご自身の username に置き換えてください)

# adduser nobi wheel
# id nobi
# passwd nobi

wheel が追加されているか確認し、忘れずにパスワードを設定したら sudo の動作を確認してみましょう。

# exit$ whoami
nobi
$ sudo whoami
password:
root

あとは openssh-client と rsync あたりを入れておけば、もう何でもできますね!

$ sudo apk add openssh-client
$ sudo apk add rsync
$ ssh-keygen -t ed25519

利用できるフォントはコマンドプロンプトで利用可能なものに限られますので、日本語にも対応している等幅フォントを入れておきましょう。

私のお勧めはモトヤの「小杉丸フォント」です。
https://fonts.google.com/specimen/Kosugi+Maru
元々「モトヤLマルベリ3等幅」の名前で Android の日本語フォントとして利用されていたもの(Android は 6.0 Marshmallow で Noto に交代しています)がリネームされたようです
Il が識別できないため、プログラミング作業には不向きかもしれませんが…。

上記リンク先の Download family から zip をダウンロードし、解凍した中にあるフォントファイルを実行すればインストールされます。

おわりに : 結局、サイズは?

_
結局、Alpine WSL のインストールサイズはいくらになったのでしょうか。

えっ!?、これ、OS ですよね!??

本日の内容は以上です。
ご精読頂き、まことにありがとうございます。

--

--

のびのびラーニング
のびのびラーニング

Written by のびのびラーニング

AI 技術者 (TensorFlow Developer Certificate) です

No responses yet