CentOS7 (1804) のテキストベースインストール手順

# 概要

CentOS7(1804)をテキストベースでインストールした手順を備忘録として残す。


# ブート時の起動方法

事前に以下のサイトからダウンロードしたISOファイルをDVDに焼いておく。
http://ftp.riken.jp/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso

DVDからブートすると標準でグラフィカルモードでインストーラが起動するので、起動時の画面で「Tab」キーを押下して以下のオプションを入力する。
具体的には最後の「inst.text」を追記するだけ。

```text
> vmlinuz initrd=initrd.img (中略) inst.text
```

# テキストベースのインストール


#### メニュー構成

テキストベースインストールを実行すると以下のCUIメニューが表示される。
以降は、指示に従いインストールを進める。
![CentOS_CUI_Menu_Init.png](https://qiita-image-store.s3.amazonaws.com/0/106250/0be0a064-281b-4683-38f8-abf64a58fdfe.png)


#### 言語の設定

メニュー構成の画面より、「1) Language settings」を選択して、以下の順番で設定する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Available languages | 32 | Japanese |   |
| Available locale | 1 | Japanese (Japan) |   |

設定後に、元のメニュー構成の画面に戻る。


#### タイムゾーンの設定

メニュー構成の画面より、「2) Timezone settings」を選択して、以下の順番で設定する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Timezone settings | 1 | Set timezone |   |
| Available regions | 2 | Asia |   |
| Available timezones in resion Asia | 72 | Tokyo|   |

設定後に、元のメニュー構成の画面に戻る。


#### インストール元の設定

メニュー構成の画面より、「3) Installation source」を選択して、以下の順番で設定する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Installation source | 1 | CD/DVD |   |

設定後に、元のメニュー構成の画面に戻る。


#### ソフトウェアの選択

メニュー構成の画面より、「4) Software selection」を選択して、以下の順番で設定する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Software selection | 1 | Minimal Install | c |

設定後に、元のメニュー構成の画面に戻る。
設定が反映されておらず [!] という表示になっている場合は、「r」を入力して表示をリフレッシュする。


#### インストール場所の設定

メニュー構成の画面より、「5) Installation Destination」を選択して、以下の順番で設定する。
本環境はOracle Virtual Boxの仮想環境なので、Virtual Disk 32GBのディスクを全て利用する。
開発用で用途が未確定のため、パーティションは柔軟に設定できるLVMで構成する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Installation Destination | 1 | VBOX HARDDISK: 32 GiB (sda)  | c |
| Autopartitioning Options | 2 | Use All Space | c |
| Partition Scheme Options | 3 | LVM | c |

設定後に、元のメニュー構成の画面に戻る。


#### Kdumpの設定

メニュー構成の画面より、「6) Kdump」を選択して、以下の順番で設定する。
Kdumpを取得しても解析することはないので取得しない。
必要に応じて設定する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Enable kdump | 1 | [ 未選択 ]  | c |

設定後に、元のメニュー構成の画面に戻る。


#### ネットワークの設定

メニュー構成の画面より、「7) Network configuration」を選択して、以下の順番で設定する。
インターフェースの数だけ設定を行う。設定値は環境に応じて変更する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Set host name | 1 | 特になし | *hostname.domainname* |
| Configure device enp0s3 | 2 | 特になし |   |
| IPv4 address | 1 | 特になし | *192.168.10.x* |
| IPv4 netmask | 2 | 特になし | *255.255.255.0* |
| IPv4 gateway | 3 | 特になし | *192.168.10.1* |
| IPv6 address | 4 | 特になし | ignore |
| Nameservers | 2 | 特になし | *DNS IP Address* |
| Connect automatically after reboot | 7 | [ x ] |  |
| Apply configuration in Installer | 8 | [ x ] | c |

設定後に「c」を入力して、元のメニュー構成の画面に戻る。


#### rootユーザーのパスワード設定

メニュー構成の画面より、「8) Root password」を選択して、以下の順番で選択する。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Password: |  |特になし | *password* |
| Password (confirm): |  | 特になし | *password* |


#### ユーザーの設定

メニュー構成の画面より、「9) User creation」を選択して、以下の順番で選択する。
グループを明示的に指定できないため、ここではユーザーを作成しない。

| 設定項目 | 入力する番号 | 設定される値 | 入力する値 |
| :-------- | :------------: | :------ | :------: |
| Create user |  | [ 未設定 ] | c |


#### インストール開始

すべての項目で [!] が残っていないことを確認した上で、最後に、「b」キーを押下しインストールを開始する。
インストール完了後に、「Enter」キーを押下するとシステムが再起動され、インストールが完了する。


# インストール直後に実施すること


#### 管理者用のグループとユーザーの作成

rootアカウントでコンソールにログインし、以下のコマンドで管理者用のグループとユーザーを作成する。

```bash:グループの作成
groupadd -g 1000 group-name
```

```bash:作成したグループの確認
grep group-name /etc/group

<出力結果>
group-name:x:1000:
```

```bash:管理者ユーザーの作成、rootへ昇格可能なwheelグループに所属させる
useradd -u 1000 -g 1000 -G wheel -c "Comment" -m -s /bin/bash user-name
```

```bash:パスワードの設定
passwd user-name

<入出力結果>
Changing password for user-name.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
```

```bash:作成した管理者ユーザーの確認
grep user-name /etc/passwd

<出力結果>
user-name:x:1000:1000:Comment:/home/user-name:/bin/bash
```


#### 日本語レイアウトのキーボードに変更

テキストベースのインストールの場合、キーボードの設定が「us」となっているため、日本語106キーボードに変更する。

```bash:「us」設定となっているキーボード設定を確認
localectl status

<出力結果>
   System Locale: LANG=ja_JP.UTF8
       VC Keymap: us
      X11 Layout: us
```

```bash:設定可能な日本語キーボードの情報を表示
localectl list-keymaps | grep jp

<出力結果>
jp
jp-OADG109A
jp-dvorak
jp-kana86
jp106
```

```bash:日本語106キーボードに変更して、設定を再確認
localectl set-keymap jp106
localectl status

<出力結果>
   System Locale: LANG=ja_JP.utf8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp
```


# 次の手順
[CentOS7 SELinuxの無効化手順](http://qiita.com/mattsun/items/470581ff34f87c7eb21d)


以上