QNAP(QTS)に新しいロケールを追加する方法

背景

QNAPのNASに搭載されているOS(QTS)には、ロケールとして、C(POSIX)、en_US.UTF-8しか入っていないので、特定のアプリケーションを正しく動かす場合には、ロケールを追加しないといけません。僕の場合、Subsonicで日本語ディレクトリをスキャンさせるためには日本語ロケールが必要でした。QTSのバージョンを上げるたびに追加作業をしなくてはいけないので、そのメモです。

事前準備

作業自体はCountry Locale - QNAPedia に書いてあることとほぼ同じ。ただこのページからリンクされているlocaleにはJPロケールが含まれていないので、他のUnix系のマシンから持ってくるか、どこからかダウンロードする必要があります。僕は、Locale Helper: HomeからJPロケールをダウンロードしてきました。

ロケールファイルのコピー

QTSのバージョンにもよるかもしれませんが、/usr/share/i18nの下に目的とする定義ファイルをコピーすれば終わりです。 QNAPの場合、/usr/share/i18nはRAMディスクに置かれているので、容量を節約したい場合には、シンボリックリンクを使うこともできます。

ロケールの生成

現在インストールされているロケールを確認するにはlocale -aで確認できます。

[/usr/share/i18n] # locale -a
C
en_US.utf8
POSIX

ロケールを生成するにはlocaledef -iコマンドです。

[/usr/share/i18n] # localedef -i ja_JP -f UTF-8 ja_JP.UTF8

終了したらできあがりを確認です。

[/usr/share/i18n] # locale -a
C
en_US.utf8
ja_JP.utf8
POSIX

あとは、LANGを設定するなりすれば使えます、はず。