宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
「CentOS 7で日本語・英語のロケールを切り替えたい」
「localectlコマンドの使い方がわからない」

この記事では、CentOS 7 / RHEL 7以降のsystemd環境でlocaleを確認・変更する方法を解説します。
localectlコマンドの基本から、使用可能なロケール一覧の確認、日本語化・英語化の手順まで実践的に解説します。
【この記事でわかること】
localectl status で現在のロケール設定を確認できる
localectl set-locale LANG= で言語ロケールを変更できる(再起動不要、再ログインで反映)
・CentOS 7以降ではlocalectlが推奨。/etc/locale.confも自動更新される

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

localectlコマンドとは

localectlはsystemd環境でロケール(言語・文字エンコーディング設定)を管理するコマンドです。
CentOS 7 / RHEL 7以降で標準的に使用されます。

localectlで変更した設定は /etc/locale.conf に保存されます。
また、変更は次回ログイン時(または再起動時)に反映されます。

現在のロケール設定を確認する

# 現在のロケール設定を確認する # localectl status System Locale: LANG=ja_JP.UTF-8 VC Keymap: jp X11 Layout: jp

出力の各項目の意味は次のとおりです。

System Locale:システムのロケール設定(LANG環境変数)
VC Keymap:仮想コンソールのキーボードレイアウト
X11 Layout:X11(GUIデスクトップ)のキーボードレイアウト

ロケールを変更する

英語に変更する

# ロケールを英語(UTF-8)に変更する # localectl set-locale LANG=en_US.UTF-8 # 変更後に確認する # localectl status System Locale: LANG=en_US.UTF-8 VC Keymap: jp X11 Layout: jp

変更後、一度ログアウトして再ログインすると変更が反映されます。
注意:ロケールを英語に変更すると、コマンドのエラーメッセージも英語で表示されます。日本語環境に慣れたサーバーでは混乱を招くことがあるため、目的が明確な場合に限り変更してください。

日本語に変更する

# ロケールを日本語(UTF-8)に変更する # localectl set-locale LANG=ja_JP.UTF-8 # 変更後に確認する # localectl status System Locale: LANG=ja_JP.UTF-8 VC Keymap: jp X11 Layout: jp

/etc/locale.confを直接確認する

localectlの変更は/etc/locale.confに保存されます。

# /etc/locale.confの内容を確認する # cat /etc/locale.conf LANG=ja_JP.UTF-8

使用可能なロケール一覧を確認する

# 使用可能なロケール一覧を表示する(非常に多い) # localectl list-locales | head -20 aa_DJ aa_DJ.iso88591 aa_DJ.utf8 aa_ER aa_ER.utf8 ... # 日本語のロケールのみ表示する # localectl list-locales | grep ja ja_JP ja_JP.eucjp ja_JP.ujis ja_JP.utf8 # 英語のUTF-8ロケールのみ表示する # localectl list-locales | grep "en_US" en_US en_US.iso88591 en_US.iso885915 en_US.utf8

ロケール一覧は700件以上あります。grepで絞り込むのが実用的です。

現在のセッションだけロケールを変更する

サーバー全体のロケールを変更せず、現在のSSHセッションだけ一時的にロケールを変えたい場合は、環境変数で設定します。

# 現在のセッションだけ英語に変更する(ログアウトで元に戻る) # export LANG=en_US.UTF-8 # 確認する # locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" ...

トラブルシュート:ロケール設定でよくある問題

「locale: Cannot set LC_ALL to default locale」エラー

設定したロケールパッケージがインストールされていない場合に発生します。

# 日本語ロケールパッケージをインストールする # dnf install glibc-langpack-ja # または(CentOS 7系では) # yum install glibc-common # インストール後に再設定する # localectl set-locale LANG=ja_JP.UTF-8

変更後もロケールが反映されない

localectlの変更は現在のセッションには即座に反映されません。
ログアウトして再ログインするか、以下のコマンドで現在のシェルに反映させてください。

# 現在のセッションに設定を反映させる # source /etc/locale.conf # または # exec bash

本記事のまとめ

やりたいこと コマンド
現在のロケールを確認する localectl status
英語に変更する localectl set-locale LANG=en_US.UTF-8
日本語に変更する localectl set-locale LANG=ja_JP.UTF-8
使用可能なロケール一覧を確認する localectl list-locales
日本語ロケールを絞り込む localectl list-locales | grep ja
設定ファイルを直接確認する cat /etc/locale.conf

Linuxサーバーの設定管理を体系的に学びませんか?

ロケール設定はサーバー構築・初期設定の基本です。体系的に習得することで、設定ミスによるトラブルを防げます。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。