nDiki : FreeBSD
Related term
2004年1月18日 (日)
■ [ WiKicker ] IPC共有メモリを用いた直近のアクセスログ管理

昨日から本格的に検討していたアクセスログ管理であるが、今回は IPC::ShareLite モジュールを使って、IPC共有メモリに置くことにした。
- 共有メモリなのでファイルに書くより圧倒的に速い。
- (ipc key を変更した時など)削除し忘れてメモリに残るおそれがあるので注意。
- IPC::ShareLite は Perl 5.005_03 でも動く。
- FreeBSDを使っているサーバで共有メモリが使えた(共有メモリを使うPostgreSQL が使えるようになっている事からも心配なし)。1024 * 512 bytes 取っても問題なし。
- Storable を使ってシリアライズ。
- この共有メモリを扱うモジュールファイル名を__FILE__で取得し、その更新ファイルをマジックナンバーとして、共有メモリに一緒に書いておく。読んだ時に一致しなければ破棄するようにする(今後しばらく、ちょくちょく形式を変更すると思うので)。
ちゃちゃっと実装して、やっつけであるが直近のログを見れるようにした(RecentLog )。 順次表示する情報の追加や、表示数の調整を行う予定。 それから、各ページでのロギング処理が高負荷時に重荷にならないか要チェック。
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
- [ WiKicker ] SunOS 5.6 にインストール (2003-04-23)
- FreeBSD と Apache::Htpasswd (2006-03-02)
- WiKicker 0.38 リリース - 認証・承認用コードの実装 (2006-09-14)
- WiKicker に JSON でのページ出力機能を追加 (2007-04-03)
2004年2月8日 (日)
■ Berkeley DB 4.2.52 + DB_File 1.808 をホームにインストール

[ Perl ]
DiKicker の二次データの保存先を何にしようか思案中。 MLDBM::Sync が候補なのだが、MLDBM::Sync::SDBM_Fileだとデータが大きくなった時に速度が出ないようだ。
このサーバ(FreeBSD)のPerl(5.005_03)は、DB_File も GDBM_Fileも有効になかったので今までDBMパッケージの使用は避けてきたのだが、さすがに今回は使えないと辛いかも。
ということで Berkeley DB も含めて DB_File をホームにインストール。
@ db-4.2.52
tar zxvf db-4.2.52.tar.gz cd db-4.2.52/build_unix ../dist/configure --prefix=$HOME/local/db-4.2.52 make make install rm -rf $HOME/local/db-4.2.52/docs
インストール自体は特に依存するものも無く簡単。 ただし、このサーバでは丁度 busy だった事もあってビルドに2時間!もかかってしまった。 本来は暇そうな時にやるべきなのだろうけど、今日中にうまくいくか検証しておきたかったので、待った。
@ DB_File-1.808
tar zxvf DB_File-1.808.tar.gz
cd DB_File-1.808
export DB_FILE_LIB=$HOME/local/db-4.2.52/lib
export DB_FILE_INCLUDE=$HOME/local/db-4.2.52/include
perl Makefile.PL INSTALLDIRS=site \
LIB=$HOME/local/lib/perl \
INSTALLMAN1DIR=/tmp/man/man1 \
INSTALLMAN3DIR=/tmp/man/man3
make OTHERLDFLAGS="-Wl,-rpath -Wl,$HOME/local/db-4.2.52/lib"
make test
make install
libdb を実行時に検索させるのに LD_LIBRARY_PATH環境変数とか指定したくなかったので、-rpath を指定してしまった。 Makefile中の OTHERLDFLAGS 変数がリンク時に空だったので、ここで設定。
しかし libdb-4.2 でかいな。 Perl からの呼び出し一発目は結構時間がかかる。
- DBD::Oracle 1.16 を Debian GNU/Linux s... (2005-05-19)
- [ Perl ] Memcached を使ってみる (2004-01-12)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- SCons は GNU Autotools のかわりになるか (2005-04-20)
- [ Perl ] DB_File - DB_BTREE のロック (2004-02-16)
2004年2月16日 (月)
■ [ Perl ] DB_File - DB_BTREE のロック

