ZipドライブをSolaris2.6マシン(SPARC Ultra1)につなげてみました。 UNIXは一般にリムーバブルドライブを苦手としていると 思っていましたが、意外にすんなり使えてしまい少々驚いています。
やるべきことはそんな多くないのですが、詳しく書いてたら やたら長くなってしまいました。 要するに
format
(1M) でディスクラベルを書く
newfs
(1M) でufsにする
$Id: solzip.html,v 1.17 2000-06-01 00:55:44+09 kabe Exp $
当然というかなんというか、このドライブはSolarisでの動作保証は していません。 iomegaのサイトには Solarisへのつなぎ方の解説 があるんですが、表玄関からは たどれなくなっているのでサポート外になったのかもしれず。
このテのデバイスのつなぎ方には色々な選択肢があり、
▽マウントの方法: | mount を直接発行 |
---|---|
automount (1M) にやらせる | |
vold (1M) を使う | |
マウントしない (デバイスを直接たたく) | |
▽ファイルシステム: | ufs で使う (mount -F ufs) |
pcfs で使う (mount -F pcfs) | |
pcfs で使う (mtools) | |
なし (単なるシーケンシャルファイルとして使う) |
今回行なったのは
automount にマウントさせると、automountの特性上、 使い終ってから5分経たないとアンマウントされず、 イジェクトできないというハンデがあります。 (タイムアウトはもちろん変えられますが) voldでも不便はないので、rmscsiドライバがない環境での 方法だと思います。
通常のハードディスクなどを接続する手段と同じです。
念を入れるなら、モニタプロンプトでprobe-scsi
して認識されることを確認します。
/etc/vold.conf
を見ると、rmscsi と書かれた行が
コメントアウトされているので、このコメントを外します。
# use rmscsi drive /dev/rdsk/c*s2 dev_rmscsi.so rmscsi%d ↑これを外す
外したら vold を再起動します。
# /etc/init.d/volmgt stop # /etc/init.d/volmgt startvold は
/var/adm/vold.log
にログを吐くのですが、
デフォルトでは非常に寡黙です。
初めのうちは本当に vold が動作しているのか、ちゃんと認識しているのか
わかりにくいので、あらかじめ/etc/init.d/volmgt を修正して
/usr/sbin/vold -L 14 1>/dev/console 2>&1 &と、ログレベルを上げてやると、 認識しない・ラベルが読めないなどの区別がつくようになります。 ほったらかしておくとやたらにログが増えるので、 動作確認したら元に戻しておきましょう。
この段階でも挿入・イジェクトはできるので、試してみるのもよいかも。
イジェクトは eject rmscsi
で行ないます。
rmscsiドライバは、Solaris2.6から標準装備となりました。 2.5の場合はソースを入手してコンパイルするようです。 もちろんSunは公式サポートしてません。 くわしくは 「voldにZipやMOを管理させよう(Solaris 2.5.1)」 あたりを参照して下さい。
format.datに記述を加えてやらんとformat
コマンドが
使えないので、素直に書きます。
以下を /etc/format.dat
に書き加えます。
# # iomega ZIP disk # disk_type = "ZIP 100" \ : ctlr = SCSI \ : ncyl = 2406 : acyl = 2 : pcyl = 2408 : nhead = 2 \ : nsect = 40 : rpm = 3600 : bpt = 20480 partition = "ZIP 100 whole" \ : disk = "ZIP 100" : ctlr = SCSI \ : 0 = 0,192480 \ : 2 = 0,192480"ZIP 100" などの表記は人間が読むためのもので、別に SCSIの シグネチャ と照合しているわけではないので、適当に変えてもかまわんようです。
format
(1M) でディスクラベルを書く
newfs
(1M) でufsにする
ここからは root でなくても一般ユーザー権限で可能です。
メディアを突っ込んだ段階で vold が動作し、 /vol/dev/aliases/rmscsi0 といったエントリが生成されます。 生ディスクであればラベルもファイルシステムもないので、 ほかにこれといった動作はしませんが、 /var/adm/vold.log に「ラベル見つかんねーぞ」等が残るので、 トラブった時は確認してみて下さい。
イジェクトした後、再度挿せば今度は /rmscsi/rmscsi0
に
マウントされて使えるようになります。
実際には /rmscsi/rmscsi0 はシンボリックリンクで、マウント自体は
/rmscsi/ボリューム名 (なければunnamed_scsi)
に対して行なわれます。
このため、/rmscsi/rmscsi0 を 直接share
(1M) しようと
しても思い通りにはいきません
(試してみよう。共有したいなら rmmount.conf を使う)
ファイルシステムを作ってしまえばあとはフロッピー感覚です。
ufs形式なので、このメディアは Windows とかに突っ込んでも読めないんですが、 ローカルで使う分にはSamba等で共有してしまえばさほど不便しません。
% format /vol/dev/aliases/rmscsi0 format> volname Enter 8-character volume name (remember quotes)[""]:ボリューム名 format> quit
(fmthard -n volname /vol/dev/aliases/rmscsi0 でも いいのかもしんない)
取り出したメディアは -r--------
であろうと
中身は誰でも読めるので、
他人に読まれたくないデータはちゃんとパスワードでロックしましょう。
-rw-r--r-- 1 kabe bsgroup 89718784 May 11 20:31 zero
-rw-r--r-- 1 kabe bsgroup 97673216 May 11 20:48 zero
% volrmmount -e rmscsi % tar cf - directory | gzip -9 | dd of=/vol/dev/aliases/rmscsi0 bs=40k
postexec = /usr/bin/eject rmscsiと書けば可能と言えば可能。 クライアント側から net use \\hostname\sharename /delete とするとイジェクトされます。
kabe@imzp3188% /usr/ucb/df Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t5d0s0 86877 79919 6872 93% / /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd swap 72904 16 72888 1% /tmpディスクラベルを書き込んでおけば suninstall は認識してくれます。 100MBしかないのでコツがいりますが、 動き出せば結構使えます。意外に遅くない。 (メモリ128MBが効いてるのかも)
ただ、それで何が嬉しいとか いうことがあまりない。せいぜい CDROM よりブートが速いて程度か…
dd if=/dev/zero bs=512 count=1 of=/vol/dev/dsk/rmscsi0
(ブートセクタを書き潰す)
ls -R /vol/dev/rdsk
して、名前が "unlabeled" に
なったかどうか確認 (書き潰すとすぐに反映されるらしい)
快適に使えてはいるのですが、 稀に voldが死んだり、OS全体がクラッシュしたりすることが ありました。 普通に使っているぶんには問題なさそうなんですが、 voldの挙動実験なんかで酷使すると vold が死んでしまう場合があります。
voldが変死すると /volが変な状態になってしまうので、
伊達に rmscsi はコメントアウトされてるわけではなさそーです。 すぐに管理者を呼べないマシンではちと危険かもしれません。
なお、本ドキュメントは
HTML3 Table Model
を使用しているため、NetscapeやMSIEでは正常に表示されない可能性がある
くせに Mosaic-L10Nをも考慮したデザインになっております。