2011年5月29日日曜日

linux: squashfs

Linux でバックアップ方法をしらべていて、squashfs というものを知った。

wikipedia.ja 曰く、SquashFS (.sfs) は Linux 向けの 圧縮された読み込み専用ファイルシステムである。

古典的な dump/restore だと、restore するまで中身を知る術がない。 今回は、使わなくなったホストを潰す、HDD の中身は必要ないはずだけど念の為保存しておきたい、 が目的だったので、dump/restore 以外の方法を調べていた。

作成は簡単で次のようにする:

# mksquashfs /etc /tmp/etc.sqfs -noappend
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on /tmp/etc.sqfs, block size 131072.
(snip)

ちゃんと cpu 2 つ使っているようだ。

更に fs というくらいで、disk image を mount することもできる:

# mount -o loop -t squashfs /tmp/etc.sqfs /mnt/tmp

これで心置きなくデータを消去できる。

ただ、出力先に stdout を指定できないのはちょっといけてない。 stdout に吐いて ssh なりに渡してリモートに保存、ができない。 一旦ファイルの保存してコピーするのは実に面倒だし、保存するための空き容量も見積る必要がある。

/dev/stdout か named pipe でできるかなと試してみたけど、やっぱりだめだった。

0 件のコメント:

コメントを投稿