2008年7月27日日曜日

DragonFly 2.0 on Parallels Desktop

File -> New...

・ installation mode の選択
ラジオボタン Custom を選択 -> Next

・ OS の選択
OS Type .... DragonFly は当然ながら無いので、
FreeBSD を選択 (4.8 から fork したし)

OS Version ... 適当に FreeBSD 6.x を選択 -> Next

・メモリ使用量の設定
256MB でよしとする

・仮想ハードディスクオプションの選択
Create a new hard disk image

・仮想ハードディスクの容量
少なめで 12000 MB
ラジオボタンは Expanding(recommend) のまま

・ネットワークオプション
Bridge Ethernet を選択 -> Next

・仮想マシン名
DragonFly

more options で Create icon on Desktop のチェックを外す。アイコン要らん。

・パフォーマンスの最適化
Virtual machine (recommended) のまま -> Next

インストールCD いれろと言われるので more options で、落としておいた dfly-2.0.0_REL.iso を選択

Start FreeBSD 6.x installation チェックのまま、Finish

あとは boot 後 installer [Enter] してインストーラに入り、ふつーにいれる。



- 入れた後
・ pkgsrc とってくる
# cd /usr (ここに Makefile がおいてある)
# make pkgsrc-checkout (しばし放置)

とってきたら /usr/pkgsrc/[カテゴリ]/[アプリケーション] 以下で
# bmake install

すれば入る。個人的には bmake package かな

** bmake は特に指定しなければ、OSインストール時にパッケージで入れてくれる
(/usr/pkg/bin/bmake)

# pkg_info bmake
Information for bmake-20051105nb4:

*** PACKAGE MAY NOT BE DELETED ***
Comment:
Portable (autoconf) version of NetBSD 'make' utility

Requires:
bootstrap-mk-files-[0-9]*

Description:
bmake is a portable version of NetBSD's make(1) utility,
conveniently packaged using a configure script, for other environments
which may lack NetBSD's libraries, regular expression code, etc.

Homepage:
http://www.crufty.net/help/sjg/bmake.html

*** PACKAGE MAY NOT BE DELETED ***

apache2.2 で worker MPM 指定で入れる例
# cd /usr/pkgsrc/www/apache22
# bmake APACHE_MPM=worker bmake install

pkgsrc に portupgrade のようなのあるのかな。。

・起動周り
rcNG はけっこー前に merge されてるので FreeBSD と同じように設定。
(rcNG の元は NetBSD だけども)


・HAMMER Filesystem
/sbin/hammer にそれ用のコマンドあり。まだいじくってない。

# hammer
hammer -h
hammer [-v] [-t seconds] [-c cyclefile] command [argument ...]
hammer synctid [quick]
hammer namekey[32]
hammer prune
hammer prune-everything
hammer snapshot [filesystem]
hammer bstats [interval]
hammer iostats [interval]
hammer mirror-read [begin-tid]
hammer mirror-write [file ...]
hammer mirror-dump
hammer mirror-copy [[user@]host:] [[user@]host:]
hammer reblock[-btree/inodes/dirs/data] [fill_percentage]
hammer pfs-status
hammer pfs-master [options]
hammer pfs-slave [options]
hammer pfs-update [options]
hammer pfs-upgrade
hammer pfs-downgrade
hammer pfs-destroy
hammer history[@offset[,len]] ...
hammer -f blkdev[:blkdev]* [-r] show [offset]

man 見ると、バージョン 1.11 からあるらしい

HISTORY
The hammer utility first appeared in DragonFly 1.11.


・gcc
3.4.6 と 4.1.2
# gcc -v
Using built-in specs.
Target:
Configured with: DragonFly/i386 system compiler
Thread model: posix
gcc version 4.1.2 (DragonFly)
# env CCVER=gcc34 gcc -v
Using built-in specs.
Configured with: DragonFly/i386 system compiler
Thread model: posix
gcc version 3.4.6 [DragonFly] (propolice, visibility)

2008年7月23日水曜日

DragonFly 2.0

HAMMER filesystem がどんなもんか気になるなー。

DragonFly - July 2008 Release 2.0.x Download

HAMMER filesystem released!

* Crash recovery on-mount, no fsck.
* Fine-grained snapshots, snapshot management, snapshot-support for filesystem-wide data integrity checks.
* Historically accessible by default.
* Mirroring: Queueless incremental mirroring, master to multi-slave.
* Undo and rollback.
* Reblocking.
* Multi-volume, maximum storage capacity of 1-Exabyte.