- Tie::DB_Lock - read only の時はデータベースをコピーし、マルチバージョニング。遅そう。
- Tie::DB_LockFile - 手元の Debian BOX、FreeBSD BOX では make test 通らず。
- DB_File::Lock - Lock ファイルを作るシンプルなもの
- MLDBM::Sync - seq() とかサポートしてなさそう。
- BerkeleyDB - lock 関連のドキュメントが少なくよくわからない。
ということで、DB_File::Lock が本命か。
Search::InvertedIndex では、key/value の value に next key と prev key を持たせていて(正確にはindex番号)、hash の中に自前でリンクリストを作ってしまっている。 これって充分なスピードが出ているのだろうか?
もしそうなら DB_BTREE をやめて、MLDBM::Sync を DB_HASH で使うという手もあるのだが。
- Berkeley DB 4.2.52 + DB_File 1.808 をホ... (2004-02-08)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- [ WiKicker ] Storable 永続化データの互換性 (2005-06-06)
- PAR (2004-07-19)
- 今日のさえずり - 京都の小学校のコンピュータ室にいったら、Squeak が (2008-03-06)
2004年6月11日 (金)
■ Unison + Zebedee

記事「Unison で展示会機器のセットアップ」に、
wtnabe 2004-06-10 15:51:09 rsync もまともな認証とは呼べないような気がしますが。。。同じことをするなら tcpwrapper を使うって形になるんでしょうけど、Zebedee などで認証を掛けるともっと融通が利いてなおかつセキュアなんじゃないでしょうか。
という貴重なコメントをいただく。
Zebedee 最近使ってなかったな。ホスティングサーバ(FreeBSD)がSSH接続を提供してくれていなかった時は、Linux BOX からZebedee 経由で telnet したり、mirror したりしていた。
ちなみに今回の用途では、通信路の暗号化はあまり重視していない(社内ネットワークで、対象ファイルはもともと皆が閲覧できるものだし、端末の前にも座れるから)。
@ Unison Soket メソッドでのサーバ側の問題
- 認証なし
- 接続ホストによるアクセスコントロール不可
- 同期対象となるローカルファイルの制限不可。
というのが問題。
c:ドライブ全体(だけでなく全てのドライブ)をパスワード無しで「読み書き可能なWindowsファイル共有」しているような感じであり、気持ち悪い。
@ rsync サーバの認証
平文でパスワードが流れることはないし、Unison でもこれぐらいの認証ができれば今回の用途では充分という感じ。
@ Unison + Zebedee
Windows 同士だと結局一方は Unison を Socket メソッドで起動しなければならない。 そのポートへは認証有のZebedeeトンネルで接続するとして、外部からは直接アクセスできないようにしなければならないので面倒。
Zebedee 自体はナイスなプログラムではあるのだが、Unison と組み合わせには使えないかな。 普段使いには Unison + SSH だし。
@ Windows 版
本家に Windows 版もあるのか。 インストーラの形になっているがインストールされる zebedee.exe は単体でも動く。 Unison との連携は別にしても、入れておいて損はないのでこれもUSBメモリにいれておこう。
- TrueCrypt で USB メモリに Windows と Linux ... (2006-12-14)
- 普通の人向けに svnserve を立ち上げるか (2005-07-26)
- OpenSSH for Windows (2004-08-05)
- 自宅の無線 LAN を復旧 & IEEE 802.11g 化 (2004-11-26)
- ノート PC を持たずに会社に行きたい (2006-12-21)
2004年6月25日 (金)
■ 納品作業

CD-Rで用意したデータを配置するのに、mount しようとしたがうまくいかない。 …FreeBSD か。 よく知らぬ。
とりあえず自分の Linux BOX から scp で転送しておく。
しかし約束の時間にいったのにオフィスの片隅で立ったまま30分近く待たされるなど、大手のやる事は理解に苦しむ(もちろん多くの大手はそうではないと思うが)。
- xyzzyを読み取り専用メディアから起動する (2004-07-28)
- 今日のさえずり - 納品されたプログラムが全く動かなかった時の気持ち (2009-02-25)
- 11:00 再び小田原へ (2002-04-24)
- LinuxWorld Conference & Expo (2006-08-16)
- 今日のさえずり - ホームレスグーチョコランタン (2008-10-27)
2005年5月4日 (水)
■ FreeBSD 上の Unison をアップグレード

