更新pingを送信したときに、pingサーバがどのような挙動をするのか知りたかったのでちょっと調査した。
記事を作成し公開する タイミングで同時に7箇所のpingサーバに更新通知を行ったところ、即座にあるpingサーバから記事を公開したサーバにアクセスがありRSSを取得し ていった。結局通知後20分の間に8箇所からRSSへのアクセスがあった。通知した7サーバのうち4サーバからアクセスがあり、通知していないサーバから もRSSの取得が4箇所からあった。
まぁpingサーバとしては、更新通知を鵜呑みにせずに実際にRSS情報を取得してどのURLがいつ更新されたか裏をとっているのだろう。
Comments are off for this postFreeBSDにインストールしていたpostgreSQLを8.2.3にアップしてinitdbしたところ、途中で固まってしまう。debugモードで動かしてみたりしたのだが原因がわからない…
共有メモリあたりをうたがっていてカーネル再構築したが状況変わらず。
仕方ないので最新のバージョンでなくてもよいかとPostgreSQLのバージョンを下げる。
postgresql-server-8.1.8にしてもだめ。
postgresql-server-8.0.12にしてもだめ。
postgresql-server-7.3.18にしてもだめ。
postgresql-server-7.4.16にしてもだめ。
う〜ん、原因はなんだろう。やっぱり最近FreeBSDを5.1から5.5にアップしたためかなぁと思い、PostgreSQLと依存関係にあるソフトを作り直す。
openssl-0.9.8d
gmake-3.81_1
gettext-0.14.5_2
perl-5.8.8
libtool-1.5.22_3
libiconv-1.9.2_2
postgresql-server-8.2.3
これらを作成しなおした。作成しなおすときにエラーの原因となった autoconf-2.13 も作成しなおし。
これで再度 postgresql-server-8.2.3 をインストールしたら無事 initdb できた。
initdb -D パス –noclean –debug –encoding=euc-jp
結局FreeBSDのバージョンアップが影響していたということか…
なんだかんだで2日ぐらい悩んだ…
先日FreeBSDのバージョンを5.5にアップしたのだが、その影響かどうかはわからないがpostgreSQLをバージョンアップ (8.2.3)したところ調子がわるくなった。そこでイチから作り直そうと initdb してみるも、セマフォ関連のエラーになりinitdbが成功しない….
今までもセマフォ関連でエラーとなったことがあり、max_connectsionsの値を下げて対応してきていたのだが、今回はこの値を下げてもエラーになる。
結局 共有メモリのあたりをいじってみるかということで、カーネルを再構築することにした。
カーネル再構築メモ
・バックアップ
#cd /usr/src
#tar xvzf sys.tgz sys
・コピー
#cd /usr/src/sys/i386/conf
#cp GENERIC newKernel
#vi newKernel
ident GENERIC を ident newKernel に書き換え
・設定追加
vi newKernel
options SYSVSHM
options SHMMAXPGS=4096
options SHMSEG=256
options SYSVSEM
options SEMMNI=256
options SEMMNS=512
options SEMMNU=256
options SEMMAP=256
・カーネル再構築
#config newKernel
↑の最後にでたメッセージのディレクトリに移動
#cd ../compile/newKernel
#make depend; make
(10分ほどかかった)
・インストール
#make install
・再起動
#shutdown -r now
起動時のメッセージに newKernel という文字がでていればOK
ブログを更新したときに通知するpingサーバを調べてみた。
登録しなくてもpingを受けてくれそうなメジャーどころのサーバリスト。
[google] http://www.google.co.jp/help/blogsearch/pinging_API.html
http://blogsearch.google.co.jp/ping/RPC2
http://blogsearch.google.co.jp/ping
[yahoo] http://help.yahoo.co.jp/help/jp/blog-search/blog-search-18.html
http://api.my.yahoo.co.jp/RPC2
http://api.my.yahoo.co.jp/rss/ping?u=RSSのアドレス
[Technorati] http://www.technorati.jp/ping
http://rpc.technorati.jp/rpc/ping
[blogstyle]http://www.blogstyle.jp/guide.html
http://blogstyle.jp/xmlrpc/?f=1
[ping.bloggers.jp] http://ping.bloggers.jp/howto.html
http://ping.bloggers.jp/rpc/
[goo] http://blog.goo.ne.jp/info/ping_info.html
http://blog.goo.ne.jp/XMLRPC
[blogoon] http://www.blogoon.net
http://ping.blogoon.net/
FreeBSDを5.1から5.5にアップデートしたのだが、そのついでにbindを最新の9.3.4にアップした。するとスタートアップスクリプ ト /etc/rc.d/named を実行してもエラーになりbindが起動しない…. そこでいろいろ調べてみたところ、現在のスタートアップスクリプトではbindはchrootして起動するように記述されていることに気づいた。
そこで設定周りを次のように変更。
/etc/namedb/ 配下の設定ファイルを /var/named/etc/namedb に移動。
/etc/namedbを削除。
そして起動すると無事動いた。設定ファイルは /var/named/etc/namedb/named.confにあり、/etc/namedb はシンボリックリンクになっている。
/etc/namedb -> /var/named/etc/namedb
3年ほど前に構築したサーバ(FreeBSD 5.1)があるのだが、さすがに3年経過するとportsのアップデートやらなんやらで問題が生じ始めたのでバージョンアップすることにした。停止時間を 短く、かつ現在のディスクパーティションやソフトの設定ファイルをいじらずにアップするにはmake world するか sysinstall なのだが、make world は昔痛い目にあったことがあるのでsysinstall を利用することにした。FreeBSDの最新は6系なのだが、メジャーバージョンのアップはちょっとこわかったので5系の最新版である5.5へのアップに することにした。
まずは現状のディスクバックアップをとり、最悪アップデートに失敗してもバックアップハードディスクに切り替えれば動作するように保険をかけた。
続いて 5.5のインストール用CDを作成。そのCDがブートさせる。
そして Upgradeを選択。/etc/fstabの内容を記述し、アップデート実行。
10分ほどでバイナリコピーが終了したので Alt+F4をおして mergemasterを実行。
設定ファイルを適宜マージして再起動。
これでとりあえずバージョンアップした5.5系でOSが起動してくれた。
ただし動かしていたapacheやbindなどはエラーになったので、作り直し。
優先順位の高いソフト(postfix等)をまずはportsupgradeなりmake reinstall するなりして作成しなおし。そして起動させると無事動いた。
その他のソフトについては portupgrade -a してアップデート。エラーになったものは make reinstall など。なんだかんだでようやくバージョンアップして通常通り稼動した。
No comments