せかいろぐ

ほぼ自分用備忘録

ConoHa VPSにArchLinuxをインストール(2013.10.01)

ConoHa VPSにArchLinuxをインストールした時の手順メモ

2014-03-30 : さらに修正
2014-01-24 : 少し修正


使ったISOはarchlinux-2013.10.01-dual.iso
プランはメモリ2G

準備

ConoHaコントロールパネルから サービス > VPS と進み、VPSを追加。
VPSのサービスステータスが稼働中になったらサーバリストからVPSを選択し、OS再インストールを選択。

OS再インストールページの下部にISOイメージアップロード先の情報があるので、SFTPで接続してISOをアップする。

f:id:sekai67:20131026053159p:plain

アップロードが終わったら、OS再インストールページを更新しOS再インストールを実行する。今回は以下の様な設定にした。

f:id:sekai67:20131026053145p:plain

コンソール画面に移ったら、起動ボタンをクリックしてページを更新すればインストールが始まる。

インストール

パーティショニングする。

# cgdisk /dev/vda

先頭にサイズが1007KiBでタイプがEF02BIOS boot partitionを作成し、残りすべての容量でもう一つのパーティションを作成する。(この辺はお好みで…)

The kernel may be using the old partition table. Reboot to use the new partition table!

と言われるので、ここで一度再起動。

# systemctl reboot

パーティションをフォーマットしてマウントする。

# mkfs -t ext4 /dev/vda1
# mount /dev/vda1 /mnt

dhcpcdを立ち上げてインターネットに接続。

# systemctl start dhcpcd

pacmanのミラーリストを日本のミラーに更新して、ベースシステム(+ 後で使うものいろいろ)をインストールする。

# loadkey jp106
# wget -O - "https://www.archlinux.org/mirrorlist/?country=JP&use_mirror_status=on" | sed -e "s/^#Server/Server/g" > /etc/pacman.d/mirrorlist
# pacstrap /mnt base base-devel grub openssh ntp

インストールしたシステムにchrootしてrootパスワードを設定

# arch-chroot /mnt
# passwd

実メモリの2倍の容量でスワップファイルを作成する。

# fallocate -l 4G /swapfile
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile

イニシャルRAMディスクを作成する。

# mkinitcpio -p linux

ブートローダをインストール。

# grub-install /dev/vda
# grub-mkconfig -o /boot/grub/grub.cfg

dhcpcdとsshdを有効にしておく。

# systemctl enable dhcpcd
# systemctl enable sshd

ちなみに、DHCPを使うとConoHaのウリのIPv6アドレスが17個のうち1個しか使えないっぽい?
全部使いたいならnetctlを使えばいいのかな?

chrootを抜ける。

# exit

fstabを作成する。

# genfstab -p /mnt | sed -e "s/^\/mnt//" >> /mnt/etc/fstab

一旦VPSの電源を切る。

# systemctl poweroff

ディスク排出をクリックしてインストールディスクを排出し、VPSを起動する。
起動を確認したら、SSHでサーバに接続する。

キーマップ、タイムゾーン、ホスト名を設定する。

# localectl set-keymap jp106
# timedatectl set-timezone Asia/Tokyo
# hostnamectl set-hostname ***.static.cnode.jp

ロケールを生成、設定する。

# sed -i "s/^#ja_JP.UTF-8/ja_JP.UTF-8/" /etc/locale.gen
# locale-gen
# localectl set-locale LANG="ja_JP.UTF-8"

ハードウェアクロックが日本時間になっている(?)ため、タイムゾーンをAsia/Tokyoにすると結果9時間ズレる。
ntpでシステムクロックを合わせて、それをハードウェアクロックに適用する。
(なんかよくわかんないけど、とりあえずコレで時刻がズレなくなったので良し。)

# ntpd -qg
# hwclock --systohc --utc

再起動してロケールなどの設定が適用されているのを確認して、インストールおしまい。

# systemctl reboot