Alpine Linux インストール備忘録

Server
Photo by hyt.

Apine Linux インストール備忘録です.

Alpine Linux ってなに?

Alpine Linux と言えば,最近 Docker なんかのコンテナのベースとして利用されるディストリビューションです.これ,Linux のディストリビューションの一つなので,Docker とは無関係にもちろん普通にインストールすることもできます.

かなりコンパクトに作られているみたい(だからコンテナで利用されるのですが)で,どんなものなのかかなり前から興味がありましたので,3連休を利用して試しにインストールしてみました.なお,元サイトは,

index | Alpine Linux
Alpine Linux

です.そして,インストール方法とか利用方法は,Wiki ページ

Alpine Linux

が元情報みたいですね.

インストールイメージについて

記事執筆時点の ver は,3.8.1 で,色々なインストールイメージが用意されています.現時点だと,x86_64 向けだと,

  • STANDARD(約104MB,ISO形式)
  • EXTEND(約369MB,ISO形式,ルーターとかサーバー用途に最適だそう)
  • NETBOOT(約113MB,tar.gz形式)
  • MINI ROOT FILESYSTEM(約2MB,tar.gz形式)
  • VIRTUAL(約32MB,ISO形式,STANDARD の Kernel を仮想用に最適化)
  • Xen(約154MB,ISO形式,Xen hypervisor 用のサポートを加えたもの)

が用意されていました.

今回は,Hyper-V に入れてみますので,VIRTUAL を選択したのですが,STANDARD の 1/3 の容量しかありません.多分ドライバやら何やらが入ってないんだと思いますが,すごい違いなんですね.

Hyper-V の設定

とりあえず,インストール時は以下のように設定しました.なお,メモリ等はもっと少なくても大丈夫だと思いますが,仮想マシンなので,そこまでキツキツにする必要は無いでしょう.

仮想マシン世代 第2世代
セキュリティ セキュアブートを無効化
メモリ 1024MB
プロセッサ 2個
仮想HDD 8GB

なお,第1世代でももちろん構いません.と言うか,最初 STANDARD イメージをインストールしてみたときは,第1世代じゃないとなぜか最後の書き込みに失敗してしまいました.VIRTUAL イメージだと大丈夫ってのはちょっと不思議だったんですが,原因は不明です.

VIRTUAL イメージのインストール

インストールは,VIRTUAL イメージの ISO (alpine-virt-3.8.1-x86_64.iso) から行います.

ISO イメージをマウントして,起動すると,一瞬 “Booting Linux.vrt” と表示されたあと,びっくりするくらい一瞬で,

Welcome to Alpine Linux 3.8
Kernel 4.14.59-0-virt on an x86_64 (/dev/tty1)

localhost login:

のように起動してきます.ログインは,root と打つだけで,パスワードなしでログインできます.

ログイン後は,

# setup-alpine

とすると,対話形式のインストーラーが起動します.概要は順に以下の通りです.

  1. Select keyboard layout: jp
  2. Available variants: jp-OADG109A
  3. Enter system hostname: alpine
  4. Which one do you want to initialize?: eth0
  5. Ip address for eth0?: 192.168.*.*
  6. Netmask?: 255.255.255.0
  7. Gateway: 192.168.*.*
  8. Do you want to do any manual network configuration?: no
  9. DNS domain name?: mydomain.local
  10. DNS nameserver(s)?: 192.168.*.*
  11. New password: *******
  12. Retype Password: *******
  13. Which timezone are you in?: Asia
  14. Which sub-timezone of ‘Asia’ are you in?: Tokyo
  15. HTTP/FTP proxy URL?: none
  16. Enter mirror number (1-43) or URL to add: f (速いサイトを検索)
  17. Which SSH server? (‘openssh’, ‘dropbear’ or ‘none’): openssh
  18. Which NTP client to run? (‘busybox’, ‘openntpd’, ‘chrony’, or ‘none’): chrony
  19. Which disk(s) would you like to use?: sda
  20. How would you like to use it?: sys (普通に HDD にインストールする場合)

この後,ディスクが全部消えるとの WARNING に ‘y’ と答えれば,

Installation is complete. Please reboot.

