「localectlコマンドの使い方がわからない」
この記事では、CentOS 7 / RHEL 7以降のsystemd環境でlocaleを確認・変更する方法を解説します。
localectlコマンドの基本から、使用可能なロケール一覧の確認、日本語化・英語化の手順まで実践的に解説します。
・
localectl status で現在のロケール設定を確認できる・
localectl set-locale LANG= で言語ロケールを変更できる(再起動不要、再ログインで反映)・CentOS 7以降では
localectlが推奨。/etc/locale.confも自動更新されるでも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
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
現在のセッションだけロケールを変更する
サーバー全体のロケールを変更せず、現在の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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:LinuxのsystemdによるOS起動プロセスを確認する方法|journalctl -bとsystemctl list-unitsで起動状態を把握
- 前のページへ:CentOS7でrootのSSHログインを無効化する
- この記事の属するカテゴリ:CentOS7・Linuxtips・システム管理・システム管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます