さくらのVPSでAlpineLinuxをインストール

2017年11月21日

VMware の仮想マシンとして、Alpine Linux を割と使っています。Docker で採用されたことで一躍注目されたスリムな linux です。わたしも Docker のニュースで知りました。

仮想にたてるのならイメージもメモリも節約出来るに越したことはありません。情報が少なくて最初はインストールにすら苦労しましたが、慣れてくると無駄が無くて使いやすいOSです。

せっかくなのでさくらのVPS で一台動かしてみようと思ったのが不運の始まり。かなり手こずりましたが、なんとか無事にインストール出来たので顛末をまとめてみました。

インストールイメージは alpine-virt-3.6.2-x86_64.iso です。仮想サーバー用の通常よりもさらにスリムなバージョンです。さくらのVPS コントロールパネルの、「OSインストール」メニューには[ISOイメージインストール]があります。これを選ぶと、一時的にSFTP用のユーザーアカウントを発行してくれるので、WinSCP などで ISOイメージをアップロードします。

一度にアップロード出来るイメージは一つまでで、一時アカウントは24時間後にイメージごと削除されます。

上記のイメージは34MBしかないので、アップロードもすぐに終わります。マウントされるとOSインストールボタンが有効になるので、ここからスタート。自動的に仮想マシンがブートしてCDイメージから起動します。

リモートコンソールを開くと見慣れたブート画面が。プロンプトが出たらいつも通りに root でログインして setup-alpine です。色々と設定して、さて最後にインストール先を選ぶ場面になって、

/dev/vda

という見慣れないデバイスが。なるほど、これがさくらの仮想ディスクなのかと思いながら、最後の「Erase ok?」に yes で答えると……パーティションが作成出来ないというエラーで止まってしまいました。

もう一度やり直しても同じエラー。イメージのアップロードに失敗したのかもと上げ直したり、スタンダード版のイメージを使ってみたりしましたが、いずれも同じエラーで止まります。うーん困った……

しばらく情報を探してみるも、該当するようなものはなくて別のディストリ使うかなぁと思っていた時に、ふと見掛けた別の linux系フォーラムの書込に海外の方の情報でパーティションを全部消してからやると出来るよ、というものがありました。

Alpine とは系統が違うけど、Live CD からという点は同じです。そもそも Live CD なので一通りのコマンドが使えることに気付いて無くて、fdisk でパーティション情報を確認しました。パーティションの種類が、マイクロソフト? なんぞこれ。

もしかして Hyper-V というやつなのでしょうか。VMware と KVM しか使ったことがなかったので、MS の仮想ホストは初見です。むむ、なんか細かいパーティションが色々切ってあるな……ひとまずはすべてのパーティションを削除して再起動しました。

しかし、やっぱりパーティション作成で同じエラーです。これはあかんやつなのか……諦めかけていたところに何気なく表示した fdisk のヘルプ表示が……

o create a new empty DOS partition table

ん? これって……あぁぁ! GPTディスクかっ! パーティションの数が妙に多く思えたのはこれか!

インストーラーは MBR じゃないとパーティショニング出来ない、多分これが原因だろうと思い至りました。さっそく

fdisk /dev/vda
Command (m for help):o
Command (m for help):w

しまして、再び setup-alpine です。設定を進めてドキドキしながら最後の yes……

やった! 来ましたインストール! パーティション作成からインストールまではあっという間に終わって、待ちに待った successful の文字が。

インストールにこぎ着けるまで二日かかりましたが、なんとか軽い Alpine 環境を構築出来ました。今の所 ftp デーモン追加しただけですが、38MB という省メモリっぷりです。512MB プランでも贅沢に感じる。

vsftpd を入れましたが、chroot を有効にした場合のハマリポイントを自分用にメモしておきたいと思います。

allow_writeable_chroot=YES
seccomp_sandbox=NO

この設定だいじ。とてもとても大事。特に下の設定は忘れやすいので注意です。今後は PostgreSQL 入れたり LightTPD 動かしたりして、どの程度のパフォーマンスが出るか試してみたいです。

はぁ、疲れました。