と表示されますので,インストール ISO をアンマウント(取り出し)して,リブートではなく,

# poweroff

とします(これまたあっという間に仮想マシンが停止します).これはなぜかと言うと,このままだと,

  1. DVD ドライブ
  2. ネットワークアダプタ
  3. ハードドライブ

の順に起動を試すため,なかなか起動してこないからです.つまり,仮想マシンの設定を最初にハードドライブから起動するように設定する訳です.これで電源を入れるとこれまたあっという間にログインプロンプトが表示されます.

インストール後の最低限の作業

され,インストール自体はここまでで終わりなのですが,これだけだとさすがに使いにくいので,最低限,

  1. 最新の状態にアップデート
  2. リモート管理用のユーザーの作成
  3. Hyper-V ゲストサービスのインストール

を行います.

まずは,最新の状態へのアップデートですが,

# apk update
# apk upgrade

とするだけみたいです.

次に,リモート管理用のユーザーですが,何と! useradd コマンドがありません.adduser と addgroup で何とかしなければならないようで,私の場合はとりあえず,

# addgroup -g 1001 hyt
# adduser -G hyt -u 1001 hyt

のようにしました.管理用ユーザーさえ作ればリモートから SSH で接続できます.

最後に Hyper-V ゲストサービスのインストールと起動方法は以下の通りです.

# apk add hvtools
(1/1) Installing hvtools (4.11.9-r0)
Executing busybox-1.28.4-r1.trigger
OK: 88 MiB in 49 packages
# rc-service hv_fcopy_daemon start
 * Starting Hyper-V daemon: hv_fcopy_daemon ...                           [ ok ]
# rc-service hv_kvp_daemon start
 * Starting Hyper-V daemon: hv_kvp_daemon ...                             [ ok ]
# rc-service hv_vss_daemon start
 * Starting Hyper-V daemon: hv_vss_daemon ...                             [ ok ]
# rc-update add hv_fcopy_daemon
 * service hv_fcopy_daemon added to runlevel default
# rc-update add hv_kvp_daemon
 * service hv_kvp_daemon added to runlevel default
# rc-update add hv_vss_daemon
 * service hv_vss_daemon added to runlevel default

これで最低限の設定が終わりです.

結果

結果は次の通りです.

まず,インストールされたディスクイメージの状態と使用量ですが,

$ df -mh
Filesystem                Size      Used Available Use% Mounted on
devtmpfs                 10.0M         0     10.0M   0% /dev
shm                     493.4M         0    493.4M   0% /dev/shm
/dev/sda3                 5.4G    120.8M      5.0G   2% /
tmpfs                    98.7M    132.0K     98.6M   0% /run
df: /sys/kernel/debug/tracing: Permission denied
/dev/sda1               511.0M    256.0K    510.7M   0% /boot/efi

のような感じになります.メモリの使用量は,

# free -m
             total       used       free     shared    buffers     cached
Mem:           986         70        916          0          2          9
-/+ buffers/cache:         58        927
Swap:         1972          0       1972

な感じ.約70Mですか.

サービスは,gentoo linux に近いそうで,現在のランレベルで動いているものを見たければ,

# rc-status 
Runlevel: default
 hv_kvp_daemon                                                     [  started  ]
 acpid                                                             [  started  ]
 crond                                                             [  started  ]
 hv_vss_daemon                                                     [  started  ]
 sshd                                                              [  started  ]
 chronyd                                                           [  started  ]
 hv_fcopy_daemon                                                   [  started  ]
Dynamic Runlevel: hotplugged
Dynamic Runlevel: needed/wanted
 sysfs                                                             [  started  ]
 fsck                                                              [  started  ]
 root                                                              [  started  ]
 localmount                                                        [  started  ]
Dynamic Runlevel: manual

のようにすれば良いようです.見ての通り,ほとんど何にも起動してません.なお,この状態だと 128MB あれば OS がきちんと起動してきます(CentOS7 だと 256MB が限界だった).

全体として非常にシンプルな作りで使いやすそうなので,これからおいおい慣れていきたいと思います.

以上!

Server
スポンサーリンク
Following hyt!
タイトルとURLをコピーしました