« 2007年04月 | メイン | 2007年06月 »

2007年05月 アーカイブ

2007年05月01日

写真

写真を載せてみた。夕焼け。

2007年05月09日

開発合宿

GWは知人と3人で今流行り?の開発合宿をやってみました。ネットで紹介されていた、水上のペンション木馬に2泊滞在。ひたすら開発。時々温泉。ひたすら開発。いい湯でした( ´ー`)。

こんな感じ。

快適な環境と適度な緊張感で過ごす時間は、確かに作業にはとても効率の良いものでした。2日とも昼過ぎから作業を開始してしまったりと、時間の使い方には多々反省点がありましたが、それでもかなりの成果が上がったと言えます。本当は作ったものを公開するまでやるつもりだったのですが、そこまでは辿り付きませんでした。残念。

ペンション木馬のオーナーは理解のある方でとても助かりました。無線LAN完備。カードも無料で貸してもらえます。広い食堂のテーブルを作業環境として使わせていただいたので作業環境としては完璧。申し分のないものでした。コーヒーも飲めるし。
Mac好きとのことで食堂に歴代のMacが飾られているのが微笑ましいです。客用の共用PCがVine Linuxだったりとかなりマニアックな方のようでした。値段の割りにご飯も美味しいし温泉にも入れるし、先例があるだけあって開発合宿には適した場所です。ただ、ブラシやバスタオル等のアメニティが「ない」のは減点ポイント。そのくらい置いて欲しいです。ちょっと困ってしまった。

アップライトピアノが置いてあるので、次に行く機会があれば譜面を持って行きたいかも。静かで環境の良い場所なのでできればのんびり長期滞在してみたいものです。ただ交通の便が悪いので、基本的にクルマで行くべき場所ですね。

合宿を終えての反省点や感想をいくつか書いておきます。


計画は早めに立てるべき

前日まで何の計画も立てずにいたので、かなり甘い見通しで作業に入ってしまいました。 私が突然言い出したので同行してくれた二人も計画や準備を行う時間がなく、初日の半分は皆、作業計画に費やすことになってしまいました。大変申し訳ない。 また、ろくに見積らなかったので私の場合は作業量が多すぎてローンチまで行くことができませんでした。
宿も、直前までどこに行くかも考えていなかったのでほとんど選ぶこともできませんでした。昔から旅行の計画を立てるのは苦手なのですが開発合宿はきちんと準備しておくべきだと、痛感しました。(´・ω・`)

時間の使い方が悪かった

初日に到着したのは15時。2日目に本格的に開始したのは午後になってからでした。2日共深夜まで作業はしていましたが、もっと効率よく時間を使えたのではないかと思います。折角特殊な場所と時間を演出しているのだから時間は最大限に活用すべきでした。

温泉(・∀・)イイ!!

開発合宿に温泉は付きものですが、体験して見て効果を実感しました。温泉に入ると一気に行楽気分になれます。気分転換にとても良いです。次は露天風呂のあるところがいいなぁ。

観光はあまり好きではありませんが、静養は楽しめるのかもしれません。忙しく過ごしてはいましたが、これは多分そういう類の行動なのだと思います。

概ね満足できたので、近いうちにまた企画することでしょう。

2007年05月14日

NIC交換とネットワークのベンチマーク

知人よりintelのギガビットNIC(Intel PRO/1000 MT Desktop Adapter)をもらったので、NIC交換するついでにネットワークのベンチマークを行ってみました。

ベンチマークにはNetPerfを使いました。NetPerfはI/Oの速度に関係なくネットワークの速度が測れるツール、らしい。サーバとクライアントの双方にインストールします。いつものようにサーバはFreeBSD、クライアントはMac OSX。ローカルエリア内での測定です。

FreeBSD側

# cd /usr/ports/benchmarks/netperf
# make install
# rehash
# netserver ←サーバを起動しておく。

Mac OSX 10.4側

ftp://ftp.cup.hp.com/dist/networking/benchmarks/netperf/ よりnetperf-2.3.tar.gzをダウンロード(最新バージョンはmakeがうまくいきませんでした。)

makefileを修正。
CFLAGS = -O -D$(LOG_FILE) -DNEED_MAKEFILE_EDIT
↓
CFLAGS = -O -D$(LOG_FILE) -DUSE_PROC_STAT -DDO_FIRSRT_BURST

# make
# make install

測定

有線(100BASE-T)
# /opt/netperf/netperf -H myserver.com
TCP STREAM TEST to myserver.com
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 65536  65535  65535    10.00      62.89

無線(IEEE 802.11g)
# /opt/netperf/netperf -H myserver.com
TCP STREAM TEST to myserver.com
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 65536  65535  65535    10.02      17.88

