Ubuntu 12.04にアップグレードしたところzabbixのグラフが文字化けするようになりました。
以前、zabbixの日本語フォント設定でipaフォントをインストールして文字化けを解消したのですが、ipaフォントのパッケージが変更になったようです。
原因
以前、設定したttf-ipafontパッケージがなくなっていたので再インストールしてみました。
どうやら、ttf-ipafontパッケージは、ttf-ipafont-gothicに置き換わったようです。
$ sudo apt-get install ttf-ipafont パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 パッケージ ttf-ipafont はデータベースには存在しますが、利用できません。 おそらく、そのパッケージが見つからないか、もう古くなっているか、 あるいは別のソースからのみしか利用できないという状況が考えられます しかし、以下のパッケージで置き換えられています: ttf-ipafont-gothic E: パッケージ 'ttf-ipafont' にはインストール候補がありません $
設定したipaフォントへのシンボリックリンクは、リンク先のフォントファイルがなくなっていました。
$ cd /usr/share/zabbix/fonts/ $ ls -l 合計 0 lrwxrwxrwx 1 root root 46 4月 11 14:14 DejaVuSans.ttf -> ../../fonts/truetype/ttf-dejavu/DejaVuSans.ttf lrwxrwxrwx 1 root root 42 12月 11 10:33 ipag.ttf -> /usr/share/fonts/opentype/ipafont/ipag.ttf lrwxrwxrwx 1 root root 44 4月 28 2011 ipagui.ttf -> /usr/share/fonts/truetype/ipafont/ipagui.ttf $ ls /usr/share/fonts/opentype/ipafont/ipag.ttf ls: /usr/share/fonts/opentype/ipafont/ipag.ttf にアクセスできません: そのようなファイルやディレクトリはありません $ /usr/share/fonts/truetype/ipafont/ipagui.ttf bash: /usr/share/fonts/truetype/ipafont/ipagui.ttf: そのようなファイルやディレクトリはありません $
対応
必要なフォントファイルが含まれているパッケージを探します。
$ apt-file search ipag.ttf fonts-ipafont-gothic: /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf $ apt-file search ipagui.ttf fonts-ipafont-nonfree-uigothic: /usr/share/fonts/truetype/ipafont-nonfree-uigothic/ipagui.ttf $ sudo apt-get install fonts-ipafont-gothic fonts-ipafont-nonfree-uigothic パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 fonts-ipafont-gothic はすでに最新バージョンです。 fonts-ipafont-nonfree-uigothic はすでに最新バージョンです。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。 $
何れのパッケージも最新版となっているようなのでシンボリックリンクを張り直します。
$ pwd /usr/share/zabbix/fonts $ sudo rm ipag.ttf $ sudo ln -s /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf ipag.ttf $ sudo rm ipagui.ttf $ sudo ln -s /usr/share/fonts/truetype/ipafont-nonfree-uigothic/ipagui.ttf ipagui.ttf $
以前に設定したフォントは、zabbixパッケージのバージョアップで上書きされているようなので再度修正します。
$ cd /usr/share/zabbix/include/ $ cp defines.inc.php /tmp $ sudo vi defines.inc.php $ diff -u /tmp/defines.inc.php defines.inc.php --- /tmp/defines.inc.php 2012-05-10 00:18:03.118983836 +0900 +++ defines.inc.php 2012-05-10 00:19:11.082985097 +0900 @@ -36,7 +36,7 @@ define('ZBX_WIDGET_ROWS', 20); define('ZBX_FONTPATH', realpath('fonts')); // where to search for font (GD > 2.0.18) - define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name + define('ZBX_GRAPH_FONT_NAME', 'ipagui'); // font file name define('ZBX_GRAPH_LEGEND_HEIGHT',120); // when graph height is less then this value, some legend will not show up define('ZBX_SCRIPT_TIMEOUT', 60); // in seconds $