Red Hat EL7の基本設定(ロケールとタイムゾーン)

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

目的

基本的な設定方法や設定箇所がEL6までとどう違うのかを順に追ってみました。

RedHat EL7の検証はAWSにて実施しています。
そもそもAWS上ではインストーラを走らせる箇所が無いので、どのような状態で利用開始になってるかを確認しています。

実機でインストールした場合とは違いもいくつかあるかと思いますのでご注意ください。

システムロケールの設定

AWSで作成したインスタンスではシステムロケールがすでに設定済みで立てられますので変更を行います。
Red Hat EL7ではlocaleの設定や確認には専用のコマンドが用意されていますのでそれを利用します。

まず、AWSで作成された直後の状態を確認をします。

# localectl  status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us

システムでは日本語localeで利用できるほうがうれしい機会もありますので変更します。

# localectl set-locale LANG=ja_JP.utf8
# localectl status
   System Locale: LANG=ja_JP.utf8
       VC Keymap: us
      X11 Layout: us

反映は/etc/locale.confにされますので確認します。

# cat /etc/locale.conf
LANG=ja_JP.utf8

keymapもusですが、こちらはAWSでは直接使うことが無さそうなのでこのままでもよさそうですね。
(困ったら変えましょう :))

タイムゾーンの設定

こちらは今までどおり/etc/localtimeに対して/usr/share/zoneinfoの内容をコピーかsymlinkにすればよいとのことですね。

ところでいつもの/etc/sysconfig/clockファイルが存在しないようで・・・

# ls -l /etc/sysconfig/clock
ls: cannot access /etc/sysconfig/clock: No such file or directory

glibcのアップデート時には勝手に置き換わったりしないのかな?と疑問に思いました。

localtimeファイルはどのパッケージの管理かを確認するとsystemdの様です

# rpm -qf /etc/localtime
systemd-208-11.el7.x86_64

パッケージに設定されているscriptをみてみます。

# rpm -q -scripts  systemd
(略)
# Migrate /etc/sysconfig/clock
if [ ! -L /etc/localtime -a -e /etc/sysconfig/clock ] ; then
       . /etc/sysconfig/clock >/dev/null 2>&1 || :
       if [ -n "$ZONE" -a -e "/usr/share/zoneinfo/$ZONE" ] ; then
              ln -sf "../usr/share/zoneinfo/$ZONE" /etc/localtime >/dev/null 2>&1 || :
       fi
fi
rm -f /etc/sysconfig/clock >/dev/null 2>&1 || :
(略)

無い場合には何もしないようですね。

また、glibc側でも確認しておきましたが、こちらも/etc/localtimeに対しての操作は何もしないようですね。

# rpm -q -scripts  glibc
preinstall scriptlet (using ):
-- Check that the running kernel is new enough
required = '2.6.32'
rel = posix.uname("%r")
if rpm.vercmp(rel, required) < 0 then
  error("FATAL: kernel too old", 0)
end
postinstall program: /usr/sbin/glibc_post_upgrade.x86_64
postuninstall program: /sbin/ldconfig

どうやら安心して運用できそうです:)

投稿者プロフィール

えんじにあん
インフラ系のエンジニアです。
運用系のスクリプトを書いたり、オートメーションな世界に向かって日々精進しています。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

インフラ系のエンジニアです。 運用系のスクリプトを書いたり、オートメーションな世界に向かって日々精進しています。