6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Linux のロケール設定を日本にするレシピ

Last updated at Posted at 2015-10-04

#[SoftLayerクッキングLABO] (http://qiita.com/MahoTakara/items/464da29ccf932698b753)

このレシピで出来ること

SoftLayerはアメリカの企業なので、OSを起動すると、米国中部地域のロケール設定になっている。東京データセンターでインスタンスを起動しても、やはり米国中部に設定されている。 そこで、このレシピは、Linuxのロケール設定を日本に変更するものです。
ロケール設定とは、メッセージの日本語表示、時計表示のJSTに変更など、言語や地域に関連する設定を総称として表すものです。

レシピの要約

この locale01 レシピは、以下の設定を適用します。

  • リポジトリに登録された更新を適用
  • 日本語パッケージをインストール
  • 言語を 日本語に変更
  • 時刻を JST へ変更

レシピの作成と解説

解説用のバージョンで、GitHubに登録したものが最新版です。

# Debian系とRedHat系で、対応が異なる部分を分岐します。
case node['platform']
###
### Ubuntu の設定
###
when 'ubuntu'
  execute 'apt-get update' do
    command 'apt-get update'
    ignore_failure true
    action :run
  end

  %w{
    language-pack-ja-base
    language-pack-ja
  }.each do |pkgname|
    package "#{pkgname}" do
      action :install
    end
  end

  execute 'update-locale LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja' do
    command 'update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"'
    ignore_failure true
    action :run
  end

###
### RedHat/CentOSの設定
###
when 'centos','redhat'
  execute 'yum update' do
    command 'yum update -y'
    ignore_failure true
    action :run
  end
  #
  # RedHat/CentOS 7 からロケール設定が変わったので、ここで分岐します。
  # 
  if node['platform_version'].to_i == 7 then
    package 'man-pages-ja.noarch' do
      action :install
    end
    execute 'localectl set-locale LANG=ja_JP.UTF-8' do
      command 'localectl set-locale LANG=ja_JP.UTF-8'
      action :run
    end
  else
    # こちらが RedHat/CentOS 6 に対応する部分です。
    execute 'yum -y groupinstall "Japanese Support"' do
      command 'yum -y groupinstall "Japanese Support"'
      ignore_failure true
      action :run
    end
    bash "change locale" do
      code <<-EOC
        sed -i.org -e "s/en_US.UTF-8/ja_JP.UTF-8/g" /etc/sysconfig/i18n
      EOC
    end
  end

end # node['platform']

#
# こちらは、Debian/Ubuntu RedHat/CentOS で共通部分です
# タイムゾーンの設定
script "Change TIMEZONE " do
  interpreter "bash"
  user        "root"
  code <<-EOL
    rm -f /etc/localtime
    ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
  EOL
end

対応するソフトレイヤー活用ガイド

テスト済みのLinuxディストリビューション

SoftLayerで選択出来るOSで確認したもののリストです。

  • Ubuntu 14.04 64bit minimal install
  • CentOS 7 64bit minimal install
  • CentOS 6 64bit minimal install
  • Debian 7 64bit minimal install (タイムゾーン設定のみ)

レシピの置き場所

最新版のレシピはGitHubにあります。

Chef 関連マニュアル

このレシピを作るにあたって参照したCHEFマニュアルのリンクです。

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?