おがさわらなるひこのオープンソースとかプログラミングとか印刷技術とか

おがさわらなるひこ @naru0ga が技術系で興味を持ったりなんだりしたことをたまーに書くブログです。最近はてなダイアリー放置しすぎて記事書くたびにはてな記法忘れるのではてなブログに移行しました。

クリエイティブ・コモンズ・ライセンス
特に断りがない場合は、本ブログの筆者によるコンテンツは クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。

東京 openSolaris 勉強会 for びぎなーず 2009.12

えっと、いつもながらですが、2009.12.12 に行われた openSolaris 勉強会「びぎなーず」に参加してきました。
これなぜだか毎回「君はびぎなーずじゃないでしょ?」と言われるんですけど、openSolaris 勉強会ってびぎなーずと無印(という言い方が定着してきた)って参加者のレベルの上下じゃないんですよね。あくまでも「ユーザーランドか」「カーネルレベルか」という話。
だからもちろんカーネルレベルも興味はむちゃくちゃあるんだけど(特に今回のテーマはね……)、業務(今は停止中だけど)上も個人的関心事もユーザーランドな僕は「びぎなーず」なのです。

ま、この件については後述。

えー、毎度ながら、講師の塚本 az つかまんさん、佐藤 az satokaz さん、会場提供その他各種手配にご尽力いただいた Sun のみなさま、懇親会などで楽しくお話させていただいた皆さんに感謝!

でも大人なんだから、終電はちゃんと逃さず帰りましょう(笑)>特にMさん

今回のお題は二つ。

ZFS 入門 by 塚本さん

確か私が始めて参加した勉強会が8月だった気がするのですが、そのときに zpool の話をしていただいて (資料こちら)、その続きとして、ついに zfs コマンドの解説が。
なお講師のつかまんさんの野望によれば zpool, zfs が終われば次は ZONE やって Crossbow で〆、みたいな構想らしいです。楽しみにしてますよー。

んで、ZFS すげーとか、中身がどーとかはいっぱいメディアとかドキュメントにそろってるので、とにかくコマンドで実際操作してみようというのが今回の趣旨。
zpool を作ったりするのは mkfile で作った適当なファイルでもできてしまうし、仮想環境でディスクイメージを作ったりするのも簡単なので試すが吉。

実はですねー、IRC で記録垂れ流してたら、あんまり議論にも参加してないし(まあびぎなーずは参加者の雰囲気から行って議論が活発という感じではないですが)実のところ資料以外にどんな話をしたかあまり覚えていないのですが、今見直したらそんなに補足すべき点はないかな?

資料は Google Docs で公開されています のでごらんあれ。

単純に感想を述べると

  • ファイルシステム = pool 上に乗っかるプロパティが同じ塊、という見方は新鮮
    • inherit で親からプロパティを継承できるとかが面白い
  • マウント・アウンマウントは zfs コマンドのサブコマンドでやる
    • 設定ファイルしこしこ書く必要なし!
    • やりたければレガシーモードもあるけど……
  • デスクトップユーザから見るととにかく snapshot / rollback / clone が便利すぎ
    • タイムスライダーとか鼻血でそうになるぐらい使える

つかまんさん、どうもありがとうございました!
この勉強会に出てるときには買うつもり全くなかった我が宅鯖、ML115君で遊ぶときの参考にさせていただきます!

Dev で楽しい openSolaris ライフ by 佐藤さん

Dev ってのは openSolaris の開発版。

ちゃんとバージョンがついて出る Release (2009.12 現在の最新は 2009.06)、ある程度固まって出る Dev (Developer Repository)、毎日変更が突っ込まれる Nightly Build とかあるけど、openSolaris はせっかく ZFS でブート環境取っておいて後戻りできる仕組みあるんだから Dev 使ってバグ出し今のうちにしておこうよ、というお話。

けっこうですね、今の 2009.06 って、zfs とかのサブコマンドを LANG=ja_JP.UTF-8 で実行するとコケることが多いらしいんですよ。どうやら Pythongettext まわりがバグってるんじゃないかということなんですが。
もう「使えば分かる」ようなレベルのバグが放置されているってことは、日本人だれも openSolaris 使ってないんじゃないの? なにそれ? って感じなので、そろそろ次の Release の〆も見えてきた今のうちに叩いておきましょうよと。

資料では Dev 環境を ISO イメージから構築するようになっていますが、リポジトリを dev に切り替えればユーザー環境 (BE) が別に作られるので*1、beadm コマンドでいつでも元に戻せる。これが openSolaris で気軽に開発版を使える秘密だったりするわけです。
まあ、だからといって Nightly Build をおっかけるのはややしんどいですが (^^;)

openSolaris / 商用版Solaris / いろんな fork プロジェクトの関係 (Nevada とか O/N といった用語も含めて) とか、開発スケジュールがどういうところにあって、そこから正式版がいつ出るかがどうわかるとか、実際に Dev どう使うかとか、バグが出たらどう報告するかとか、それが Sun の社内のプロセスとどうリンクしていくのかとか、そういう話は非常に興味深かったですよ。

これも記憶が忘却の彼方なので資料 (リンク先PDF、注意) を出してごまかします。

びぎなーずと無印の関係

懇親会兼忘年会でこういう話になったので、ちょっと考えをまとめておく。

さっきも書いたように、無印はカーネルレベルの勉強会であって、びぎなーずはユーザーランドの勉強会なんですよね。参加者のレベルの違いではない。対象としている世界が違う。

そりゃーね、ネットワークの応答性で電圧がどーだこーだとか、資源管理の基本はファイルシステムにありとかそういう話も面白いとは思うけど、つか体が二個あったら両方の勉強会出たかったさ!

ただ、オープン OS としての openSolaris をどうよくしていくかってことを考えたらユーザーランドの話と開発プロセスの話とかコミュニティ論とかの方がぼくには優先順位が高い。

しかしながら、実のところびぎなーずで講師やってくださってるみなさんも、ほんとは無印でギンギンに熱い議論をしたかったりするんじゃないのかと思うとそれはややもったいない。
となると、びぎなーずを卒業して行く先は無印ではなく、びぎなーずの講師、という風になればいいなーと思ったりする。僕もいつか印刷については真面目に調べて話したいし。

という視点で考えると、毎回でなくてもいいけど、びぎなーずで何ヶ月かに1回ぐらい一枠2時間=15分x4人ぐらい取って、小江戸らぐでやっているような「活動報告」とか、LTに毛が生えたようなことをやってみたらどうだろうかなーと思っていたりする。例えば僕ならML115買ってベアメタルで Dev 入れました、印刷屋なので印刷まわり調べたらこういう構成でした。ついでに原口さんのブログまねっこしてlxzone作ってドライバ入れてみました。とかなんとかね。1時間しゃべれと言われたらきついけど質疑応答入れて15分なら割と気軽にできるんじゃないかな?

ついでに、びぎなーずで openSolaris のソースツリーの構成(これは8月の勉強会のもう一個のお題だったりしたような)とか、CDDL の解説とか、無印ってどんなことやってるのって入門とか、そもそもカーネルとはなんじゃらほいとか、そういう「無印にもつなぐ」びぎなーずがあってもいい気がするなぁ。


ということで自分ブログなので未整理なアイディアを書いてしまいましたが、次回勉強会で賛同者がいたらMLにも投げようかな〜と思っています。

*1:さらに作られた BE はちゃんと GRUB の選択肢に乗るので、あげてみて動かなかったら一個前のを GRUB で選んで立ち上げ直すだけ。