統計数理研究所の丸山です。 >Date: Thu, 26 Feb 2015 11:51:46 +0900 >From: Hiroo Ono (小野寛生)
>10.xRでは /dev/なんちゃらは /dev に devfs をマウントして自動で生成されるので、元が10.1Rなこの例では >/dev の下は空なはずです。 あ、そうか。私の 9.1で umount したルートパーティションに /dev/null が あったので、それで勘違いしてしまったようです。 devd が /dev をマウント するので、下に何があっても見えない(関係ない)はずですね。 .... でも devd が動き出す前にどれかのプロセスが /dev/null にアクセスし たらどうなる?いや、いくら何でもOS設計者はそんなヘマやっていないでしょ うね。(以上独り言) >私も dump & restore (か cpio? うろ覚えです) でないと失われる属性があるよと教わりましたが、 >そういえばいまどきの tar でそのあたり大丈夫なのか知りません。 やってみましたが、今時の tar は、その点かなり弱点が少なくなっているように思います。 FreeBSD 9.1 で # (cd /dev; tar cf - null)| (cd /tmp; tar xfp -) # ( cd /; tar cf - rescue)| (cd /tmp; tar xfp -) # (cd /usr; tar cf - lib)|(cd /tmp; tar xfp -) はすべて問題は起こりませんでした。つまり special file, hard link, schg flag、すべて忠実にコピーされました。 それでも私は dump + restore を勧めたいです。それは /dev の下の扱いがOS のバージョンによって異なっていて、 /dev の部分のコピーについて、OSバー ジョン毎の配慮が必要になるからです。 dump + restore は、SunOS4.1、 Solaris 2.6, SunOS5.8, 5.9 5.10、 FreeBSD 1.x 〜9.x まで、すべて同じよ うに使えます(linuxは使ったことないです)。25年間この方法を使っています。 tar がいかに進歩しても、この用途でdump + restore を越えることはないで しょう。同じになることはあっても。 西村さんが dump + restore でうまくいかなかった理由は restore の作業領 域不足が原因だろうと想像します。liveCDでFreeBSD(に限らずUNIX)を動かす と memory file system にルートパーティションを作るので、簡単にメモリ不 足と /tmp 不足が起こります。この事情はSunOS4.1 の時代にもあって、 restore では太古の昔から TMPDIR という環境変数で /tmp の代わりの場所を 指定できるようになっています。 dump 0f - /dev/ada0p2 |(cd /tmp/x; env TMPDIR=/xxx/yyy restore rf -) という感じ。でもドライブが二つしかなくて >#mount /dev/ada0p2 /mnt >#mount /dev/ada1p2 /tmp/x だと dump 0f - /dev/ada0p2 |(cd /tmp/x; env TMPDIR=/tmp/x restore rf -) も dump 0f - /dev/ada0p2 |(cd /tmp/x; env TMPDIR=/mnt restore rf -) も、いずれも恐過ぎてできませんね。ちょっと工夫が必要かな? -------- 丸山直昌@統計数理研究所 _______________________________________________ freebsd-users-jp@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"