OpenBSDの特徴?

研究室内で必要になって、OpenBSDLDAPサーバとロギングサーバを立てる事にした。

CentOSでも良かったのだけども、近くにFreeBSDの凄い人が居るので、BSD系が良いかなと。そこで、BSDと言ったら、LibreSSL等でOpenBSDチームが頑張っているって言う話を最近聞くので、OpenBSDにした。

OpenBSDの特徴

RAID

ちゃんとRAIDを組んだ後、その上に対話的にインストールできる。

Olivier's Blog: OpenBSD 5.1 installation on softraid(4)

RAID上にLinuxをインストールした経験は無いけど、LVM上にインストールした経験からして、NixOSでも簡単に出来そうだけど、Gentooだと難しそう。

ただ、残念な事に、HP Dynamic SmartアレイB120i/B320iコントローラーをサポートしていないので、必然的にソフトウェアRAIDで組まざるを得なかった。

HP Support document - HP Support Center

インストール

対話的にインストールできる。とても簡単。 気になった事と言えば、インストーラが自動でパーティションを大量に切ってくれた事かな。

パーティション

OpenBSDは、通常のパーティションテーブルで定義されたパーティションを一つ確保した上で、更にOpenBSDパーティションを切る事になる。 デバイス名が/dev/sd0a「デバイスsd0上のパーティションa」とか/dev/sd1f「デバイスsd1上のパーティションa」になる。

あと、なぜかcパーティション、即ちsd0c等はディスク全体を意味するようである。よくわからん。

環境

シェルがkshだった。

パッケージ管理

pkg_add 等を使う。 15 - The OpenBSD packages and ports system

次項にも書くけど、Gentooで言うところのdispatch-conf的な仕組みは無いようだ。

デーモン

/etc/rc.d/rc.conf.localに起動するデーモンとその引数を記述するようだ。

10 - System Management

その他

インストール方法等解説が全てQ&Aにあるのはなぜ?

OpenBSD Frequently Asked Questions

X10 on Gentoo Linux amd64

X10言語処理系のebuildを書いた。ビルド自体は何の障害も無く、ドキュメント通りにすれば通ったのであまり苦労しなかった。
自作のproof-overlayに置いておくので、d:id:na4zagin3:1320755758 に沿ってオーバーレイを追加した後、

    emerge dev-lang/x10

でインストールされる。

X10の謎のエラー

コマンドラインでも使えるようにX10のebuildを書いていたんだけど、途中のテスト段階で謎のエラーが発生してた。

% x10c++ -o helloworld helloworld.x10
% X10_NPLACES=1 ./helloworld 
Hello World from place0
% X10_NPLACES=4 ./helloworld 
FATAL Error 0 : cannot resolve remote hostname: Success
FATAL Error 0 : cannot resolve remote hostname: Success
FATAL Error 0 : cannot resolve remote hostname: Success

といった感じ。

結論から言うと、分散処理をする際にhostnameを取得して、そのhostnameを名前解決して通信をしようとしてるみたいなんだけど上手く行ってなかったみたい。
hostnameを/etc/hostsに追加することで上手く動くようになった。

% x10c++ -o helloworld helloworld.x10
% X10_NPLACES=1 ./helloworld 
Hello World from place0
% X10_NPLACES=4 ./helloworld 
Hello World from place1
Hello World from place3
Hello World from place2
Hello World from place0

X10という言語

もしかしたら使うかもしれないので、X10という言語について調べてみた。
本家Webページは http://x10-lang.org/index.php にある。並列計算が書きやすいように工夫されたJavaといった感じ。
処理系はEclipseのプラグインであるX10DTを入れるのが簡便みたい。
最新バージョンであるX10DT 2.2.2.2のインストール方法は、 http://x10-lang.org/documentation/getting-started/x10dt-installation.html にあるとおり。自分はEclipse Update Managerを使ったインストールをした。

とりあえず、チュートリアルに載ってるサンプルを動かしてみる。