LinuCレベル1 Version 4.0 102試験の例題と解説
107.3 ローカライゼーションと国際化
■トピックの概要
このトピックの内容は以下の通りです。
<107.3 ローカライゼーションと国際化>
重要度 3
<説明>
システムを英語以外の言語にローカライズできる。スクリプトでLANG=Cが役立つ理由についても理解する。
<主要な知識範囲>
・ロケール設定と環境変数を設定する
・タイムゾーン設定と環境変数を設定する
<重要なファイル、用語、ユーティリティ>
・/etc/timezone
・/etc/localtime
・/usr/share/zoneinfo/
・LC_*
・LC_ALL
・LANG
・TZ
・/usr/bin/locale
・tzselect
・tzconfig
・date
・iconv
・UTF-8
・ISO-8859
・ASCII
・Unicode
■例題
lsコマンドを実行したところ、日本語のエラーメッセージが文字化けしているとします。
英語のエラーメッセージを表示して確認したい場合に、適切ではない方法を選択してください。
1. LC_ALL=C lsを実行して、エラーメッセージの表示を英語にする
2. LANG=C lsを実行して、エラーメッセージの表示を英語にする
3. LOCALE=C ls を実行、エラーメッセージの表示を英語にする
4. LC_MESSAGES=C lsを実行して、エラーメッセージの表示を英語にする
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「3. LOCALE=C ls を実行、エラーメッセージの表示を英語にする」です。
環境変数には「ja_JP.UTF-8」や「C」などのロケールと呼ばれる国や地域ごとの言語や単位の識別子を設定します。選択肢それぞれの環境変数の意味は以下の通りです。
[LANG]
LC_ALLやその他のLC_から始まる環境変数が設定されていない場合に利用される環境変数
[LC_ALL]
LC_から始まる環境変数で、最も優先される環境変数
[LC_MESSAGES]
システムのメッセージのロケールを設定する環境変数
答えの「LOCALE=C」ですが、LOCALEという環境変数はロケールの変化に影響を与えないため、表示の変化はありません。
例題にあるとおり、ロケールの設定によっては、メッセージが文字化けをして見えないなど、日頃のシステム管理に支障がでることもあります。どの環境変数が影響しているのか、よく覚えておきましょう。
■例題作成者 株式会社デージーネット ソリューション開発部 森 彰吾 氏