CentOS7上にVagrantでCentOS7を入れるメモ

以前に少し真面目に書いたやつ。
参考：[Vagrant(1.9.1)でCentOS6.7を入れる](https://qiita.com/tsnb/items/47bca690e4a722653bc1#1-virtualbox%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)

## Virtual Boxインストール

```bash
# epel repoが必要
$ wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
$ sudo rpm -ivh ./epel-release-7-11.noarch.rpm

# 最新のrpmとってくる
$ wget https://download.virtualbox.org/virtualbox/5.2.6/VirtualBox-5.2-5.2.6_120293_el7-1.x86_64.rpm
# インストール
$ sudo yum install VirtualBox-5.2-5.2.6_120293_el7-1.x86_64.rpm
```

## Vagrantインストール

```bash
# 公式ダウンロードページのdownload older versions of Vagrantというところからrpmが手に入る
$ wget https://releases.hashicorp.com/vagrant/2.0.2/vagrant_2.0.2_x86_64.rpm

$ sudo yum install ./vagrant_2.0.2_x86_64.rpm 
```

後は参考と同じ。
CentOS7をインストールする

```bash
$ vagrant init (box名)
$ vagrant up
# vagrant upでエラー出て怒られた。。
$ VBoxManage --version
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.10.0-693.17.1.el7.x86_64) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.
5.1.32r120294

$ yum install kernel-devel-3.10.0-693.17.1.el7.x86_64

$ sudo /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
# 出来たっぽい
```

## 立ち上げまで

```bash
# 環境変数にproxy設定しておく。proxy設定しないとbox addできない。
$ cat ~/.bash_profile
....
export http_proxy=http://(ユーザ名):(パスワード)@(サーバ.com):(ポート)/
export https_proxy=...
export HTTP_PROXY=...
export HTTPS_PROXY=...


$ vagrant box add centos/7
$ vagrant init centos/7
$ vagrant up
```

## GUI設定

```bash
$ su -
$ yum update
$ yum -y groupinstall "GNOME Desktop"
$ systemctl set-default graphical.target
$ systemctl get-default
graphical.target
$ reboot
```

## GUI立ち上がったら

クリップボード、ドラッグ＆ドロップ　を双方向にしておく

## GuestAdditionを入れる

```bash
$ su -
$ yum install epel-release
$ yum install dkms
$ shutdown -h now
```

一旦、VirtualBoxマネージャーの設定の、ストレージから空の光学ドライブを追加する。

```bash
$ su-
$ mkdir -p /mnt/cdrom
$ mount -r /dev/cdrom /mnt/cdrom/
$ yum install -y bzip2 gcc make kernel-devel kernel-headers gcc-c++
$ sh /mnt/cdrom/VBoxLinuxAdditions.run
$ reboot
```

自動リサイズを有効にする。

## 日本語設定

```bash
$ su -
$ yum -y install ibus-kkc vlgothic-*
# keymap
$ localectl list-keymaps | grep jp
jp
jp-OADG109A
jp-dvorak
jp-kana86
jp106
$ localectl set-keymap jp106

$ localectl list-locales | grep -i ja
...ない
$ localedef -f UTF-8 -i ja_JP ja_JP
$ localectl list-locales | grep -i ja
$ localectl set-locale LANG=ja_JP.utf8
$ localectl status
   System Locale: LANG=ja_JP.utf8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp
$ source /etc/locale.conf

# timezone
$ timedatectl status
      Local time: \u6708 2018-02-26 07:00:34 UTC
  Universal time: \u6708 2018-02-26 07:00:34 UTC
        RTC time: \u6708 2018-02-26 07:00:34
       Time zone: UTC (UTC, +0000)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
$ timedatectl list-timezones | grep Tokyo
Asia/Tokyo
$ timedatectl set-timezone Asia/Tokyo
$ timedatectl status
      Local time: \u6708 2018-02-26 16:01:40 JST
  Universal time: \u6708 2018-02-26 07:01:40 UTC
        RTC time: \u6708 2018-02-26 07:01:40
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
```

## ホスト名変更

```bash
$ sudo hostnamectl set-hostname (ホスト名)
```

一旦セッションを抜けて入り直す。