URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

RHEL7/CentOS7でのちょっとした設定など

 OSで使用するロケールやタイムゾーンは、インストール時にインストーラーで設定することが多かったと思います。
 しかし、最近はクラウドサービスで用意されているイメージを使用する事が多く、そもそも新規にインストールするが少なくなっているかもしれません。そして、グローバル展開しているサービスの多くは英語環境が既定になっているため、用途によっては後から日本語環境用にしたりします。

 そんなわけで、ロケール変更やタイムゾーン変更の方法がRHEL7/CentOS7では前バージョンから変わったのでメモです。

  • ロケール変更

 "localectl"コマンドを使用してシステムロケールとキーマップをそれぞれ変更することができます。
 ロケールが反映するのは再ログイン後です。

# echo $LANG
en_US.utf8
# localectl status
System Locale: LANG=en_US.utf8
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp
# localectl set-locale LANG=ja_JP.utf8
# 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
  • タイムゾーン

 "timedatectl"コマンドを使用します。

# date
Tue Feb 10 00:33:15 UTC 2015
# timedatectl status
Local time: Tue 2015-02-10 00:33:23 UTC
Universal time: Tue 2015-02-10 00:33:23 UTC
RTC time: Tue 2015-02-10 00:34:36
Timezone: UTC (UTC, +0000)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
# timedatectl set-timezone Asia/Tokyo
# timedatectl status
Local time: Tue 2015-02-10 09:33:50 JST
Universal time: Tue 2015-02-10 00:33:50 UTC
RTC time: Tue 2015-02-10 00:35:03
Timezone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a

(補足)RHEL6/CentOS6の場合

  1.  ロケール : "/etc/sysconfig/i18n"ファイル内の"LANG"の値を変更
  2.  タイムゾーン : "/etc/sysconfig/clock"ファイル内の"ZONE"や"UTC"を変更し、"/usr/share/zoneinfo/"ディレクトリ以下から対応するタイムゾーンのファイルを探して"/etc/localtime"ファイルにとして上書きコピー
  • "nmcli"コマンドで固定IPアドレスを設定(RHEL/ContOS 7.1)

 コネクションがない場合は作成します。
 下の例では"eno16777736"というNICに"eno1"というコネクションを作成しています。

# nmcli conn add type eth ifname eno16777736 con-name eno1

 コネクションに以下の固定IPアドレスを割り当てます。

IPアドレス172.16.11.11
サブネット255.255.255.0 (24bit)
デフォルトゲートウェイ172.16.11.254
DNS8.8.8.8 / 8.8.4.4
# nmcli conn mod eno1 ipv4.method manual ipv4.addresses 172.16.11.11/24 ipv4.gateway 172.16.11.254 ipv4.dns "8.8.8.8 8.8.4.4"

(補足)RHEL/CentOS 7.0の場合
 "nmcli"のパラメータで"ipv4.gateway"が使えませんので、以下のように設定します。

# nmcli conn mod eno1 ipv4.method manual ipv4.addresses "172.16.11.11/24 172.16.11.254" ipv4.dns "8.8.8.8 8.8.4.4"
  • "nmcli"コマンドでセカンダリIPアドレスを付与(IPエイリアス)

 "ipv4.addresses"の前に"+"をつけるとアドレスの追加、"-"をつけるとアドレスの削除

# nmcli conn mod eno1 +ipv4.addresses 172.16.11.12/24
  • "nmcli"コマンドで静的経路を追加(Static Route)

 こちらも"+"をつければ追加(つけなかった場合は置き換えになる)。
 設定の反映にはインターフェースの再起動が必要。

# nmcli conn mod eno1 +ipv4.routes "192.168.10.0/24 172.16.11.251"
# nmcli conn down eno1; nmcli conn up eno1
  • NICが自動で有効にならない場合

 DHCPがない環境では、インストールウィザードで特に設定しなかった場合にNICの初期状態は無効になっている。
 OS起動時にNICを有効にするには設定を変更する。
 (内部的にはifcfg-xxxファイルで"ONBOOT=yes"にしている。)

# nmcli conn mod eno1 connection.autoconnect yes

 Linuxの設定変更方法というと、テキストファイルをエディタで直接書き換えるというのがイメージとしてありますが、今後はシステム面に関してはコマンドで変更というのが主流になってくるのでしょうか。確かにその方が人によって記載方法が違うとかがなくなりそうです。
 ホスト名なら"hostnamectl"など、"~ctl"系のコマンドを如何に使いこなせるかが重要になりそうです。

  • Chronyを使っている場合の時刻同期確認

 NTPを使っているときの"ntpq -p"の代わり

# chronyc sources
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-a3.nict.go.jp 1 6 7 57 +96us[ -66ms] +/- 4288us