有線でのスループットが62.89Mbit/secであるのに対して、無線では17.88Mbit/secでした。大体予想通りの数値です。

さて、本題のNIC交換です。intelのNICなので対応しているとは思いましたが念のため下記でFreeBSDの対応状況を確認しておきます。下記にあればブート時に自動認識してくれます。

FreeBSD/i386 6.0-RELEASE Hardware Notes
http://www.freebsd.org/releases/6.0R/hardware-i386.html#ETHERNET


/etc/rc.confを書き換える。

# vi /etc/rc.conf
#ifconfig_sis0="inet 192.168.0.4  netmask 255.255.255.0"
ifconfig_em0="inet 192.168.0.4  netmask 255.255.255.0"

元々はSiSのカード(IO DATAのもの)でしたが、今回はintelに変更するのでem0としておきます。

この後はさくっと電源を落としてNICを取り付け、ケーブルを新しいNICに挿して起動します。連続稼働は343日でした。安定安定。

再計測(有線)
# /opt/netperf/netperf -H myserver.com
TCP STREAM TEST to myserver.com
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 65536  65535  65535    10.00      63.95 

ギガビットNICにしたのに全然変わらないwwwww
まぁサーバとクライアントの間に100BASE-TXのHUBが2個挟まっているので当然なのですが。

初めてNICを交換してみましたが意外に簡単でした。次はHUBを交換して速度比較してみたいものです。

2007年05月21日

PowerPC版mac miniにFreeBSDをインストールする

何故か早起きした土曜日。ふと思いついて余っているmacminiをサーバにしてみることにしました。Yellow Dog Linuxを入れるつもりだったのですが、PowerPC対応の日本語版は現在販売していないので別のOSに。

何を入れようか探していたところ、慣れているFreeBSDがあったのでこれを入れてみることにしました。FreeBSDは6.0からPowerPCに対応したようです。Tier 2なのでβ版という感じですが、遊ぶ目的なのでこれを選びました。バージョンはFreeBSD 6.2-RELEASE。

OSXのパーティションを削除

手順はAppleに書いてあるとおりです。
  • Mac OS X CDをセットした後、「C」キーを押しながらブート(CD-ROMブート)
  • 起動したら「続ける」を押さずに、メニューから「Installer」→「ディスクユーティリティを開く」
  • HDDを選択
  • 「消去」タブ→「ボリュームフォーマット」で「UNIX ファイルシステム」を選択
  • 「オプション」クリック→「全データを0にする」をチェック
  • 「OK」→「消去」とクリック

これでディスクをフォーマットできました。

FreeBSD/PPCのインストール

あらかじめ、http://www.jp.freebsd.org/www.FreeBSD.org/where.htmlからISOイメージをダウンロードしてCD-Rに焼いておきます。

macminiのちょっとした問題点はCDの取り出し機構がないこと。上記作業後はMac OS X CDが入ったままなので、Command + Option + O + F を押しながらブートしてOpenFirmwareプロンプトに入り

0 > eject cd
とタイプしてCDを取り出しました。

http://www.jp.freebsd.org/www.FreeBSD.org/where.htmlからISOイメージをダウンロードしてCD-Rに焼き、「C」キーを押しながらブート。後は通常のFreeBSDと同じようにインストールするだけでした。

バーティションは/のみ。swapなし。それ以外ではインストールに失敗します。 当初、これでもエラーが出ていたのですが、再起動して同じ事を試したところ、何故かうまくいきました。

起動

ここまではすんなりと進むのですが、なかなか起動せず四苦八苦。http://people.freebsd.org/~grehan/install.htmlを参考にして以下のようにしたところうまくいきました。

  1. http://www.freebsd.org/~grehan/ppc-root-latest.tbz2をダウンロードしてブートCDを作成
  2. ブートCDをドライブにセット
  3. 起動時にOpenFirmwareプロンプトに入り、下記を入力
    0 > dir cd:,\
    0 > boot cd:,\boot\loader
    0 > set currdev=hd:3 ※ディスクユーティリティで確認できるパーティション番号
    0 > boot -s

起動時には毎回このプロセスを辿らなければならないので、リモートでのリブートができない状況です。これでは公開用サーバには使えません。解決する方法はありそうですが、起動したところで満足してしまったので今回は追いませんでした。

ということで、取りあえずpowerpc版mac miniをFreeBSDサーバとして使うことができるようになりました。mac mini、まだまだ活躍してくれそうです♪

参考

続きを読む "PowerPC版mac miniにFreeBSDをインストールする" »

2007年05月23日

freebsd-updateでセキュリティアップデート

