さくらVPSにArchlinuxのインストール

#はじめに
さくらVPSでArchlinuxを使えるようにするまで
普通はCentOSかUbuntu使うと思うので，ほぼ自分用のメモ
無駄な部分やダメな部分があればコメントお願いします．

#isoファイルのアップロード
まず自分のローカルにISOイメージをダウンロードする
https://www.archlinuxjp.org/download/

さくらVPSのサーバ管理画面から各種設定→OSインストール→ISOイメージインストールを押すとISOイメージアップロード先情報が出る．

SFTPでアップしろと書いてあるのでWinSCPなりシェルなりでアップロード
SFTP以外では（SCPなど）弾かれるので注意
シェルの場合は

```
$ sftp ユーザ名@ホスト名
sftp> cd iso
sftp> lcd ダウンロードしたディレクトリ
sftp> put isoファイル名
```
で転送できる．そうするとさくらVPSの管理画面にアップロードしたISOが出てくるので，選択してインストール．

#ArchLinuxのインストール
ここからはさくらVPSの仮想VNCで設定していく．
最初の画面でboot Arch Linuxを選択．
その後コマンドラインが表示されるはず

日本語配列であれば
```# loadkeys jp106```
を設定しておく

##ネットワーク設定
IPアドレスの情報はさくらVPSサーバのサーバ管理画面を参照

```
# ip addr  #インターフェースの確認
# ip addr add  <IPアドレス>/23 dev <インターフェース>
# ip route add default via <ゲートウェイ>
```
インターフェースはeth0で固定ではなく，ip addr で出てくるloの次のものを選べば良い　（ens3など）
設定したら```# ip addr```で反映されているか確認．

次にDNSサーバの設定
```# vim /etc/resolv.conf```を開き

```/etc/resolv.conf
nameserver <dns1アドレス>
nameserver <dns2アドレス>
```
を追記．
心配性なので，ここまできたら
```# ping www.google.com```が通るか確認．

##パーティション分割
SSD 30GBを例に
今回は最低限の物だけ用意
さくらVPSはBIOS+GPTらしい

| マウントポイント | 容量 | ファイルタイプ |
|:-:|:-:| :-: |
| /boot  |  100MB | ext4 |
| swap  |  2GB | swap |
|  / |  28GB(残り） | ext4 |


```
# parted /dev/vda
(parted) print       # おそらくここで3つパーティションがあるので全て消す
(parted) rm 3
(parted) rm 2
(parted) rm 1
(parted) print       # なくなっていることを確認
(parted)mklabel msdos
(parted)mkpart primary ext4 1MiB 100MiB
(parted)mkpart primary linux-swap 100MiB  2GiB
(parted)mkpart primary ext4 2GiB 100% 
(parted) set 1 boot on #多分いらない
(parted) print       # 3つできていることを確認
(parted) quit
```
これでパーティショニングは完了

次にフォーマットを行なう

```
# mkfs.ext4 /dev/vda1
# mkswap /dev/vda2
# swapon /dev/vda2
# mkfs.ext4 /dev/vda3
```
次にマウント
他にパーティションを作っているなら，/mnt下にディレクトリを作ってマウントを行なう(/bootと同じように)

```
# mount /dev/vda3 /mnt
# mkdir /mnt/boot
# mount /dev/vda1 /mnt/boot
```
#システムのインストール
ミラーリスト選択
```# vim /etc/pacman.d/mirrorlist```
日本のサーバを上にコピペする.

```vimの使い方memo
/Japan + Enter # Japanの行を検索
2yy　# 2行コピー
gg # 先頭行へ
p #ペースト
ZZ #上書き保存
```

ベースシステムのインストール
```# pacstrap -i /mnt base base-devel```
fstab作成
```# genfstab -p -U /mnt > /mnt/fstab```

これでインストールが完了

#システムの設定
インストールしたシステムに入って設定
**ブートローダを設定していないので再起動はしない**

```
# arch-chroot /mnt　# ユーザ名が赤文字から白文字に変わる

ホスト名設定
# echo 好きなホスト名 > /etc/hostname 
タイムゾーンの設定
# rm /etc/localtime # /etc/localtimeがすでにあったので削除した
# ln -s /usr/share/zoneinfo/Japan /etc/localtime

JIS配列使っている人は
# echo "KEYMAP=jp106" >> /etc/vconsole.conf

ロケールの設定　en_US UTF-8とja_JP UTF-8をコメントアウトした
# vi /etc/locale.gen
``` 


**/etc/mkinitcpio.confを設定（重要らしい）**
```# vi /etc/mkinitcpio.conf```
7行目を以下のように変更
``` MODULES="virtio virtio_blk virtio_pci virtio_net" ```

おまじないをかける
```# mkinitcpio -p linux```

grubで`Failed to connect to lvmetad`とエラーが起こるのでlvmを無効にする設定をする
```# vi /etc/lvm/lvm.conf ```
```use_lvmetad = 1```となっている行を
```use_lvmetad = 0```と変更する．

GRUBの設定

```
# pacman -S os-prober grub
# grub-install --target=i386-pc --recheck /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg
``` 
特にエラーが起きなければ

```
# exit
# umount -R /mnt
# reboot
```
無事再起動が完了してlogin画面が出れば完了
でなければ一度isoからブートして

```
# mount /dev/vda3 /mnt
# mount /dev/vda1 /mnt/boot
# arch-root /mnt
```
で入り直して再設定する．

#おわりに
ぶっちゃけインストールだけで疲れるので，普通にサーバいじりたい人はCentOSかUbuntuを使った方が良さそう
再起動後にネットワークの設定がうまくいかなかったので気が向いたら追記予定

#参考文献
[さくらVPSにArchLinuxをインストールする (新インストール手順)](http://opamp.hatenablog.jp/entry/20121103/1351924889)
[Arch Linuxを簡単インストール – 「楽しいさくらのクラウド」(17)](http://knowledge.sakura.ad.jp/sacloud/6443/)
[Parted でパーティションの作成(分割) その１ (1)](https://plaza.rakuten.co.jp/bluearth/diary/201001170004/)
[ArchLinuxのインストール(3つのブート方式ごとの設定)](http://qiita.com/Gen-Arch/items/da296b7cbe5d87abc5a4)