2008年7月21日月曜日

だんまり

X32 で CURRENT を buildworld してるといつのまにやら固まってる。。
パニックのメッセージなどは皆無。この現象は初めてだな。
-j なしでやってみるか。

Apache モジュール

「なんかつくってみれ」といゆーことで、
実用的ではないけどまぁサンプルみたいなものを書いてみた。
そういや Apache モジュールつくるの初。

なにはなくとも
apxs -g -n モジュール名
でスケルトン作成

あとは適当なコードを漁って参考にして
書く、コンパイル、インストール、Apache リスタート、動作確認
繰り返し。

とりあえず「動く」ものはできた。世に出すような役立ちモジュールではないんだけどね。
Apache モジュールの雰囲気がなんとなくわかったのでそれなりの収穫。

感想:Apache があぼーんしまくって大変。。

本棚に眠ってた Apache モジュール本をひっぱりだしてみたのは言うまでもない。

2008年7月13日日曜日

10Gイーサ

10Gイーサのモデルがあるサーバを前に、

「10G、何に使うんですか(・∀・)ニヤニヤ」

とかる〜く言ってみたら

「IPストレージでつかうでしょっ(やや怒り気味)」

いや、まぁそーなんだろうけど、、サーバだけ10Gイーサでも
だめじゃん、、、

2008年7月6日日曜日

FreeBSD の port を作った

FreeBSD の port を書こう を元に、簡単なのを書いてみた。

まえ Porter's Handbookを見て途中まで書いてたものを今回書き直した。
(port で make するとコンパイルエラーになってて投げ出してたんだな。。)

コンパイルエラーは、デフォルトで付けられる最適化を無くしたら解消した。-O0 にした。

とりあえずできあがったので、submit 。



submit したあとにしょぼいミスをしたことに気づいた。。orz....

突っ込みくるのを待ってみるテスト。

そうそう、作ってみた port は higepon さん作のmosh-scheme。自分は全然 schemer じゃないんだけど、ちょいとためしに port 作ろうと思って手頃そうなのを探したところ、 mosh-scheme になった。

追記:
どうも、send-pr したつもりが亜空間へ消えているくさいんでやりなおそう。。

追追記:
今度は spam 扱いされたので web interface で send-pr した、、
こんなところではまるとは、、、orz..

2008年7月2日水曜日

q4m を FreeBSD 上でインストールだけしてみた

---
たまにアクセスきてるようなので追記:

ports が作られたのでそれを使うのがいいでしょう
-> ports/databases/mysql-q4m
---


・q4m というものの存在を知る
・どうも対象は GNU/Linux, Mac OS X, Solaris ぽい
・FreeBSD だとコンパイルできるのかしらん
・ものは試し

ぐぐると、すでにFreeBSD 上でインストールしてみたという人がみつかる orz..

まぁそれはそれで。
同じようにやってみるテスト。

環境:
FreeBSD 8.0-CURRENT

準備:
・MySQL-5.1.25-rc を 入れる
・boost を portinstall devel/boost で入れる

src/queue_cond.h を下記の通り修正
@@ -265,7 +265,7 @@
};
struct pow_func : public binary_op {
value_t bop(const value_t &x, const value_t &y) const {
- return value_t::int_value(static_cast(powl(x.l, y.l)));
+ return value_t::int_value(static_cast(pow(x.l, y.l)));
}
};
powl -> pow にしただけ(long double -> double.. )
* powl は FreeBSD にはない模様
* ports の math/ldouble いれればいいのかもしれない(?)

configure
% CPPFLAGS="-I/usr/local/include" ./configure --with-sync=fsync --with-mysql=/home/katsuji/src/mysql-5.1.25-rc --prefix=/usr/local/mysql

* --with-sync は fsync を指定しないと fdatasync 無いよと言われて通らない

そのあとは make, make install

で入りましたとさ

% ls -1 /usr/local/mysql/lib/mysql/plugin/libqueue_engine.*
/usr/local/mysql/lib/mysql/plugin/libqueue_engine.a
/usr/local/mysql/lib/mysql/plugin/libqueue_engine.la
/usr/local/mysql/lib/mysql/plugin/libqueue_engine.so.0.0