ConoHaにArch Linux環境を構築したので、その際に調べた内容をメモ。
最初はISOイメージからクリーンインストールしようかと思ったのだけど、新ConoHaはAPI経由じゃないとイメージのアップロードなどができず面倒くさかったので初期で用意されているArch Linuxイメージを使ってみることにした。
で、初期イメージって何かConoHa用に設定とか手が加えられているのかなーと気になったので調べてみた。
※ぱぱっと目についたところを洗い出しただけなので網羅しているわけではない。
イメージ
Arch Linux 20151008 (64bit)
ディスク=50GB, メモリ=1GB
Virtio
Virtioは有効になっていた。
ディスク
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sr1 11:1 1 434K 0 rom
vda 254:0 0 50G 0 disk
├─vda1 254:1 0 2M 0 part
└─vda2 254:2 0 50G 0 part /
Device Start End Sectors Size Type
/dev/vda1 2048 6143 4096 2M BIOS boot
/dev/vda2 6144 104855551 104849408 50G Linux filesystem
/dev/sr1にはメタデータが入っていて後述のconoha-initが参照して初期設定とかする。
rootのパスワードとかが平文で参照できるので取り扱いには気をつけよう。
初期設定
初回起動時にconoha-initなるものによって初期設定が行われる。
- タイムゾーンの設定(選んだリージョンによって異なる)
- 東京=
Asia/Tokyo
, シンガポール=Asia/Singapore
, アメリカ=US/Pacific
みたいな感じ
- 東京=
- コンパネで指定したrootパスワードの設定
- コンパネで設定したSSH公開鍵の設定(rootの
authorized_keys
に追加される) - sshdの設定(PasswordAuthenticationとかPermitRootLoginとかそのへん)
- 公開鍵を設定するかどうかによって設定が変わる
conoha-init.service
, conoha-extra-ipv6.service
というユニットが登録されていて起動時に実行されるようになっている。
中身は/etc/cloud/conoha-init
内のスクリプトを実行するようになっていて、前者が初期設定、後者がIPv6の追加アドレスの設定になっている。
/etc/cloud/conoha-init/conoha-init.sh
を見ればどういう初期設定をしているのかわかる。
ロケールとか
ロケールはen_US.UTF-8
だけが有効になっており、ja_JP.UTF-8
などは自分でlocale-genし直す必要がある。
コンソールのキーマップはjp106
になっていた。
conoha-initで設定している感じはなかったので最初から設定済みの模様。
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: jp106
X11 Layout: n/a
$ cat /etc/vconsole.conf
KEYMAP=jp106
スワップ
/var/swapfileに2GBのスワップファイルが作成されている(選んだインスタンスサイズとかによっては異なるのかもしれない)。
$ swapon --show
NAME TYPE SIZE USED PRIO
/var/swapfile file 2G 704K -1
ネットワーク
ホスト名はarchlinux
になっていたと思う(変更してしまったので忘れた)。
ネットワークは/etc/systemd/network/10-conoha.network
によってDHCP構成が設定されてる。
$ cat /etc/systemd/network/10-conoha.network
[Match]
Name=eth0
[Network]
DHCP=yes
インターフェイス名は古き良きeth0になるように設定されている。
$ ls -l /etc/udev/rules.d
lrwxrwxrwx 1 root root 9 Oct 8 12:17 /etc/udev/rules.d/80-net-setup-link.rules -> /dev/null
iptablesとかは特に設定されていない。
NTP
時刻合わせはsystemd-timesyncd
が有効になっていて、NTPで同期するようになっているが、何か専用のNTPサーバが設定されていたりはしない。
$ timedatectl status
Local time: Fri 2016-02-26 11:40:31 JST
Universal time: Fri 2016-02-26 02:40:31 UTC
RTC time: Fri 2016-02-26 02:40:31
Time zone: Asia/Tokyo (JST, +0900)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
$ cat /etc/systemd/timesyncd.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.
[Time]
#NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.poolntp.org 3.arch.pool.ntp.org
FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
その他
conoha-init内で使うためにjqがインストールされている。
その他、何か追加でインストールされているパッケージやユニットがあるかどうかは不明。
ぱっと見た感じではそんなにあれこれ勝手に突っ込まれているようには見えなかった。
(既に色々追加してしまったので、初期パッケージリストとかもうわからない)