From owner-freebsd-users-jp@FreeBSD.ORG Thu Feb 26 04:02:37 2015 Return-Path: Delivered-To: freebsd-users-jp@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4A1A1F92 for ; Thu, 26 Feb 2015 04:02:37 +0000 (UTC) Received: from amogha.ism.ac.jp (amogha.ism.ac.jp [133.58.120.10]) by mx1.freebsd.org (Postfix) with ESMTP id C4BA2176 for ; Thu, 26 Feb 2015 04:02:36 +0000 (UTC) Received: from paksa.ism.ac.jp (amogha-b.ism.ac.jp [133.58.15.1]) by amogha.ism.ac.jp (8.14.3/8.14.3) with ESMTP id t1Q42Yeu027122; Thu, 26 Feb 2015 13:02:34 +0900 (JST) (envelope-from maruyama@paksa.ism.ac.jp) Received: (from maruyama@localhost) by paksa.ism.ac.jp (8.13.6/Maru1.2/Submit-local) id t1Q42Ybt019231; Thu, 26 Feb 2015 13:02:34 +0900 (JST) (envelope-from maruyama) Date: Thu, 26 Feb 2015 13:02:34 +0900 (JST) Message-Id: <201502260402.t1Q42Ybt019231@paksa.ism.ac.jp> To: hiroo.ono+freebsd@gmail.com In-reply-to: (hiroo.ono+freebsd@gmail.com) From: maruyama@ism.ac.jp (=?ISO-2022-JP?B?GyRANF07M0Q+PjsbKEo=?=) Reply-to: maruyama@ism.ac.jp Organization: =?ISO-2022-JP?B?GyRCRX03Vz90TX04JjVmPWobKEI=?= Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-2022-jp Cc: freebsd-users-jp@freebsd.org Subject: [FreeBSD-users-jp 95464] Re: =?utf-8?b?U1NE44Kz44OU44O844Gn44OP44Oe44Gj44Gm44G+44GZ44CC?= =?utf-8?b?77yI6KW/5p2R77yJ?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 04:02:37 -0000 統計数理研究所の丸山です。 >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 -) も、いずれも恐過ぎてできませんね。ちょっと工夫が必要かな? -------- 丸山直昌@統計数理研究所