ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

CentOS6.5サーバーに日本語環境を構築する

背景

ロケールの設定に関する情報を探して、ブログに辿り着く方が多かったので整理してみました。

特に、以下の様に環境変数を適切に設定しているにもかかわらず、日本語表示されないとお困りの方が多いようです。
Vagrantにて、CentOS6.5のBoxをダウンロードしてきた直後はこういう状態になっています。

export LANG="ja_JP.UTF-8"

調査環境

[vagrant@vagrant-centos65 ~]$ uname -a
uname -a
Linux vagrant-centos65.vagrantup.com 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[vagrant@vagrant-centos65 ~]$ bash -version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

手順

手前味噌ながら、以下に自分で作り続けている Ansibleスクリプトplaybookという)をおいておいた。

playbook_for_sandbox/tasks/setup-locale-ja.yml at master · genzouw/playbook_for_sandbox · GitHub

Ansibleを利用していればこれをそのまま利用すればOKだが、コマンド利用で取り急ぎ設定する場合はこれをyum実行に読みかえればよい。

結果

# rootへ切り替え
sudo -s

# これらをインストール(man-pages-jaは特に不要)
yum install -y man-pages-ja
yum -y groupinstall "Japanese Support"

# /etc/sysconfig/i18n を既存のものを一度全てコメントアウトする
cat /etc/sysconfig/i18n  | sed 's/^#\? */# /g' | (mv /etc/sysconfig/i18n{,.bk}; tee /etc/sysconfig/i18n > /dev/null)
# /etc/sysconfig/i18n に設定追加
echo 'LANG="ja_JP.UTF-8"' | tee -a /etc/sysconfig/i18n > /dev/null
chmod 644 /etc/sysconfig/i18n

reboot now

再起動後は全てのパッケージをアップデートする。

yum update -y

ひとこと

同時にいくつかの設定を行っていたため、こちらでロケール設定を日本語にするためのアトミックな手順となっているかは確認できていません。 こちらの設定でうまくいかない場合にはご連絡ください。