LinuCレベル1 102試験の例題と解説
主題1.08システム管理
1.08.3ローカライゼーションと国際化
LinuCレベル1 102試験の出題範囲から「1.08.3 ローカライゼーションと国際化」についての例題を解いてみます。
ここでは、システム内のメッセージ等の表示言語や表示書式の確認方法について解説します。
例題
現在のシステムで、メッセージ表示などに使われる文字の種類や、日付・時刻の書式が、どの地域のものが指定されているかを確認する際に使うコマンドとして、正しいものを1つ選択してください。
- locale
- timedatectl
- iconv
- local
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. locale」です。
多くのソフトウェアは、利用者の地域情報(ロケール)に従って、表示言語や表示書式を変更できるように作られています。
ロケールは、主に以下のようなカテゴリに分かれて設定されています。
LC_MESSAGES | : | メッセージ表示に使用する言語 |
LC_TIME | : | 日付や時刻の書式に関する規定 |
LC_MONETARY | : | 通貨に関する規定 |
これらのカテゴリは個別に設定が可能で、例えば「メッセージの表示には日本語を使う、日付は英語表記にする」といった設定ができます。
現在のロケール設定を確認する際は、「locale」コマンドを使います。
実行例は次の通りです。
$ locale
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME="ja_JP.utf8"
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES="ja_JP.utf8"
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
設定可能なロケールを確認する際は、「-a」オプションをつけて実行します。
出力されていないロケールを使いたい場合は、別途インストールする必要があります。
$ locale -a
C
C.utf8
POSIX
ja_JP.eucjp
ja_JP.utf8
ロケール名としては、次のようなものがあります。
C, POSIX | : | 英語 |
ja_JP.utf8 | : | 日本語/Unicode |
ja_JP.eucjp | : | 送信元日本語/EUC-JP |
en_US.utf8 | : | 英語(米)/Unicode |
ロケールは、環境変数「LANG」および「LC_ALL」を使うことで、一時的にすべてのカテゴリで同じロケールを使うよう設定することができます。
以下は、「ls -l」コマンドの出力に英語ロケール(C)を使った場合と、日本語ロケール(ja_JP.utf8)を使った場合の例です。
$ LANG=C ls -l
total 0
-rw-r--r--. 1 user01 user01 0 Jul 8 16:42 test.txt
$ LANG=ja_JP.utf8 ls -l
合計 0
-rw-r--r--. 1 user01 user01 0 7月 8 16:42 test.txt
もしシステム全体のロケール設定を恒久的に変更したい場合は、「localectl set-locale」コマンドでロケールを指定し、「source /etc/locale.conf」コマンドで反映することで変更できます。
以下は、ロケールを英語(C)に変更する際のコマンドの例です。
# localectl set-locale LANG=C
# source /etc/locale.conf
# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
例題の選択肢について解説します。
1. locale
正しい選択肢です。
このコマンドを実行することで、現在のシステムで、メッセージ表示などに使われる文字の種類や、日付・時刻の書式が、どの地域のものが指定されているかなどを確認することができます。
2. timedatectl
誤った選択肢です。
このコマンドは、現在の日付・時刻やタイムゾーン設定の確認をするためのもので、書式とは関係ありません。
3. iconv
誤った選択肢です。
このコマンドは、ファイルの文字コードを変換する際に使うものです。
4. local
誤った選択肢です。
localというコマンドは存在しません。
今回は、システム内のメッセージ等の表示言語や表示書式の確認方法について解説しました。利用者のネイティブな言語に対応させることで、システムはより使いやすくなります。この機会に、ロケールの確認・変更方法を覚えておきましょう。
例題作成者
株式会社デージーネット 経営企画室 小倉 崇志