WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

glibc の生成するロケールを限定する新しい方法

glibc の再構築時に生成するロケールを限定することで、 glibc の再構築にかかる時間やディスク消費を抑えることができます。その方法がGentoo Linux ローカライズガイドなどで解説されているのですが、どうやらこの情報はもう古いようです。現在は userlocales というUSEフラグも "/etc/locales.build" というファイルも使われておらず、 Debian などと同じ "/etc/locale.gen" で指定する方法に移行しています。

本日は、この "/etc/locale.gen" を使ったロケールの限定方法をご紹介しようと思います。

locale.gen の記述方法

まずは "/etc/local.gen" の書式から見ていきましょう。基本的には 1 行 1 ロケールで、各行は以下の書式で記述します。

<ロケール名> <文字コード名>

"/etc/locales.build" との違いは、ロケール名と文字コードの区切りが "/" から空白に変わっているだけです。したがって、 "ja_JP.UTF-8" を生成させるなら、以下のように記述します。

ja_JP.UTF-8 UTF-8

もとから "/etc/locale.gen" にサンプルが生成されていますので、それを編集して必要な行のコメントを外すだけで大抵は足りるはずです。私は以下の行をコメントアウトしました。

en_US ISO-8859-1
en_US.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
ja_JP EUC-JP

これで、日本語と英語のロケールのみに限定することができます。なお、詳細については man ページが用意されています。以下のコマンドで読めますので、目を通してみてください。

man locale.gen

glibc の再構築

生成するロケールの指定を行ったら、glibc を再構築します。

emerge sys-libs/glibc

けっこう時間がかかりますので、しばらく放っておきましょう。ビルドログの最後のほうで生成したロケールが表示されるので、きちんと指定したロケールのみになっているか確認しておくと完璧です。

古い locales.build を削除する

なお、従来の "/etc/locales.build" は不要です。残しておいても意味が無いので、削除してしまいましょう。

rm /etc/locales.build

こうしておけば、 glibc のビルドで "/etc/locale.gen" への移行を促すメッセージが出なくなります。

本日は "/etc/locale.gen" を使って生成されるロケールを限定する方法をご紹介しました。これで僅かながらディスク消費を減らすことができます。本来は GentooLinux のインストール時に設定してしまうのが一番良い方法なのですが。これからインストールするというときは、ぜひ最初から設定してみてください。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles