Thu, 18 Nov 2004

玄箱を買ってみた(今更)-(2)

お手軽 NAS + Linux であそべる「玄箱」ですが、いまのところノートラブルで動いているようです。

thttpd + Wiki はメモリは食わないですが、致命的に遅いので、 apache + mod_perl を試してみました。
が、こちらも若干早くなるものの、apache を立ち上げた段階でメモリを食いつぶしてしまいました(SWAP を使用しはじめる)。

LAN 実験用なので、それでもいいのですが、メモリを普段使わない apache なんぞに占領されるのはいただけないので、何か他に使えそうな類似製品がないかと探していたところ、ちょうど Zope の日本語版がリリースされた、というニュースをみたので、興味半分に入れてみました。

Zope が何か分からないまま(名前は聞いたことある程度)に入れてみたのですが、ZWiki とおまけの Blog を動かしてみたところ、起動時以外はそこそこのレスポンスで動作するみたいなので、インストールメモを。

必要なものはZope ジャパン - Zope 日本語版のページにあるとおりです。

玄箱に入れる際にひっかかった点をいくつか。

・前準備

玄箱を買ってみた(今更)-(1)でも書きましたが、grep を 上書きインストールして update しておきましょう(今回のインストールに影響があるかどうかは試してないので分かりませんが、configure で発生する問題を回避できるはずです)。

・Python 2.3.3

現在 Python の最新版は 2.3.4 のようですが、指示どおり 2.3.3 を入れてみました。
玄箱には Version2.0 が入っているので、これを壊したくなければ、別フォルダに入れる必要があります。
上のサイトをたどったところに書いてあるように、/opt/python2.3.3 にインストールすることで共存するには、

./configure --prefix=/opt/python2.3.3

のようにする必要があります。

システムパーティション(/)の下に入れるのがいやな方は、 /mnt/opt を作成して、シンボリックリンクを貼っておくとよいかと思います。 また、以降、python 用パッケージのインストーラ setup.py を実行する際には、フルパスで/opt/python2.3.3/bin/python と指定してやる必要がでてきます。

・Zope 2.7.3

python のパスを指定して

./configure --with-python=/opt/python-2.3.3/bin/python

を実行しますが、ここで dirname がないため、エラーとなります。 dirname は busybox に含まれていますが、リンクがないので、 作成する必要がありました。

#cd /bin
#ln -s busybox dirname

あとは問題なく make , make install できました。

/opt/Zope-2.7/bin/mkzopeinstance.py を実行すると zope instance home とやらの作成位置を聞かれます。

/mnt 以下にするか、/var/zope にするときはあらかじめ /mnt/var/zope を作成してシンボリックリンクを作成しておくと、 容量の問題を回避できると思われます。

私ははじめ、消してある説明のように、シンボリックリンクを利用して(/var/zope->/mnt/var/zope) にインストールしました(以下の説明はそのようになっています)。が、起動時 Product の読み込み時に Duplicate なんとかっていう "Problem" がレポートされてしまったので、/var/zope/var だけ /mnt 以下に移しました(懲りずにシンボリックリンク)。/var/zope/etc/zope.conf でも位置指定できるようですが、instance home は起動スクリプト等で指定されているので、結局ごまかしました。

ここまで完了したら、zopectl start で起動することを確認しておきましょう。

上記リンク先にもありますが、zope はユーザ zope を作成して起動します。そのため、/var/zope/log と /var/zope/var はユーザ zope がアクセスできるように、インストールスクリプト実行「後」に chmod 1777 する必要がありました(起動時にエラーになった)。

・Japanese Codecs

これは python のインストーラ、setup.py で問題なく入りました。

・Placeless Translation Service 1.0rc8
・ZMI Localizer

これらは展開して「Zope instance の Product ディレクトリ内」とやらにコピーするだけらしい、のですが、いきなり慣れない用語で戸惑いました。

なんのこっちゃと思いましたが、どうやら上記が指すのはさっき指定した instance home 以下の /var/zope/Products のことのようです。

/opt/Zope-2.7/skel 以下にも同じようなフォルダができますが、こっちはインスタンスの素?みたいですね(分かってない)。

ここに上記のアーカイブを展開してできる、[PlacelessTranslationService][COREBlog][ZMILocalizer] をディレクトリごとコピーします。

Zope のコントロールパネルからリブートするか、/var/zope/bin/zopectl stop で落として、再起動します。

これで、トップページ http://ZOPEホスト:8080/ の QuickStart が日本語化されま......せんでした(w

原因はブラウザの送っている情報で、言語が en-us になっていました(FireFox を英語版からアップデートしていたため?)。
あわてて jp を追加して、無事日本語の QuickStart が表示されました。

メモリ使用量ですが、以下のような感じです。(起動後、COREBLOG を表示した状態)

zope@YANEURA1:/$ free
             total       used       free     shared    buffers     cached
Mem:         62800      61544       1256          0       7196      22752
-/+ buffers/cache:      31596      31204
Swap:       257032          0     257032

追記。

reStructuredText で日本語を入れるとエラーになる

象歩Blog (coreblog)にある input-encoding,output-encoding を 指定する方法で回避できるようです。

posted at: 19:53 | permanent link

Sun, 14 Nov 2004

「メモリカードの異常です」

デジカメを使っていたら急にこんなメッセージがでました。

SD カードが壊れたのか?
帰ってあわてて Windows2000 のマシンでみてみると、"DCIM" のフォルダ名が化けています。しかもコントロールキャラクタか何かに化けているようで、リネームを受け付けません。

早速ディスクのプロパティからエラーチェックを実行。しかしエラーは検出されず。
コマンドプロンプトから CHKDSK /F してみましたが(実体は同じか?)、こちらでも異常はないと言われる始末。

ちなみに CHKDSK /V を実行すると、化けたフォルダの下にあるファイル名が出てくるので、リンクは破壊されていないようです。

Web を探していると、DISK をセクタ単位で書き換えるソフトを発見。しかし、これは Windows95系 限定でした。

他によさげな方法が見当たらなかったので、セクタ編集ソフトをダウンロードして、しぶしぶ Windows98 マシンを起動。

新しいデバイスの認識、なんていう画面を見ている時に、「そういえば CHKDSK の親玉?の SCANDISK なんてのが Windows98 にはあったっけ。」と思いつきました。

FATエントリの編集なんていう恐ろしいコト(DOS 時代はフロッピーでよくやりましたけど)をする前に、ためしに SCANDISK したら、すぐにエラー検出。コントロールキャラクタを "-" に置換してくれました。

さて、Windows98 があったから今回は助かりましたが、Windows2000 で FAT ファイルシステムがおかしくなったら、どうするのが「正しい」んでしょう?「教えて、エラい人。 」

posted at: 22:42 | permanent link