要するにFreeBSD版のWindows Update。最新版へのバージョンアップではなく、当該バージョンにおける脆弱性の修正らしい。ソースツリーを取得して再構築する必要なしに、FreeBSD セキュリティブランチを容易に追いかけることができる、と。

freebsd-updateのインストール

# cd /usr/ports/security/freebsd-update/
# make install
# cp /usr/local/etc/freebsd-update.conf.sample /usr/local/etc/freebsd-update.conf
# rehash

アップデート実行。バイナリパッチをダウンロードしてからインストール。

# freebsd-update fetch
# freebsd-update install

再起動後、適用を確認する。

# shutdown -r now
# uname -a
FreeBSD hoge.example.com 6.0-SECURITY FreeBSD 6.0-SECURITY #0: Wed Feb 14 12:22:36 UTC 2007     root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  i386

最後にcronに登録しておく。こうしておけばバイナリパッチが提供されている場合にrootにメールで告知してくれるそうです。

# vi /etc/crontab
0 6 * * * root /usr/local/sbin/freebsd-update cron

参考

  • http://x68000.q-e-d.net/~68user/unix/pickup?freebsd-update
  • http://yang.amp.i.kyoto-u.ac.jp/~yyama/FreeBSD/security/freebsd-update-j.html
  • http://www.maita.cc/higurashi/sb/log/eid457.html

ちなみに、ppc版はツールのインストールすらできませんでした。この辺がTier2ってことか・・。

# cd /usr/ports/net/cvsup-without-gui/
# make install
===>  cvsup-without-gui-16.1h_2 is only for alpha amd64 i386 sparc64, and you are running powerpc..
*** Error code 1

Stop in /usr/ports/net/cvsup-without-gui.
# cd /usr/ports/net/cvsup/
# make install
===>  cvsup-16.1h_2 is only for alpha amd64 i386 sparc64, and you are running powerpc..
*** Error code 1

Stop in /usr/ports/net/cvsup.
# cd /usr/ports/security/freebsd-update/
# make install
===>  freebsd-update-1.6_2 is only for i386 amd64 alpha sparc64, and you are running powerpc..
*** Error code 1

Stop in /usr/ports/security/freebsd-update.

2007年05月24日

portsnapでportsツリーを最新にする

前回のエントリーでご指摘を頂いたので早速試してみました。portsnapはFreeBSD の ports ツリーを更新することができるということ。CVSupよりも効率的らしい。6から標準で入っているので、バージョン6.2のFreeBSD/PPCでも動きました。ということでメモメモ。

# portsnap fetch && portsnap extract && portsnap update

初回はこれで持ってきてportsツリーを展開する。

# portsnap fetch && portsnap update

2回目以降はこれでOK。

2007年05月28日

CDBIでset namesする

今更DBICでなくCDBIネタ。事情によりmy.cnfを書き換える事ができないのでset names utf8しようとしたらやり方が判らず、しばらくいらいらしたのでメモ。

環境はMySQL 5.0.18 + Class::DBI 3.000014

package MyApp::Model::CDBI;

use strict;
use base qw[ Catalyst::Model::CDBI Class::DBI::mysql ];

__PACKAGE__->config(
    dsn               => 'DBI:mysql:dbname=データベース名',
    user              => 'データベースユーザ',
    password      => 'データベースパスワード',
    options         => {},
    relationships => 1
);
1;

package MyApp::Model::CDBI::Users;

use strict;
use base 'MyApp::Model::CDBI';

__PACKAGE__->db_Main->do( q(SET NAMES utf8) );
__PACKAGE__->set_up_table('users');
1;

上記はCatalystのModel例。

ちなみにDBICは下記のような感じでいけるらしい

__PACKAGE__->connection(
    'dbi:mysql:foo',
    'root',
    {
        on_connect_do => ['SET NAMES utf8'],
    },
);

2007年05月30日

ZARD

Golden Best ~15th Anniversary~ (通常盤)Golden Best ~15th Anniversary~ (通常盤)
ZARD

ビーグラムレコーズ 2006-10-25
売り上げランキング : 1

Amazonで詳しく見る
by G-Tools

ネットで訃報を見て愕然としました。ファンという訳ではないしCDは一枚も買ったことがなかったけれど、最も音楽を聴いていた頃に何度となく口ずさんでいました。好きな曲なら、いくつもあった。

そんなに聞いてたわけでもないし近頃は存在すら忘れかけていたのに、自分でも驚くほど衝撃を受けました。悲しいです。

週末になったら、一枚目のZARDのCDを買いに行きます。

About 2007年05月

2007年05月にブログ「Re::Monologue」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2007年04月です。

次のアーカイブは2007年06月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。