NetBSD 5

NetBSD 5は思ったより進んでいた。ちゃんと 主な変更点 のドキュメント読まないと便利な新機能を見のがしそうだ。

気に入ったトピックを2つ

Userspace FSの充実

Opensource magazineにFUSE(FS)の紹介記事を書いたこともあったが, システム標準でないのはいまいち使いづらい。カーネル用ヘッダファイルが 変わったりすると使えなくなっちゃうし。なんてなことで, 便利そうとは思いつつ全然使っていない fuse-fs であった。

で,NetBSDではPUFFSが実験的に進められていたが,NetBSD5で rumpと同時にやってきた。いえーい。

試験的だった頃のpuffsを用いた ssshfs は確かにマウントできるが 遅かった。こんどの mount_psshfs(8)は普通の速さでめでたしめでたし。 ファイルサーバとなるリモートホスト側でsftpを有効化しておく必要がある。

これと,usermount を組み合わせるとかなり融通の利くファイル システムになる。/etc/sysctl.conf

vfs.generic.usermount=1

と書くか,コマンドラインで sysctl -w vfs.generic.usermount=1 する。 どうせこれを使うユーザは wheel に入っているだろうから, /dev/putter を wheel グループでR/Wできるようにしておく。

crw-rw----  1 root  wheel  178, 0 May  3 01:09 /dev/putter

そしたら,一般ユーザの自分が所有するディレクトリにマウントできる。 ssh/sftpでログインできるリモートホストに対して,

mount_psshfs remotehost:dir mountpoint

すればOK。だいたいsftpの転送速度と同じ。

ただ、たとえ一般ユーザ権限でマウントしたとしても、マウント先の マウントディレクトリ以下のファイルは全て見えてしまうのでそこは注意。

rumpのほうは、関連コマンドがいっぱい増えた。

cd /usr/sbin
ls rump*
rump_cd9660*    rump_ffs*       rump_msdos*     rump_syspuffs*  rump_udf*
rump_efs*       rump_hfs*       rump_nfs*       rump_sysvbfs*
rump_ext2fs*    rump_lfs*       rump_ntfs*      rump_tmpfs*

rump_ffs は、vnodeイメージを直接マウントできる。

rump_ffs ./hoge.ffs /mnt

みたいな感じ。

ACPI suspend/resume

世の中apmが廃れて、ACPIだけの時代になって久しい。ThinkPad X61に してからサスペンドははなっからないもんと思っていたのだが(というか X21のときほど使ってないってのが真相…)、 NetBSD5でACPIサスペンドが何ごともなかったかのように行けて 拍子抜け。試験段階ではXの画面からサスペンドするとダメって書いてあるが NetBSD 5.0 では行けますな。リジュームも問題なし。音も出る (X21+apm-suspendのときは音がNGだった)。ただ、Xの画面のままサスペンドをす るとコマンド入力したときのリターンキーの press event だけが 伝わって、releaseイベントが行かずに起き上がるのでリターン押しっぱなし 状態になる。なので、

sleep 1; sysctl -w machdep.sleep_state=3

と完全にキーを話した状態にするのがいいかも。ついでに ネットワークインタフェースを down したままになるので ifconfig wm0 up とかをあらかじめいれておいた方がいいか。 これってスクリプトはどこに置けばいいの?