すこし前に sid の Unison が 2.10.2 になったのにともなって、FreeBSD なホスティングサーバ上の Unison (2.9.1) と同期できなくなってしまった。
ということでビルドしなおし。 まずは Ocaml から
wget http://caml.inria.fr/pub/distrib/ocaml-3.08/ocaml-3.08.3.tar.gz tar zxvf ocaml-3.08.3.tar.gz cd ocaml-3.08.3 ./configure -prefix /tmp/naney make world make opt make install
tar zxvf unison-2.10.2.tar.gz cd unison-2.10.2 PATH=$PATH:/tmp/naney/bin gmake UISTYLE=text ./unison -version cp -p unison $HOME/local/bin
- Debian GNU/Linux sid 環境を新 HDD へ (2006-07-29)
- [ WiKicker ] Storable 永続化データの互換性 (2005-06-06)
- [ WiKicker ] SpeedyCGI (2003-10-17)
- 今日のさえずり - JugemKey ID がいつもので取れない (2008-04-25)
- Crypto++ 4 -> 5 (2003-11-20)
2005年6月6日 (月)
■ [ WiKicker ] Storable 永続化データの互換性

fkimura 氏から WiKicker の障害レポートをいただいた。 Perl v5.8.6 へ移行した環境で WiKicker 0.26 を試してみたところエラーになってしまうとのこと。
"Error action: do_read: Byte order is not compatible at blib/lib/Storable.pm (autosplit into blib/lib/auto/Storable/thaw.al) line 366, at /usr/local/lib/perl5/site_perl/5.8.6/WiKicker/DB/File.pm line 161 at /usr/local/lib/perl5/site_perl/5.8.6/WiKicker/CGI/AbstractController.pm line 93"
(FreeBSD 4.11-RELEASE-p9)
Storable がエラーを吐いている。 Storable データ形式に互換性のない環境 (Perl and/or Storable) 変化があったようだ。
例えば Storable のマニュアルによれば 64bit integer をサポートするように構築された Perl v5.6.0 や v5.6.1 で Storable 2.02 以前を使って書き出したデータを他の環境で読み出すと 'Byte order is not compatible' エラーが出るとある。
確認したところ前のバージョンは Perl v5.6.2 だそうなので、もしかしたら上記の非互換性にあたってしまったのかもしれない (FreeBSD の Perl って 64bit integer サポートでビルドされるようになっている?)。
@ WiKicker での対応方法
WiKicker で使用している Perl のアップグレードで上記問題にあたった場合、一番簡単な方法は Storable で書き出しているページ情報ファイルを一旦全部消してしまうという方法。
WiKicker のデータベースディレクトリ (wikicker.database.directory プロパティで指定しているディレクトリ)の下の、info/basic/* を全て消してしまう(一応バックアップとしてコピーした方が良い)。
この場合、各ページの「最終更新時刻、最終更新者名、要約文」が消えてしまうが、これらの消えてしまった情報は次にページを更新した時に最新の情報で上書きされる。
WikiPage そのものおよび古いリビジョンは影響がなく全て残っているので、通常の運用ではまあ許容できる範囲の対処方法か。
情報ファイルを消したくない場合は、コンバートする必要があるけれど古い Storable データを読み出せる環境で export して、新しい形式で書き直す必要があるので作業する人にとってもちょっと面倒かもしれない。いや、新しい Storable ならば $Storable::interwork_56_64bit あたりを使えば両方をきりかえて読めそうであるので、新しい環境だけあればいいのかな。
- [ WiKicker ] キャッシュまわりにバグ (2004-06-05)
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- SQLite とか DbUnit とか (2005-05-23)
- [ Perl ] Memcached を使ってみる (2004-01-12)
- [ WiKicker ] SpeedyCGI (2003-10-17)
2006年3月2日 (木)
■ FreeBSD と Apache::Htpasswd

WiKicker の認証ドライバの1つとして、まずは Apache の htpasswd パスワードファイル(AuthUserFile ディレクティブ用パスワードファイル)形式のものを作成することにする。 これなら htpasswd で作成することができるので、最悪最初の段階では WiKicker に登録・削除機能を入れないで済む。
Perl からこのパスワードファイルを扱うモジュールとしては Apache::Htpasswd や、Authen::Htpasswd がある。 CPAN にある CGI-Application-Plugin-Authentication は前者を、Catalyst-Plugin-Authentication-Store-Htpasswd では後者を使用している。
機能的にはほぼ同じか。 Authen::Htpasswd の方がユーザ名に対応するオブジェクトを取得するメソッドがあり便利といえば便利だが、まあなくても困らないだろう。
ということで今回は、依存モジュールの少ない Apache::Htpasswd を選択した。 Perl 5.005_03 にはない warnings プラグマが使われているが、Htpasswd.pm の
use warnings;
1行を削除すれば問題無し。
FreeBSD 4.4-RELEASE #3 + Perl 5.005_03 + Apache-Htpasswd 1.7 だと、crypt 関連のテストケースが失敗する(not ok 17)のがちょっと気になるところ。 MD5 ベースのパスワードの読み書きは問題ないので、この環境ではこちらを使うことにしよう。
- ノート PC で Apache Virtual Host (2004-12-15)
- [ WiKicker ] 「最近のアクセスログ」処理思案 (2004-01-17)
- Plagger で Twitter のあれこれをメールで通知 (2008-12-25)
- WiKicker の Makefile.PL を Module::Inst... (2006-02-10)
- Perl CGI プログラムのテストには WWW::Mechanize::... (2006-02-18)
2006年8月16日 (水)
■ LinuxWorld Conference & Expo

サンフランシスコの Moscone Center で8月14日から8月17日まで開催されている LinuxWorld Conference & Expo の Expo の方を見にいってきた。
受付にある PC に事前登録してある名前を入力し、Print ボタンを押すとカウンターの方で手続きが行われる (最初 Continue を押したら入力フォーム出てきて、「え、面倒」と思ってしまった)。
名前の印字されたプラスチックカードをホルダーに入れて首から下げ展示会場へ。
@ .org Pavilion
まず向かったのは .org Pavilion。
入口を入って左手奥にあるのだが、そこだけ別世界の雰囲気だ。
- Creative Commons
- Debian
- Eclipse Foundation
- Electronic Frontier Foundation
- Etherboot Project
- Fedora Project
- Free Software Foundation
- Free Standards Group
- Gentoo Linux
- GNOME Foundation
- Joomla!
- K Desktop Environment (KDE)
- Linux Terminal Server Project (LTSP.org)
- The Linux Test Project
- openSUSE.org
- Open Source Software Institute
- PostgreSQL Project
- SugarForge.ORG
- The FreeBSD Project
- ubuntu
- X.Org Foundation
なんというか、だらっとしている。 企業ブースのように営業目的があるわけではないので、媚びる風がなく勝手きままだ。 そこら辺で飯食ってるし。
置いてあるパンフレットは「What is ~?」という紹介的なもの。
聞きたいことがあれば、話かければよいのだが考えてみると特段これといってなかったりする。ぐるっとひとまわり。
Ubuntu というキーワードは何カ所かで見かけた。それなりにはやっているのか?
@ 企業ブース
大きなところは、NOVEL、IBM、AMD、HP、MOTOROLA、ORACLE、INTEL あたり。 特別注目すべきところはあまり感じられなかったかな。
全体を見るとモバイル系や、Virtualization が目についた感じだ。
出る前に Debian のブースによって T シャツを買ってきた。 多少は donation になるかな?
@ Information
- http://www.linuxworldexpo.com/live/12/
- 2006年8月14日-8月17日開催
- amaroK で Linux 上の iTunes 音楽データを聞く (2006-01-22)
- ソフトウェア技術者御用達のプロジェクトマネジメントツール TaskJuggler (2007-04-23)
- 今日のさえずり - RTM 上でプライベートと仕事についてタグで分けることにした (2007-11-21)
- Linux で使えるデスクトップ検索ツール Beagle でローカルファイ... (2006-08-08)
- Debian (不安定) (2005-02-03)
2006年12月4日 (月)
■ SpeedyCGI 以下で WiKicker がうまく動かない?

WiKicker ベースのシステムが稼働しているホストが FreeBSD 5.2.1-RELEASE から FreeBSD 6.1-RELEASE に更新されるのにともない、再インストール作業を行った。
動作確認をしたところ CGI プログラムは動くものの Perl モジュール中の DATA セクションが読めていないようなエラー表示がされた。
もしやと思い SpeedyCGI を外したら正常動作。
SpeedyCGI 下で動くことを考えて、DATA セクションを1度しか読まないようにコーディングしてあるはずなのだが、はて。
他の作業もあり細かいチェックができなかったのでもしかしたら違うところでの問題かもしれないが、ちょっと厄介。
- [ WiKicker ] SpeedyCGI (2003-10-17)
- [ WiKicker ] SpeedyCGI 対応するも…… (2003-11-09)
- Windows 上での Apache 2.0.53 では PATH_INF... (2005-04-10)
- [ Perl ] Log::Log4perlのはまりどころ (2004-03-02)
- CGI プログラム、Out of memory! に泣く (2001-01-04)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.030752s / load averages: 0.04, 0.10, 0.13
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)








◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。