この記事について
Alpine LinuxをVirtualBox / VMware Workstation Player(以下VMware)へ、Vagrant
等に頼らずインストールするための手順書です。
執筆時の環境
Windows10 1909
AlpineLinux 3.11.2
VirtualBox 6.1
VMware Workstation Player 15.5
準備
AlpineLinuxの入手
仮想PC向けに要らない要素を削ぎ落したVIRTUAL
版がおすすめです。
- VirtualBox用Tips
- GuestAdditionsのパッケージが64bit用しかないので、`x86_64`がおすすめです。
- VMware用Tips
- デフォルトNICのドライバがVIRTUAL版には入っていないので、仮想PCのセットアップ後に一手間必要になります。後述の説明を参照して下さい。
仮想PCセットアップ(Tips)
- シリアル接続
- VIRTUAL版の場合シリアルポート経由で接続でき、インストールの段階でターミナルエミュレータのコピペ機能等が利用できます。
名前付きパイプを利用する場合、パイプ名には
\\.\pipe\
という接頭辞が必要なので注意しましょう。
- VirtualBox用Tips
- ストレージ
- コントローラを
virtio-scsi
にするとオーバーヘッドを減らせます。 - ネットワーク
- アダプタータイプを
準仮想化ネットワーク(virtio-net)
にするとオーバーヘッドを減らせます。
- VMware用Tips
-
VIRTUAL版にはデフォルトNIC用のドライバが入っていないため、デバイスタイプの変更が必要です。
仮想PCを作成後VMwareを一旦終了させて、
*.vmx
ファイルに以下の一行を追記して下さい。ethernet0.virtualDev = "vmxnet3"`
インストール
-
ログイン …
root
と入力すればパスワードなしでログインできます。
localhost login: root
-
ログイン後 …
setup-alpine
と入力してインストーラを起動します。
localhost:~# setup-alpine
-
キーボードの選択(1/2) … 日本語キーボードであれば
jp
と入力します。
Available keyboard layouts: (省略) Select keyboard layout [none]: jp
-
キーボードの選択(1/2) … 日本語キーボードであれば
jp
と入力します。
AT互換機の場合jp-OADG109A
、macの場合jp-mac
の方が良いかもしれません。
Available variants: jp-OADG109A jp-dvorak jp-kana jp-kana86 jp-mac jp Select variant []: jp
-
ホスト名 … デフォルト設定
localhost
で良ければenter。
Enter system hostname (short form, e.g. 'foo') [localhost]:
ネットワーク設定 … 以下の手順をネットワークアダプタ(インターフェース)毎に繰り返します。
DHCPを設定する場合
- インターフェース名 … デフォルト設定
eth?
(?=0~)でenter。Which one do you want to initialize? (or '?' or 'done') [eth0]
- アドレス … デフォルト設定
dhcp
でenter。Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp]
固定IPを設定する場合
- IPアドレス …
192.168.xx.xx
と入力Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp] 192.168.137.128
- ネットマスク … デフォルト設定
255.255.255.0
でenter。Netmask? [255.255.255.0]
- デフォルトゲートウェイ … 1つだけホスト側仮想アダプタのIPを設定し、他はデフォルト設定(空)のままenter。
ただしdhcpを割り当てたアダプタが存在する場合は、全て空にします。Gateway? (or 'none') [none]
- インターフェース名 … デフォルト設定
-
ネットワーク手動設定 … デフォルト設定
no
でenter。手動で設定する場合は、/etc/network/interfaces
をviで編集することになります。
Do you want to do any manual network configuration? [no]
-
ドメイン名 … ネットワーク設定でdhcpを選択したアダプタが存在する場合、この設定はスキップされます。通常はデフォルト設定(空)でenter。
DNS domain name? (e.g 'bar.com') []
-
DNS … ネットワーク設定でdhcpを選択したアダプタが存在する場合、この設定はスキップされます。ホスト側のDNS設定に合わせるか、1.1.1.1等のパブリックDNSのIPを入力します。
DNS nameserver(s)? [] 1.1.1.1
-
rootパスワード … 適当に入力します。
Changing password for root New password: Retype password:
-
タイムゾーン …
Asia/Tokyo
と入力します。
Which timezone are you in? ('?' for list) [UTC] Asia/Tokyo
-
Proxy設定 … デフォルト設定
none
で良ければenter。
HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none]
-
NTPサーバの選択 … デフォルト設定
chrony
で良ければenter。
Which NTP client to run? ('busybox', 'openntpd', 'chrony' or 'none') [chrony]
-
ダウンロードサイトの選択 …
f
と入力することで最も応答の速いミラーサイトを探しますが、たまにメンテナンスで止まったりするので、デフォルトの1
で良いと思います。(CDNなので各時点で適切なサーバに回されるはず)
Available mirrors: 1) dl-cdn.alpinelinux.org (省略) Enter mirror number (1-46) or URL to add (or r/f/e/done) [1]: f
-
SSHサーバの選択 … デフォルト設定
openssh
でenter。
Which SSH server? ('openssh', 'dropbear' or 'none') [openssh]
-
インストール先ドライブの選択 …
sda
と入力します。
(省略) Which disk(s) would you like to use? (or '?' for help or 'none') [none] sda
-
パーテーション設定の選択 …
sys
と入力します。
(省略) How would you like to use it? ('sys', 'data', 'lvm' or '?' for help) [?] sys
-
最終確認 …
y
と入力します。
WARNING: Erase the above disk(s) and continue? [y/N]:
-
完了 … 以下のメッセージが表示されたら完了です。
Installation is complete. Please reboot
再起動 … isoイメージの取り出しを行ってから、
reboot
と起動し再起動します。
またはpoweroff
と入力し一旦終了(&スナップショット作成)してから再起動します。
再起動後の初期設定
起動スクリプトのバグ(?)修正
mv /etc/profile.d/color_prompt /etc/profile.d/color_prompt.sh
と入力することで、プロンプトに色が付くようになります。
rootの置換
sudoの導入
-
apk add sudo
と入力し、sudoをインストールします。 -
visudo
と入力し、sudoの設定ファイルを開きます。 -
/# %wheel
と入力し# %wheel ALL(ALL) = ALL
の行を検索します。 -
2x
と入力し、コメント(#)を外します。(以下のようになればOK)%wheel ALL=(ALL) ALL
-
:wq
と入力し、保存&終了します。
ユーザーの追加
-
adduser ユーザー名
でユーザーを追加します。 -
adduser ユーザー名 wheel
と入力し、作成したユーザーがsudoを使えるようにします。
rootの封印
作成したユーザーでログインし直し、rootを封印します。
-
sudo passwd -l root
と入力し、rootアカウントをロックします。 -
sudo passwd -d root
と入力し、rootのパスワードをクリアします。
共有フォルダの設定
edge/communityパッケージが必要となるので、sudo vi /etc/apk/repositories
と入力しコメント(#)を外しておく必要があります。
VirtualBox Guest Additions
-
sudo apk add virtualbox-guest-additions virtualbox-guest-modules-virt
でGuestAdditionをインストールします。 ※32bit版ではここで失敗します! -
sudo rc-update add virtualbox-guest-additions default
で起動時にサービスが立ち上がるようにします。 -
sudo adduser $USER vboxsf
でログイン中のユーザーに仮想フォルダへのアクセス権を付与します。
OpenVMTool
-
sudo apk add --update open-vm-tools
でインストールします。 -
sudo apk rc-update add open-vm-tools
で起動時にサービスが立ち上がるようにします。 -
sudo vmhgfs-fuse -o allow_other /mnt/hgfs/
で、/mnt/hgfs
以下に全ての共有フォルダがマウントされます。