CentOSのPostgreSQLを9.2にアップグレードする

CentOS6系だとyumでPostgreSQLをインストールすると8.4が入ります。僕もこれで運用していました。ところが全文検索がデフォでサポートされているのは9.1以降なのでアップデートしたいという話です。

前もチラッと書きましたが、マルチバイト文字に対応するには若干コードを修正する必要があるので、自前でビルドという事になります。RPMを適当に探してきてというわけにはいきません。

またyum管理下のPostgreSQLを自前ビルドのバージョンで更新ということで、明らかに面倒そうなのでほったらかしていたのですが、先ほど重い腰を上げて作業したのでログを残しておきます。

Continue reading “CentOSのPostgreSQLを9.2にアップグレードする”

CentOSでfluentdとzabbixを使い始めたメモ

このエントリを読んでからfluentdを導入したいと思ってたのですが、手元に頑張って監視するに値するサーバが無くてほったらかしてました。最近Bargain Netが監視しても良いかな位になったのでfluentdを導入してみました。先ほどのリンク中のスライドでzabbixにグラフを書かせてたので、真似してzabbixもついでに導入しています。

Continue reading “CentOSでfluentdとzabbixを使い始めたメモ”

[シェルスクリプト] 未初期化と空文字列で初期化の違い

自前で動かすデーモンとかが増えてきたので、CentOSの/etc/init.d/functionsをまともに理解しとこうと思って読んでいると、以下のようなコードが見つかりました。

status() {
	local base pid lock_file= pid_file=

	# Test syntax.
	if [ "$#" = 0 ] ; then
		echo $"Usage: status [-p pidfile] {program}"
		return 1
	fi
	...

4つの変数が宣言されていて、そのうちbaseとpidは未初期化、残りの2つは空文字列で初期化されています。まさか/etc/init.d/functionsのような枯れきっているコードにミスなんかは残ってないと思ったので調べてみました。

Continue reading “[シェルスクリプト] 未初期化と空文字列で初期化の違い”

CentOSでデーモンの起動スクリプトを書く

CentOS上で動かすuWSGIをデーモンとして扱いたかったのですが、起動スクリプトを書いたことがなかったので少し調べてみました。

軽くググると/etc/init.d/skeletonにテンプレートファイルがあるという事だったのですが、手元のCentOSでは存在しませんでした。一方でUbuntuでは存在を確認できたのですが、UbuntuのテンプレートファイルをCentOSでそのまま流用はできないようです。

もう少し調べてみると、手元のCentOS 6.2の場合は下記のファイル内に、起動スクリプトのテンプレートが含まれていることがわかりました。(パス中の数字は環境によって異なりそうです。)

/usr/share/doc/initscripts-9.03.27/sysvinitfiles

Continue reading “CentOSでデーモンの起動スクリプトを書く”

CentOS上のzshで日本語入力が文字化けする件

CentOSのzsh上で日本語を入力すると文字化けしていて、svnコマンド等での入力に支障が生じていたのですが、これはzshのバージョン問題のようです。

Continue reading “CentOS上のzshで日本語入力が文字化けする件”